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 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