00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017  
00018 
00019 
00020 
00021 
00022 #if !defined(XMLENTITYHANDLER_HPP)
00023 #define XMLENTITYHANDLER_HPP
00024 
00025 #include <xercesc/util/XercesDefs.hpp>
00026 
00027 XERCES_CPP_NAMESPACE_BEGIN
00028 
00029 class InputSource;
00030 class XMLBuffer;
00031 class XMLResourceIdentifier;
00032 
00043 class  XMLEntityHandler
00044 {
00045 public:
00046     
00047     
00048     
00049 
00052 
00056     virtual ~XMLEntityHandler()
00057     {
00058     }
00060 
00061 
00062     
00063     
00064     
00067 
00074     virtual void endInputSource(const InputSource& inputSource) = 0;
00075 
00087     virtual bool expandSystemId
00088     (
00089         const   XMLCh* const    systemId
00090         ,       XMLBuffer&      toFill
00091     ) = 0;
00092 
00098     virtual void resetEntities() = 0;
00099 
00120     virtual InputSource* resolveEntity
00121     (
00122         const   XMLCh* const    publicId
00123         , const XMLCh* const    systemId
00124         , const XMLCh* const    baseURI = 0
00125     ) = 0;
00126 
00142     virtual InputSource* resolveEntity
00143     (
00144         XMLResourceIdentifier* resourceIdentifier
00145     ) = 0;
00146 
00153     virtual void startInputSource(const InputSource& inputSource) = 0;
00155 
00156 
00157 protected :
00158     
00159     
00160     
00163 
00167     XMLEntityHandler()
00168     {
00169     }
00171 
00172 
00173 
00174 private:
00175     
00176     
00177     
00178     XMLEntityHandler(const XMLEntityHandler&);
00179     XMLEntityHandler& operator=(const XMLEntityHandler&);
00180 };
00181 
00182 XERCES_CPP_NAMESPACE_END
00183 
00184 #endif