00001 #ifndef DOMElement_HEADER_GUARD_
00002 #define DOMElement_HEADER_GUARD_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <xercesc/util/XercesDefs.hpp>
00025 #include <xercesc/dom/DOMNode.hpp>
00026
00027 XERCES_CPP_NAMESPACE_BEGIN
00028
00029
00030 class DOMAttr;
00031 class DOMNodeList;
00032 class DOMTypeInfo;
00033
00034
00062 class CDOM_EXPORT DOMElement: public DOMNode {
00063 protected:
00064
00065
00066
00069 DOMElement() {}
00070 DOMElement(const DOMElement &other) : DOMNode(other) {}
00072
00073 private:
00074
00075
00076
00079 DOMElement & operator = (const DOMElement &);
00081
00082 public:
00083
00084
00085
00092 virtual ~DOMElement() {};
00094
00095
00096
00097
00100
00101
00102
00112 virtual const XMLCh * getTagName() const = 0;
00113
00122 virtual const XMLCh * getAttribute(const XMLCh *name) const = 0;
00123
00132 virtual DOMAttr * getAttributeNode(const XMLCh *name) const = 0;
00133
00144 virtual DOMNodeList * getElementsByTagName(const XMLCh *name) const = 0;
00145
00146
00147
00148
00171 virtual void setAttribute(const XMLCh *name,
00172 const XMLCh *value) = 0;
00193 virtual DOMAttr * setAttributeNode(DOMAttr *newAttr) = 0;
00194
00211 virtual DOMAttr * removeAttributeNode(DOMAttr *oldAttr) = 0;
00212
00226 virtual void removeAttribute(const XMLCh *name) = 0;
00228
00242 virtual const XMLCh * getAttributeNS(const XMLCh *namespaceURI,
00243 const XMLCh *localName) const = 0;
00244
00284 virtual void setAttributeNS(const XMLCh *namespaceURI,
00285 const XMLCh *qualifiedName, const XMLCh *value) = 0;
00286
00301 virtual void removeAttributeNS(const XMLCh *namespaceURI,
00302 const XMLCh *localName) = 0;
00303
00315 virtual DOMAttr * getAttributeNodeNS(const XMLCh *namespaceURI,
00316 const XMLCh *localName) const = 0;
00317
00339 virtual DOMAttr * setAttributeNodeNS(DOMAttr *newAttr) = 0;
00340
00356 virtual DOMNodeList * getElementsByTagNameNS(const XMLCh *namespaceURI,
00357 const XMLCh *localName) const = 0;
00358
00369 virtual bool hasAttribute(const XMLCh *name) const = 0;
00370
00383 virtual bool hasAttributeNS(const XMLCh *namespaceURI,
00384 const XMLCh *localName) const = 0;
00386
00389
00408 virtual void setIdAttribute(const XMLCh* name) = 0;
00409
00410
00428 virtual void setIdAttributeNS(const XMLCh* namespaceURI, const XMLCh* localName) = 0;
00429
00430
00431
00447 virtual void setIdAttributeNode(const DOMAttr *idAttr) = 0;
00448
00449
00450
00459 virtual const DOMTypeInfo* getTypeInfo() const = 0;
00460
00462
00463 };
00464
00465 XERCES_CPP_NAMESPACE_END
00466
00467 #endif
00468
00469
00470