00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #if !defined(XERCESC_INCLUDE_GUARD_DOMDOCUMENT_HPP)
00023 #define XERCESC_INCLUDE_GUARD_DOMDOCUMENT_HPP
00024
00025 #include <xercesc/util/XercesDefs.hpp>
00026 #include <xercesc/dom/DOMNode.hpp>
00027 #include <xercesc/dom/DOMDocumentRange.hpp>
00028 #include <xercesc/dom/DOMDocumentTraversal.hpp>
00029 #include <xercesc/dom/DOMXPathEvaluator.hpp>
00030
00031 XERCES_CPP_NAMESPACE_BEGIN
00032
00033 class DOMConfiguration;
00034 class DOMDocumentType;
00035 class DOMElement;
00036 class DOMDocumentFragment;
00037 class DOMComment;
00038 class DOMCDATASection;
00039 class DOMProcessingInstruction;
00040 class DOMAttr;
00041 class DOMEntity;
00042 class DOMEntityReference;
00043 class DOMImplementation;
00044 class DOMNodeFilter;
00045 class DOMNodeList;
00046 class DOMNotation;
00047 class DOMText;
00048 class DOMNode;
00049
00050
00064 class CDOM_EXPORT DOMDocument: public DOMDocumentRange,
00065 public DOMXPathEvaluator,
00066 public DOMDocumentTraversal,
00067 public DOMNode {
00068
00069
00070 protected:
00071
00072
00073
00076 DOMDocument() {};
00078
00079 private:
00080
00081
00082
00085 DOMDocument(const DOMDocument &);
00086 DOMDocument & operator = (const DOMDocument &);
00088
00089 public:
00090
00091
00092
00099 virtual ~DOMDocument() {};
00101
00102
00103
00104
00127 virtual DOMElement *createElement(const XMLCh *tagName) = 0;
00128
00134 virtual DOMDocumentFragment *createDocumentFragment() = 0;
00135
00142 virtual DOMText *createTextNode(const XMLCh *data) = 0;
00143
00150 virtual DOMComment *createComment(const XMLCh *data) = 0;
00151
00159 virtual DOMCDATASection *createCDATASection(const XMLCh *data) = 0;
00160
00172 virtual DOMProcessingInstruction *createProcessingInstruction(const XMLCh *target,
00173 const XMLCh *data) = 0;
00174
00175
00192 virtual DOMAttr *createAttribute(const XMLCh *name) = 0;
00193
00194
00212 virtual DOMEntityReference *createEntityReference(const XMLCh *name) = 0;
00213
00225 virtual DOMDocumentType *getDoctype() const = 0;
00226
00232 virtual DOMImplementation *getImplementation() const = 0;
00233
00239 virtual DOMElement *getDocumentElement() const = 0;
00240
00255 virtual DOMNodeList *getElementsByTagName(const XMLCh *tagname) const = 0;
00256
00258
00261
00360 virtual DOMNode *importNode(const DOMNode *importedNode, bool deep) = 0;
00361
00417 virtual DOMElement *createElementNS(const XMLCh *namespaceURI,
00418 const XMLCh *qualifiedName) = 0;
00419
00482 virtual DOMAttr *createAttributeNS(const XMLCh *namespaceURI,
00483 const XMLCh *qualifiedName) = 0;
00484
00497 virtual DOMNodeList *getElementsByTagNameNS(const XMLCh *namespaceURI,
00498 const XMLCh *localName) const = 0;
00499
00513 virtual DOMElement * getElementById(const XMLCh *elementId) const = 0;
00515
00518
00525 virtual const XMLCh* getInputEncoding() const = 0;
00526
00534 virtual const XMLCh* getXmlEncoding() const = 0;
00535
00542 virtual bool getXmlStandalone() const = 0;
00543
00551 virtual void setXmlStandalone(bool standalone) = 0;
00552
00560 virtual const XMLCh* getXmlVersion() const = 0;
00561
00569 virtual void setXmlVersion(const XMLCh* version) = 0;
00570
00579 virtual const XMLCh* getDocumentURI() const = 0;
00588 virtual void setDocumentURI(const XMLCh* documentURI) = 0;
00589
00600 virtual bool getStrictErrorChecking() const = 0;
00611 virtual void setStrictErrorChecking(bool strictErrorChecking) = 0;
00612
00657 virtual DOMNode* renameNode(DOMNode* n, const XMLCh* namespaceURI, const XMLCh* qualifiedName) = 0;
00658
00659
00719 virtual DOMNode* adoptNode(DOMNode* source) = 0;
00720
00741 virtual void normalizeDocument() = 0;
00742
00743
00751 virtual DOMConfiguration* getDOMConfig() const = 0;
00752
00754
00755
00756
00757
00767 virtual DOMEntity *createEntity(const XMLCh *name) = 0;
00768
00777 virtual DOMDocumentType *createDocumentType(const XMLCh *name) = 0;
00778
00779
00780
00781
00782 virtual DOMDocumentType* createDocumentType(const XMLCh *qName,
00783 const XMLCh*,
00784 const XMLCh*
00785 )
00786 {
00787 return createDocumentType(qName);
00788 }
00789
00798 virtual DOMNotation *createNotation(const XMLCh *name) = 0;
00799
00809 virtual DOMElement *createElementNS(const XMLCh *namespaceURI,
00810 const XMLCh *qualifiedName,
00811 const XMLFileLoc lineNum,
00812 const XMLFileLoc columnNum) = 0;
00814
00815 };
00816
00817 XERCES_CPP_NAMESPACE_END
00818
00819 #endif