00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #ifndef PARSER_HPP
00022 #define PARSER_HPP
00023 
00024 #include <xercesc/util/XercesDefs.hpp>
00025 
00026 XERCES_CPP_NAMESPACE_BEGIN
00027 
00028 class DTDHandler;
00029 class EntityResolver;
00030 class DocumentHandler;
00031 class ErrorHandler;
00032 class InputSource;
00033 
00057 #include <xercesc/util/XercesDefs.hpp>
00058 
00059 class  Parser
00060 {
00061 public:
00063     
00064     
00065     
00067 
00068     Parser()
00069     {
00070     }
00072     virtual ~Parser()
00073     {
00074     }
00076 
00077     
00078     
00079     
00098     virtual void setEntityResolver(EntityResolver* const resolver) = 0;
00099 
00115     virtual void setDTDHandler(DTDHandler* const handler) = 0;
00116 
00133     virtual void setDocumentHandler(DocumentHandler* const handler) = 0;
00134 
00152     virtual void setErrorHandler(ErrorHandler* const handler) = 0;
00153 
00179     virtual void parse
00180     (
00181         const   InputSource&    source
00182     ) = 0;
00183 
00203     virtual void parse
00204     (
00205         const   XMLCh* const    systemId
00206     ) = 0;
00207 
00227     virtual void parse
00228     (
00229         const   char* const     systemId
00230     ) = 0;
00232 
00233 
00234 private :
00235     
00236     Parser(const Parser&);
00237 
00238     
00239     Parser& operator=(const Parser&);
00240 };
00241 
00242 XERCES_CPP_NAMESPACE_END
00243 
00244 #endif