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