Xerces-C++ 3.3.0

DOMLSParser.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
23#if !defined(XERCESC_INCLUDE_GUARD_DOMLSPARSER_HPP)
24#define XERCESC_INCLUDE_GUARD_DOMLSPARSER_HPP
25
26#include <xercesc/dom/DOMConfiguration.hpp>
27#include <xercesc/dom/DOMLSParserFilter.hpp>
28#include <xercesc/util/XercesDefs.hpp>
29#include <xercesc/validators/common/Grammar.hpp>
30
31 XERCES_CPP_NAMESPACE_BEGIN
32
33
34 class DOMErrorHandler;
35 class DOMLSInput;
36 class DOMNode;
37 class DOMDocument;
38
47 class CDOM_EXPORT DOMLSParser
48{
49protected :
50 // -----------------------------------------------------------------------
51 // Hidden constructors
52 // -----------------------------------------------------------------------
55 DOMLSParser() {};
57
58 private:
59 // -----------------------------------------------------------------------
60 // Unimplemented constructors and operators
61 // -----------------------------------------------------------------------
64 DOMLSParser(const DOMLSParser &);
65 DOMLSParser & operator = (const DOMLSParser &);
67
68 public:
69 // -----------------------------------------------------------------------
70 // All constructors are hidden, just the destructor is available
71 // -----------------------------------------------------------------------
78 virtual ~DOMLSParser() {};
80
81 // -----------------------------------------------------------------------
82 // Class types
83 // -----------------------------------------------------------------------
117 enum ActionType
118 {
119 ACTION_APPEND_AS_CHILDREN = 1,
120 ACTION_REPLACE_CHILDREN = 2,
121 ACTION_INSERT_BEFORE = 3,
122 ACTION_INSERT_AFTER = 4,
123 ACTION_REPLACE = 5
124 };
126
127 // -----------------------------------------------------------------------
128 // Virtual DOMLSParser interface
129 // -----------------------------------------------------------------------
132
133 // -----------------------------------------------------------------------
134 // Getter methods
135 // -----------------------------------------------------------------------
136
377 virtual DOMConfiguration* getDomConfig() = 0;
378
388 virtual const DOMLSParserFilter* getFilter() const = 0;
389
397 virtual bool getAsync() const = 0;
398
406 virtual bool getBusy() const = 0;
407
408 // -----------------------------------------------------------------------
409 // Setter methods
410 // -----------------------------------------------------------------------
431 virtual void setFilter(DOMLSParserFilter* const filter) = 0;
432
433 // -----------------------------------------------------------------------
434 // Parsing methods
435 // -----------------------------------------------------------------------
463 virtual DOMDocument* parse(const DOMLSInput* source) = 0;
464
492 virtual DOMDocument* parseURI(const XMLCh* const uri) = 0;
493
521 virtual DOMDocument* parseURI(const char* const uri) = 0;
522
590 virtual DOMNode* parseWithContext(const DOMLSInput* source, DOMNode* contextNode, const ActionType action) = 0;
591
600 virtual void abort() = 0;
602
603 // -----------------------------------------------------------------------
604 // Non-standard Extension
605 // -----------------------------------------------------------------------
614 virtual void release() = 0;
615
639 virtual void resetDocumentPool() = 0;
640
666 virtual Grammar* loadGrammar(const DOMLSInput* source,
667 const Grammar::GrammarType grammarType,
668 const bool toCache = false) = 0;
669
693 virtual Grammar* loadGrammar(const XMLCh* const systemId,
694 const Grammar::GrammarType grammarType,
695 const bool toCache = false) = 0;
696
720 virtual Grammar* loadGrammar(const char* const systemId,
721 const Grammar::GrammarType grammarType,
722 const bool toCache = false) = 0;
723
730 virtual Grammar* getGrammar(const XMLCh* const nameSpaceKey) const = 0;
731
737 virtual Grammar* getRootGrammar() const = 0;
738
745 virtual const XMLCh* getURIText(unsigned int uriId) const = 0;
746
750 virtual void resetCachedGrammarPool() = 0;
751
757 virtual XMLFilePos getSrcOffset() const = 0;
758
760
761};
762
763
764 XERCES_CPP_NAMESPACE_END
765
766#endif
DOMConfiguration.hpp
DOMLSParserFilter.hpp
XercesDefs.hpp
CDOM_EXPORT
#define CDOM_EXPORT
Definition XercesDefs.hpp:166
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
XMLFilePos
XMLUInt64 XMLFilePos
Definition Xerces_autoconf_config.hpp:139
DOMConfiguration
The DOMConfiguration interface represents the configuration of a document and maintains a table of re...
Definition DOMConfiguration.hpp:351
DOMDocument
The DOMDocument interface represents the entire XML document.
Definition DOMDocument.hpp:67
DOMErrorHandler
Basic interface for DOM error handlers.
Definition DOMErrorHandler.hpp:47
DOMLSInput
This interface represents a single input source for an XML entity.
Definition DOMLSInput.hpp:60
DOMLSParserFilter
Definition DOMLSParserFilter.hpp:45
DOMLSParser
DOMLSParser provides an API for parsing XML documents and building the corresponding DOM document tre...
Definition DOMLSParser.hpp:48
DOMLSParser::parseURI
virtual DOMDocument * parseURI(const XMLCh *const uri)=0
Parse an XML document from a location identified by a URI reference [IETF RFC 2396].
DOMLSParser::getGrammar
virtual Grammar * getGrammar(const XMLCh *const nameSpaceKey) const =0
Retrieve the grammar that is associated with the specified namespace key.
DOMLSParser::getURIText
virtual const XMLCh * getURIText(unsigned int uriId) const =0
Returns the string corresponding to a URI id from the URI string pool.
DOMLSParser::getSrcOffset
virtual XMLFilePos getSrcOffset() const =0
Returns the current src offset within the input source.
DOMLSParser::~DOMLSParser
virtual ~DOMLSParser()
Destructor.
Definition DOMLSParser.hpp:78
DOMLSParser::resetDocumentPool
virtual void resetDocumentPool()=0
Reset the documents vector pool and release all the associated memory back to the system.
DOMLSParser::getFilter
virtual const DOMLSParserFilter * getFilter() const =0
Get a const pointer to the application filter.
DOMLSParser::parseURI
virtual DOMDocument * parseURI(const char *const uri)=0
Parse an XML document from a location identified by a URI reference [IETF RFC 2396].
DOMLSParser::loadGrammar
virtual Grammar * loadGrammar(const DOMLSInput *source, const Grammar::GrammarType grammarType, const bool toCache=false)=0
Preparse schema grammar (XML Schema, DTD, etc.) via an input source object.
DOMLSParser::getAsync
virtual bool getAsync() const =0
Return whether the parser is asynchronous.
DOMLSParser::getDomConfig
virtual DOMConfiguration * getDomConfig()=0
Get a pointer to the DOMConfiguration object used when parsing an input source.
DOMLSParser::setFilter
virtual void setFilter(DOMLSParserFilter *const filter)=0
Set the application filter.
DOMLSParser::parseWithContext
virtual DOMNode * parseWithContext(const DOMLSInput *source, DOMNode *contextNode, const ActionType action)=0
Parse an XML fragment from a resource identified by a DOMLSInput and insert the content into an exist...
DOMLSParser::DOMLSParser
DOMLSParser()
Definition DOMLSParser.hpp:55
DOMLSParser::loadGrammar
virtual Grammar * loadGrammar(const char *const systemId, const Grammar::GrammarType grammarType, const bool toCache=false)=0
Preparse schema grammar (XML Schema, DTD, etc.) via a file path or URL.
DOMLSParser::loadGrammar
virtual Grammar * loadGrammar(const XMLCh *const systemId, const Grammar::GrammarType grammarType, const bool toCache=false)=0
Preparse schema grammar (XML Schema, DTD, etc.) via a file path or URL.
DOMLSParser::abort
virtual void abort()=0
Abort the loading of the document that is currently being loaded by the DOMLSParser.
DOMLSParser::release
virtual void release()=0
Called to indicate that this DOMLSParser is no longer in use and that the implementation may relinqui...
DOMLSParser::parse
virtual DOMDocument * parse(const DOMLSInput *source)=0
Parse an XML document from a resource identified by a DOMLSInput.
DOMLSParser::getRootGrammar
virtual Grammar * getRootGrammar() const =0
Retrieve the grammar where the root element is declared.
DOMLSParser::resetCachedGrammarPool
virtual void resetCachedGrammarPool()=0
Clear the cached grammar pool.
DOMLSParser::getBusy
virtual bool getBusy() const =0
Return whether the parser is busy parsing.
DOMLSParser::ActionType
ActionType
A set of possible actions for the parseWithContext method.
Definition DOMLSParser.hpp:118
DOMNode
The DOMNode interface is the primary datatype for the entire Document Object Model.
Definition DOMNode.hpp:139