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
00069 XERCES_CPP_NAMESPACE_BEGIN
00070
00071 class DOMDocumentType;
00072 class DOMElement;
00073 class DOMDocumentFragment;
00074 class DOMComment;
00075 class DOMCDATASection;
00076 class DOMProcessingInstruction;
00077 class DOMAttr;
00078 class DOMEntity;
00079 class DOMEntityReference;
00080 class DOMImplementation;
00081 class DOMNodeFilter;
00082 class DOMNodeList;
00083 class DOMNotation;
00084 class DOMText;
00085 class DOMNode;
00086 class DOMErrorHandler;
00087
00088
00102 class DOMDocument: public DOMDocumentRange,
00103 public DOMDocumentTraversal,
00104 public DOMNode {
00105
00106 protected:
00107
00108
00109
00112 DOMDocument() {};
00113 DOMDocument(const DOMDocument &) {};
00114 DOMDocument & operator = (const DOMDocument &) {return *this;};
00116
00117 public:
00118
00119
00120
00127 virtual ~DOMDocument() {};
00129
00130
00131
00132
00155 virtual DOMElement *createElement(const XMLCh *tagName) = 0;
00156
00162 virtual DOMDocumentFragment *createDocumentFragment() = 0;
00163
00170 virtual DOMText *createTextNode(const XMLCh *data) = 0;
00171
00178 virtual DOMComment *createComment(const XMLCh *data) = 0;
00179
00187 virtual DOMCDATASection *createCDATASection(const XMLCh *data) = 0;
00188
00200 virtual DOMProcessingInstruction *createProcessingInstruction(const XMLCh *target,
00201 const XMLCh *data) = 0;
00202
00203
00220 virtual DOMAttr *createAttribute(const XMLCh *name) = 0;
00221
00222
00240 virtual DOMEntityReference *createEntityReference(const XMLCh *name) = 0;
00241
00253 virtual DOMDocumentType *getDoctype() const = 0;
00254
00260 virtual DOMImplementation *getImplementation() const = 0;
00261
00267 virtual DOMElement *getDocumentElement() const = 0;
00268
00283 virtual DOMNodeList *getElementsByTagName(const XMLCh *tagname) const = 0;
00284
00286
00289
00388 virtual DOMNode *importNode(DOMNode *importedNode, bool deep) = 0;
00389
00445 virtual DOMElement *createElementNS(const XMLCh *namespaceURI,
00446 const XMLCh *qualifiedName) = 0;
00447
00510 virtual DOMAttr *createAttributeNS(const XMLCh *namespaceURI,
00511 const XMLCh *qualifiedName) = 0;
00512
00525 virtual DOMNodeList *getElementsByTagNameNS(const XMLCh *namespaceURI,
00526 const XMLCh *localName) const = 0;
00527
00541 virtual DOMElement * getElementById(const XMLCh *elementId) const = 0;
00543
00546
00557 virtual const XMLCh* getActualEncoding() const = 0;
00558
00569 virtual void setActualEncoding(const XMLCh* actualEncoding) = 0;
00570
00579 virtual const XMLCh* getEncoding() const = 0;
00580
00589 virtual void setEncoding(const XMLCh* encoding) = 0;
00590
00600 virtual bool getStandalone() const = 0;
00601
00611 virtual void setStandalone(bool standalone) = 0;
00612
00622 virtual const XMLCh* getVersion() const = 0;
00623
00633 virtual void setVersion(const XMLCh* version) = 0;
00634
00645 virtual const XMLCh* getDocumentURI() const = 0;
00656 virtual void setDocumentURI(const XMLCh* documentURI) = 0;
00657
00670 virtual bool getStrictErrorChecking() const = 0;
00683 virtual void setStrictErrorChecking(bool strictErrorChecking) = 0;
00684
00696 virtual DOMErrorHandler* getErrorHandler() const = 0;
00708 virtual void setErrorHandler(DOMErrorHandler* const handler) = 0;
00709
00756 virtual DOMNode* renameNode(DOMNode* n, const XMLCh* namespaceURI, const XMLCh* name) = 0;
00757
00758
00820 virtual DOMNode* adoptNode(DOMNode* source) = 0;
00821
00841 virtual void normalizeDocument() = 0;
00842
00859 virtual bool canSetNormalizationFeature(const XMLCh* const name, bool state) const = 0;
00860
01096 virtual void setNormalizationFeature(const XMLCh* const name, bool state) = 0;
01097
01113 virtual bool getNormalizationFeature(const XMLCh* const name) const = 0;
01115
01116
01117
01118
01128 virtual DOMEntity *createEntity(const XMLCh *name) = 0;
01129
01138 virtual DOMDocumentType *createDocumentType(const XMLCh *name) = 0;
01139
01140
01149 virtual DOMNotation *createNotation(const XMLCh *name) = 0;
01150
01160 virtual DOMElement *createElementNS(const XMLCh *namespaceURI,
01161 const XMLCh *qualifiedName,
01162 const XMLSSize_t lineNum,
01163 const XMLSSize_t columnNum) = 0;
01165
01166 protected:
01167 friend class DOMNode;
01168 friend class DOMImplementation;
01169
01170 };
01171
01172 XERCES_CPP_NAMESPACE_END
01173
01174 #endif