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