00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #if !defined(XMLDOCUMENTHANDLER_HPP)
00023 #define XMLDOCUMENTHANDLER_HPP
00024
00025 #include <xercesc/util/XercesDefs.hpp>
00026 #include <xercesc/util/RefVectorOf.hpp>
00027 #include <xercesc/framework/XMLAttr.hpp>
00028
00029 XERCES_CPP_NAMESPACE_BEGIN
00030
00031 class XMLElementDecl;
00032 class XMLEntityDecl;
00033
00042 class XMLDocumentHandler
00043 {
00044 public:
00045
00046
00047
00050 virtual ~XMLDocumentHandler()
00051 {
00052 }
00054
00077 virtual void docCharacters
00078 (
00079 const XMLCh* const chars
00080 , const unsigned int length
00081 , const bool cdataSection
00082 ) = 0;
00083
00091 virtual void docComment
00092 (
00093 const XMLCh* const comment
00094 ) = 0;
00095
00105 virtual void docPI
00106 (
00107 const XMLCh* const target
00108 , const XMLCh* const data
00109 ) = 0;
00110
00118 virtual void endDocument() = 0;
00119
00134 virtual void endElement
00135 (
00136 const XMLElementDecl& elemDecl
00137 , const unsigned int uriId
00138 , const bool isRoot
00139 , const XMLCh* const prefixName = 0
00140 ) = 0;
00141
00149 virtual void endEntityReference
00150 (
00151 const XMLEntityDecl& entDecl
00152 ) = 0;
00153
00176 virtual void ignorableWhitespace
00177 (
00178 const XMLCh* const chars
00179 , const unsigned int length
00180 , const bool cdataSection
00181 ) = 0;
00182
00189 virtual void resetDocument() = 0;
00190
00196 virtual void startDocument() = 0;
00197
00215 virtual void startElement
00216 (
00217 const XMLElementDecl& elemDecl
00218 , const unsigned int uriId
00219 , const XMLCh* const prefixName
00220 , const RefVectorOf<XMLAttr>& attrList
00221 , const unsigned int attrCount
00222 , const bool isEmpty
00223 , const bool isRoot
00224 ) = 0;
00225
00233 virtual void startEntityReference(const XMLEntityDecl& entDecl) = 0;
00234
00252 virtual void XMLDecl
00253 (
00254 const XMLCh* const versionStr
00255 , const XMLCh* const encodingStr
00256 , const XMLCh* const standaloneStr
00257 , const XMLCh* const autoEncodingStr
00258 ) = 0;
00259
00279 virtual void elementTypeInfo
00280 (
00281 const XMLCh* const
00282 , const XMLCh* const
00283 ) { };
00285
00286
00287
00288 protected :
00289
00290
00291
00292 XMLDocumentHandler()
00293 {
00294 }
00295
00296
00297 private:
00298
00299
00300
00301 XMLDocumentHandler(const XMLDocumentHandler&);
00302 XMLDocumentHandler& operator=(const XMLDocumentHandler&);
00303 };
00304
00305 XERCES_CPP_NAMESPACE_END
00306
00307 #endif