XMLEntityHandler.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: XMLEntityHandler.hpp 568078 2007-08-21 11:43:25Z amassari $
00020  */
00021 
00022 
00023 #if !defined(XMLENTITYHANDLER_HPP)
00024 #define XMLENTITYHANDLER_HPP
00025 
00026 #include <xercesc/util/XercesDefs.hpp>
00027 
00028 XERCES_CPP_NAMESPACE_BEGIN
00029 
00030 class InputSource;
00031 class XMLBuffer;
00032 class XMLResourceIdentifier;
00033 
00044 class XMLPARSER_EXPORT XMLEntityHandler
00045 {
00046 public:
00047     // -----------------------------------------------------------------------
00048     //  Constructors are hidden, only the virtual destructor is exposed
00049     // -----------------------------------------------------------------------
00050 
00053 
00057     virtual ~XMLEntityHandler()
00058     {
00059     }
00061 
00062 
00063     // -----------------------------------------------------------------------
00064     //  The virtual entity handler interface
00065     // -----------------------------------------------------------------------
00068 
00075     virtual void endInputSource(const InputSource& inputSource) = 0;
00076 
00088     virtual bool expandSystemId
00089     (
00090         const   XMLCh* const    systemId
00091         ,       XMLBuffer&      toFill
00092     ) = 0;
00093 
00099     virtual void resetEntities() = 0;
00100 
00121     virtual InputSource* resolveEntity
00122     (
00123         const   XMLCh* const    publicId
00124         , const XMLCh* const    systemId
00125         , const XMLCh* const    baseURI = 0
00126     ) = 0;
00127 
00143     virtual InputSource* resolveEntity
00144     (
00145         XMLResourceIdentifier* resourceIdentifier
00146     ) = 0;
00147 
00154     virtual void startInputSource(const InputSource& inputSource) = 0;
00156 
00157 
00158 protected :
00159     // -----------------------------------------------------------------------
00160     //  Hidden Constructors
00161     // -----------------------------------------------------------------------
00164 
00168     XMLEntityHandler()
00169     {
00170     }
00172 
00173 
00174 
00175 private:
00176     // -----------------------------------------------------------------------
00177     //  Unimplemented constructors and destructor
00178     // -----------------------------------------------------------------------
00179     XMLEntityHandler(const XMLEntityHandler&);
00180     XMLEntityHandler& operator=(const XMLEntityHandler&);
00181 };
00182 
00183 XERCES_CPP_NAMESPACE_END
00184 
00185 #endif

Generated on Thu Feb 19 11:35:44 2009 for Xerces-C++ by  doxygen 1.5.4