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_DOMELEMENT_HPP)
00023 #define XERCESC_INCLUDE_GUARD_DOMELEMENT_HPP
00024
00025 #include <xercesc/util/XercesDefs.hpp>
00026 #include <xercesc/dom/DOMNode.hpp>
00027
00028 XERCES_CPP_NAMESPACE_BEGIN
00029
00030
00031 class DOMAttr;
00032 class DOMNodeList;
00033 class DOMTypeInfo;
00034
00035
00066 class CDOM_EXPORT DOMElement: public DOMNode {
00067 protected:
00068
00069
00070
00073 DOMElement() {}
00074 DOMElement(const DOMElement &other) : DOMNode(other) {}
00076
00077 private:
00078
00079
00080
00083 DOMElement & operator = (const DOMElement &);
00085
00086 public:
00087
00088
00089
00096 virtual ~DOMElement() {};
00098
00099
00100
00101
00104
00105
00106
00116 virtual const XMLCh * getTagName() const = 0;
00117
00126 virtual const XMLCh * getAttribute(const XMLCh *name) const = 0;
00127
00136 virtual DOMAttr * getAttributeNode(const XMLCh *name) const = 0;
00137
00148 virtual DOMNodeList * getElementsByTagName(const XMLCh *name) const = 0;
00149
00150
00151
00152
00175 virtual void setAttribute(const XMLCh *name,
00176 const XMLCh *value) = 0;
00197 virtual DOMAttr * setAttributeNode(DOMAttr *newAttr) = 0;
00198
00215 virtual DOMAttr * removeAttributeNode(DOMAttr *oldAttr) = 0;
00216
00230 virtual void removeAttribute(const XMLCh *name) = 0;
00232
00246 virtual const XMLCh * getAttributeNS(const XMLCh *namespaceURI,
00247 const XMLCh *localName) const = 0;
00248
00288 virtual void setAttributeNS(const XMLCh *namespaceURI,
00289 const XMLCh *qualifiedName, const XMLCh *value) = 0;
00290
00305 virtual void removeAttributeNS(const XMLCh *namespaceURI,
00306 const XMLCh *localName) = 0;
00307
00319 virtual DOMAttr * getAttributeNodeNS(const XMLCh *namespaceURI,
00320 const XMLCh *localName) const = 0;
00321
00343 virtual DOMAttr * setAttributeNodeNS(DOMAttr *newAttr) = 0;
00344
00360 virtual DOMNodeList * getElementsByTagNameNS(const XMLCh *namespaceURI,
00361 const XMLCh *localName) const = 0;
00362
00373 virtual bool hasAttribute(const XMLCh *name) const = 0;
00374
00387 virtual bool hasAttributeNS(const XMLCh *namespaceURI,
00388 const XMLCh *localName) const = 0;
00390
00393
00414 virtual void setIdAttribute(const XMLCh* name, bool isId) = 0;
00415
00416
00435 virtual void setIdAttributeNS(const XMLCh* namespaceURI, const XMLCh* localName, bool isId) = 0;
00436
00437
00438
00456 virtual void setIdAttributeNode(const DOMAttr *idAttr, bool isId) = 0;
00457
00458
00459
00466 virtual const DOMTypeInfo* getSchemaTypeInfo() const = 0;
00467
00469
00470
00471
00472
00475
00476
00477
00484 virtual DOMElement * getFirstElementChild() const = 0;
00485
00492 virtual DOMElement * getLastElementChild() const = 0;
00493
00500 virtual DOMElement * getPreviousElementSibling() const = 0;
00501
00508 virtual DOMElement * getNextElementSibling() const = 0;
00509
00519 virtual XMLSize_t getChildElementCount() const = 0;
00521 };
00522
00523 XERCES_CPP_NAMESPACE_END
00524
00525 #endif
00526
00527
00528