00001
00002
00003
00004 #ifndef xmlBase_EResolver_h
00005 #define xmlBase_EResolver_h
00006
00007 #include <xercesc/util/XercesDefs.hpp>
00008 #include <xercesc/util/XMLEntityResolver.hpp>
00009 #include <xercesc/sax/InputSource.hpp>
00010 #include <vector>
00011 #include <string>
00012
00013 XERCES_CPP_NAMESPACE_BEGIN
00014 class XercesDOMParser;
00015 class XMLResourceIdenifier;
00016 XERCES_CPP_NAMESPACE_END
00017
00018 namespace xmlBase {
00019
00020 class EResolver : public XERCES_CPP_NAMESPACE_QUALIFIER XMLEntityResolver {
00021 public:
00022 EResolver();
00023 virtual ~EResolver();
00024
00025 virtual XERCES_CPP_NAMESPACE_QUALIFIER InputSource*
00026 resolveEntity(XERCES_CPP_NAMESPACE_QUALIFIER XMLResourceIdentifier* xmlRI);
00027
00028 void clean();
00029 private:
00030
00031 unsigned m_nEntity;
00032 std::vector<std::string*> m_entities;
00033
00034 XERCES_CPP_NAMESPACE_QUALIFIER InputSource*
00035 translateEnv(const XMLCh * id, const XMLCh * baseURI);
00036 };
00037
00038 }
00039 #endif