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  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