00001 #ifndef DOMDocument_HEADER_GUARD_
00002 #define DOMDocument_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
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064 #include <xercesc/util/XercesDefs.hpp>
00065 #include "DOMNode.hpp"
00066 #include "DOMDocumentRange.hpp"
00067 #include "DOMDocumentTraversal.hpp"
00068 #include "DOMXPathEvaluator.hpp"
00069
00070 XERCES_CPP_NAMESPACE_BEGIN
00071
00072 class DOMConfiguration;
00073 class DOMDocumentType;
00074 class DOMElement;
00075 class DOMDocumentFragment;
00076 class DOMComment;
00077 class DOMCDATASection;
00078 class DOMProcessingInstruction;
00079 class DOMAttr;
00080 class DOMEntity;
00081 class DOMEntityReference;
00082 class DOMImplementation;
00083 class DOMNodeFilter;
00084 class DOMNodeList;
00085 class DOMNotation;
00086 class DOMText;
00087 class DOMNode;
00088
00089
00103 class DOMDocument: public DOMDocumentRange,
00104 public DOMXPathEvaluator,
00105 public DOMDocumentTraversal,
00106 public DOMNode {
00107
00108
00109 protected:
00110
00111
00112
00115 DOMDocument() {};
00117
00118 private:
00119
00120
00121
00124 DOMDocument(const DOMDocument &);
00125 DOMDocument & operator = (const DOMDocument &);
00127
00128 public:
00129
00130
00131
00138 virtual ~DOMDocument() {};
00140
00141
00142
00143
00166 virtual DOMElement *createElement(const XMLCh *tagName) = 0;
00167
00173 virtual DOMDocumentFragment *createDocumentFragment() = 0;
00174
00181 virtual DOMText *createTextNode(const XMLCh *data) = 0;
00182
00189 virtual DOMComment *createComment(const XMLCh *data) = 0;
00190
00198 virtual DOMCDATASection *createCDATASection(const XMLCh *data) = 0;
00199
00211 virtual DOMProcessingInstruction *createProcessingInstruction(const XMLCh *target,
00212 const XMLCh *data) = 0;
00213
00214
00231 virtual DOMAttr *createAttribute(const XMLCh *name) = 0;
00232
00233
00251 virtual DOMEntityReference *createEntityReference(const XMLCh *name) = 0;
00252
00264 virtual DOMDocumentType *getDoctype() const = 0;
00265
00271 virtual DOMImplementation *getImplementation() const = 0;
00272
00278 virtual DOMElement *getDocumentElement() const = 0;
00279
00294 virtual DOMNodeList *getElementsByTagName(const XMLCh *tagname) const = 0;
00295
00297
00300
00399 virtual DOMNode *importNode(DOMNode *importedNode, bool deep) = 0;
00400
00456 virtual DOMElement *createElementNS(const XMLCh *namespaceURI,
00457 const XMLCh *qualifiedName) = 0;
00458
00521 virtual DOMAttr *createAttributeNS(const XMLCh *namespaceURI,
00522 const XMLCh *qualifiedName) = 0;
00523
00536 virtual DOMNodeList *getElementsByTagNameNS(const XMLCh *namespaceURI,
00537 const XMLCh *localName) const = 0;
00538
00552 virtual DOMElement * getElementById(const XMLCh *elementId) const = 0;
00554
00557
00568 virtual const XMLCh* getActualEncoding() const = 0;
00569
00580 virtual void setActualEncoding(const XMLCh* actualEncoding) = 0;
00581
00590 virtual const XMLCh* getEncoding() const = 0;
00591
00600 virtual void setEncoding(const XMLCh* encoding) = 0;
00601
00611 virtual bool getStandalone() const = 0;
00612
00622 virtual void setStandalone(bool standalone) = 0;
00623
00633 virtual const XMLCh* getVersion() const = 0;
00634
00644 virtual void setVersion(const XMLCh* version) = 0;
00645
00656 virtual const XMLCh* getDocumentURI() const = 0;
00667 virtual void setDocumentURI(const XMLCh* documentURI) = 0;
00668
00681 virtual bool getStrictErrorChecking() const = 0;
00694 virtual void setStrictErrorChecking(bool strictErrorChecking) = 0;
00695
00742 virtual DOMNode* renameNode(DOMNode* n, const XMLCh* namespaceURI, const XMLCh* name) = 0;
00743
00744
00806 virtual DOMNode* adoptNode(DOMNode* source) = 0;
00807
00832 virtual void normalizeDocument() = 0;
00833
00834
00850 virtual DOMConfiguration* getDOMConfiguration() const = 0;
00851
00852
00853
00854
00864 virtual DOMEntity *createEntity(const XMLCh *name) = 0;
00865
00874 virtual DOMDocumentType *createDocumentType(const XMLCh *name) = 0;
00875
00876
00885 virtual DOMNotation *createNotation(const XMLCh *name) = 0;
00886
00896 virtual DOMElement *createElementNS(const XMLCh *namespaceURI,
00897 const XMLCh *qualifiedName,
00898 const XMLSSize_t lineNum,
00899 const XMLSSize_t columnNum) = 0;
00901
00902 };
00903
00904 XERCES_CPP_NAMESPACE_END
00905
00906 #endif