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
25#include <xercesc/util/XercesDefs.hpp>
26
27 XERCES_CPP_NAMESPACE_BEGIN
28
29 class InputSource;
30 class XMLBuffer;
31 class XMLResourceIdentifier;
32
43 class XMLPARSER_EXPORT XMLEntityHandler
44{
45 public:
46 // -----------------------------------------------------------------------
47 // Constructors are hidden, only the virtual destructor is exposed
48 // -----------------------------------------------------------------------
49
52
56 virtual ~XMLEntityHandler()
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
115 virtual InputSource* resolveEntity
116 (
117 XMLResourceIdentifier* resourceIdentifier
118 ) = 0;
119
126 virtual void startInputSource(const InputSource& inputSource) = 0;
128
129
130protected :
131 // -----------------------------------------------------------------------
132 // Hidden Constructors
133 // -----------------------------------------------------------------------
136
140 XMLEntityHandler()
141 {
142 }
144
145
146
147 private:
148 // -----------------------------------------------------------------------
149 // Unimplemented constructors and destructor
150 // -----------------------------------------------------------------------
151 XMLEntityHandler(const XMLEntityHandler&);
152 XMLEntityHandler& operator=(const XMLEntityHandler&);
153};
154
155 XERCES_CPP_NAMESPACE_END
156
157#endif
XercesDefs.hpp
XMLPARSER_EXPORT
#define XMLPARSER_EXPORT
Definition XercesDefs.hpp:163
XERCES_CPP_NAMESPACE_BEGIN
#define XERCES_CPP_NAMESPACE_BEGIN
Definition XercesDefs.hpp:112
XERCES_CPP_NAMESPACE_END
#define XERCES_CPP_NAMESPACE_END
Definition XercesDefs.hpp:113
XMLCh
char16_t XMLCh
Definition Xerces_autoconf_config.hpp:120
InputSource
A single input source for an XML entity.
Definition InputSource.hpp:63
XMLEntityHandler
This abstract class is a callback mechanism for the scanner.
Definition XMLEntityHandler.hpp:44
XMLEntityHandler::XMLEntityHandler
XMLEntityHandler()
Protected default constructor.
Definition XMLEntityHandler.hpp:140
XMLEntityHandler::~XMLEntityHandler
virtual ~XMLEntityHandler()
Default destructor.
Definition XMLEntityHandler.hpp:56
XMLEntityHandler::resolveEntity
virtual InputSource * resolveEntity(XMLResourceIdentifier *resourceIdentifier)=0
This method allows the entity handler to provide customized application specific entity resolution.
XMLEntityHandler::startInputSource
virtual void startInputSource(const InputSource &inputSource)=0
This method will be called before the scanner starts reading from an input source while processing ex...
XMLEntityHandler::expandSystemId
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 ...
XMLEntityHandler::resetEntities
virtual void resetEntities()=0
This method allows the entity handler to reset itself, so that it can be used again.
XMLEntityHandler::endInputSource
virtual void endInputSource(const InputSource &inputSource)=0
This method get called after the scanner has finished reading from the given input source while proce...
XMLResourceIdentifier
Definition XMLResourceIdentifier.hpp:96