http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Charter
Release Info

Installation
Download
Build Instructions

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

Source Repository
User Mail Archive
Devel Mail Archive

API Docs for SAX and DOM
 

DOMElement.hpp

Go to the documentation of this file.
00001 #ifndef DOMElement_HEADER_GUARD_
00002 #define DOMElement_HEADER_GUARD_
00003 
00004 /*
00005  * Copyright 2001-2002,2004 The Apache Software Foundation.
00006  * 
00007  * Licensed under the Apache License, Version 2.0 (the "License");
00008  * you may not use this file except in compliance with the License.
00009  * You may obtain a copy of the License at
00010  * 
00011  *      http://www.apache.org/licenses/LICENSE-2.0
00012  * 
00013  * Unless required by applicable law or agreed to in writing, software
00014  * distributed under the License is distributed on an "AS IS" BASIS,
00015  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00016  * See the License for the specific language governing permissions and
00017  * limitations under the License.
00018  */
00019 
00020 /*
00021  * $Id: DOMElement.hpp 176280 2005-01-07 15:32:34Z amassari $
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     //  Hidden constructors
00066     // -----------------------------------------------------------------------
00069     DOMElement() {}
00070     DOMElement(const DOMElement &other) : DOMNode(other) {}
00072     
00073 private:
00074     // -----------------------------------------------------------------------
00075     // Unimplemented constructors and operators
00076     // -----------------------------------------------------------------------
00079     DOMElement & operator = (const DOMElement &);
00081 
00082 public:
00083     // -----------------------------------------------------------------------
00084     //  All constructors are hidden, just the destructor is available
00085     // -----------------------------------------------------------------------
00092     virtual ~DOMElement() {};
00094 
00095     // -----------------------------------------------------------------------
00096     //  Virtual DOMElement interface
00097     // -----------------------------------------------------------------------
00100     // -----------------------------------------------------------------------
00101     //  Getter methods
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     //  Setter methods
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 


Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.