Xerces-C++ 3.3.0
XMLEntityHandler.hpp
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 /*
19 * $Id$
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_XMLENTITYHANDLER_HPP)
23#define XERCESC_INCLUDE_GUARD_XMLENTITYHANDLER_HPP
24
26
28
29class InputSource;
30class XMLBuffer;
32
44{
45public:
46 // -----------------------------------------------------------------------
47 // Constructors are hidden, only the virtual destructor is exposed
48 // -----------------------------------------------------------------------
49
52
57 {
58 }
60
61
62 // -----------------------------------------------------------------------
63 // The virtual entity handler interface
64 // -----------------------------------------------------------------------
67
74 virtual void endInputSource(const InputSource& inputSource) = 0;
75
87 virtual bool expandSystemId
88 (
89 const XMLCh* const systemId
90 , XMLBuffer& toFill
91 ) = 0;
92
98 virtual void resetEntities() = 0;
99
116 (
117 XMLResourceIdentifier* resourceIdentifier
118 ) = 0;
119
126 virtual void startInputSource(const InputSource& inputSource) = 0;
128
129
130protected :
131 // -----------------------------------------------------------------------
132 // Hidden Constructors
133 // -----------------------------------------------------------------------
136
141 {
142 }
144
145
146
147private:
148 // -----------------------------------------------------------------------
149 // Unimplemented constructors and destructor
150 // -----------------------------------------------------------------------
152 XMLEntityHandler& operator=(const XMLEntityHandler&);
153};
154
156
157#endif
#define XMLPARSER_EXPORT
Definition XercesDefs.hpp:163
#define XERCES_CPP_NAMESPACE_BEGIN
Definition XercesDefs.hpp:112
#define XERCES_CPP_NAMESPACE_END
Definition XercesDefs.hpp:113
char16_t XMLCh
Definition Xerces_autoconf_config.hpp:120
A single input source for an XML entity.
Definition InputSource.hpp:63
This abstract class is a callback mechanism for the scanner.
Definition XMLEntityHandler.hpp:44
XMLEntityHandler()
Protected default constructor.
Definition XMLEntityHandler.hpp:140
virtual ~XMLEntityHandler()
Default destructor.
Definition XMLEntityHandler.hpp:56
virtual InputSource * resolveEntity(XMLResourceIdentifier *resourceIdentifier)=0
This method allows the entity handler to provide customized application specific entity resolution.
virtual void startInputSource(const InputSource &inputSource)=0
This method will be called before the scanner starts reading from an input source while processing ex...
virtual bool expandSystemId(const XMLCh *const systemId, XMLBuffer &toFill)=0
This method allows the passes the scanned systemId to the entity handler, thereby giving it a chance ...
virtual void resetEntities()=0
This method allows the entity handler to reset itself, so that it can be used again.
virtual void endInputSource(const InputSource &inputSource)=0
This method get called after the scanner has finished reading from the given input source while proce...
Definition XMLResourceIdentifier.hpp:96