XMLDocumentHandler.hpp

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018  /*
00019  * $Id: XMLDocumentHandler.hpp 673679 2008-07-03 13:50:10Z borisk $
00020  */
00021 
00022 #if !defined(XERCESC_INCLUDE_GUARD_XMLDOCUMENTHANDLER_HPP)
00023 #define XERCESC_INCLUDE_GUARD_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 XMLPARSER_EXPORT XMLDocumentHandler
00043 {
00044 public:
00045     // -----------------------------------------------------------------------
00046     //  Constructors are hidden, just the virtual destructor is exposed
00047     // -----------------------------------------------------------------------
00050     virtual ~XMLDocumentHandler()
00051     {
00052     }
00054 
00077     virtual void docCharacters
00078     (
00079         const   XMLCh* const    chars
00080         , const XMLSize_t       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 XMLSize_t       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 XMLSize_t               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 
00261 
00262 
00263 
00264 protected :
00265     // -----------------------------------------------------------------------
00266     //  Hidden Constructors
00267     // -----------------------------------------------------------------------
00268     XMLDocumentHandler()
00269     {
00270     }
00271 
00272 
00273 private:
00274     // -----------------------------------------------------------------------
00275     //  Unimplemented constructors and operators
00276     // -----------------------------------------------------------------------
00277     XMLDocumentHandler(const XMLDocumentHandler&);
00278     XMLDocumentHandler& operator=(const XMLDocumentHandler&);
00279 };
00280 
00281 XERCES_CPP_NAMESPACE_END
00282 
00283 #endif

Generated on Wed Sep 24 16:36:33 2008 for Xerces-C++ by  doxygen 1.5.4