00001 #ifndef DOMBuilder_HEADER_GUARD_
00002 #define DOMBuilder_HEADER_GUARD_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <xercesc/util/XercesDefs.hpp>
00027
00028 XERCES_CPP_NAMESPACE_BEGIN
00029
00030
00031 class DOMErrorHandler;
00032 class DOMEntityResolver;
00033 class DOMInputSource;
00034 class DOMBuilderFilter;
00035 class DOMNode;
00036 class DOMDocument;
00037 class Grammar;
00038
00049 class DOMBuilder
00050 {
00051 protected :
00052
00053
00054
00057 DOMBuilder() {};
00059
00060 private:
00061
00062
00063
00066 DOMBuilder(const DOMBuilder &);
00067 DOMBuilder & operator = (const DOMBuilder &);
00069
00070 public:
00071
00072
00073
00080 virtual ~DOMBuilder() {};
00082
00083
00084
00085
00115 enum ActionType
00116 {
00117 ACTION_REPLACE = 1,
00118 ACTION_APPEND_AS_CHILDREN = 2,
00119 ACTION_INSERT_AFTER = 3,
00120 ACTION_INSERT_BEFORE = 4
00121 };
00123
00124
00125
00126
00129
00130
00131
00132
00133
00145 virtual DOMErrorHandler* getErrorHandler() = 0;
00146
00158 virtual const DOMErrorHandler* getErrorHandler() const = 0;
00159
00171 virtual DOMEntityResolver* getEntityResolver() = 0;
00172
00184 virtual const DOMEntityResolver* getEntityResolver() const = 0;
00185
00197 virtual DOMBuilderFilter* getFilter() = 0;
00198
00210 virtual const DOMBuilderFilter* getFilter() const = 0;
00211
00212
00213
00214
00232 virtual void setErrorHandler(DOMErrorHandler* const handler) = 0;
00233
00253 virtual void setEntityResolver(DOMEntityResolver* const handler) = 0;
00254
00276 virtual void setFilter(DOMBuilderFilter* const filter) = 0;
00277
00278
00279
00280
00304 virtual void setFeature(const XMLCh* const name, const bool state) = 0;
00305
00321 virtual bool getFeature(const XMLCh* const name) const = 0;
00322
00339 virtual bool canSetFeature(const XMLCh* const name, const bool state) const = 0;
00340
00341
00342
00343
00374 virtual DOMDocument* parse(const DOMInputSource& source) = 0;
00375
00403 virtual DOMDocument* parseURI(const XMLCh* const systemId) = 0;
00404
00431 virtual DOMDocument* parseURI(const char* const systemId) = 0;
00432
00461 virtual void parseWithContext
00462 (
00463 const DOMInputSource& source
00464 , DOMNode* const contextNode
00465 , const short action
00466 ) = 0;
00468
00469
00470
00471
00474
00496 virtual void* getProperty(const XMLCh* const name) const = 0 ;
00497
00519 virtual void setProperty(const XMLCh* const name, void* value) = 0 ;
00520
00527 virtual void release() = 0;
00528
00552 virtual void resetDocumentPool() = 0;
00553
00581 virtual Grammar* loadGrammar(const DOMInputSource& source,
00582 const short grammarType,
00583 const bool toCache = false) = 0;
00584
00610 virtual Grammar* loadGrammar(const XMLCh* const systemId,
00611 const short grammarType,
00612 const bool toCache = false) = 0;
00613
00639 virtual Grammar* loadGrammar(const char* const systemId,
00640 const short grammarType,
00641 const bool toCache = false) = 0;
00642
00649 virtual Grammar* getGrammar(const XMLCh* const nameSpaceKey) const = 0;
00650
00656 virtual Grammar* getRootGrammar() const = 0;
00657
00664 virtual const XMLCh* getURIText(unsigned int uriId) const = 0;
00665
00669 virtual void resetCachedGrammarPool() = 0;
00670
00676 virtual unsigned int getSrcOffset() const = 0;
00677
00679
00680 };
00681
00682
00683 XERCES_CPP_NAMESPACE_END
00684
00685 #endif