00001 #ifndef XERCESPARSER_H_PROTECTOR
00002 #define XERCESPARSER_H_PROTECTOR
00003
00004 #include "xmlparser.h"
00005
00006 #include <string>
00007
00008 #include <xercesc/util/PlatformUtils.hpp>
00009 #include <xercesc/dom/DOM.hpp>
00010 #include <xercesc/dom/DOMImplementation.hpp>
00011 #include <xercesc/dom/DOMImplementationLS.hpp>
00012 #include <xercesc/dom/DOMErrorHandler.hpp>
00013 #include <xercesc/framework/StdOutFormatTarget.hpp>
00014 #include <xercesc/framework/LocalFileFormatTarget.hpp>
00015 #include <xercesc/framework/MemBufInputSource.hpp>
00016 #include <xercesc/parsers/XercesDOMParser.hpp>
00017 #include <xercesc/util/XMLUni.hpp>
00018 using namespace xercesc;
00019
00020 namespace afl
00021 {
00022
00026 class XercesParser : public XMLParser
00027 {
00028 public:
00029 XercesParser();
00030 virtual ~XercesParser();
00031
00032 virtual XMLNode* parseFile(const std::string& filename);
00041 virtual XMLNode* parseString(const std::string& xml);
00042
00043 private:
00044 XercesDOMParser* _parser;
00045 };
00046
00047 }
00048
00049 #endif
00050