Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XalanElement.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2004 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 #if !defined(XALANELEMENT_HEADER_GUARD_1357924680)
00017 #define XALANELEMENT_HEADER_GUARD_1357924680
00018 
00019 
00020 
00021 #include <xalanc/XalanDOM/XalanDOMDefinitions.hpp>
00022 #include <xalanc/XalanDOM/XalanNode.hpp>
00023 
00024 
00025 
00026 XALAN_CPP_NAMESPACE_BEGIN
00027 
00028 
00029 
00030 class XalanAttr;
00031 
00032 
00033 
00034 /*
00035  * <meta name="usage" content="experimental"/>
00036  *
00037  * Base class for the DOM Element interface.
00038  *
00039  * This class is experimental and subject to change!!
00040  */
00041 
00042 class XALAN_DOM_EXPORT XalanElement : public XalanNode
00043 {
00044 public:
00045 
00046     XalanElement();
00047 
00048     virtual
00049     ~XalanElement();
00050 
00051     // These interfaces are inherited from XalanNode
00052     virtual const XalanDOMString&
00053     getNodeName() const = 0;
00054 
00058     virtual const XalanDOMString&
00059     getNodeValue() const = 0;
00060 
00064     virtual NodeType
00065     getNodeType() const = 0;
00066 
00076     virtual XalanNode*
00077     getParentNode() const = 0;
00078 
00092     virtual const XalanNodeList*
00093     getChildNodes() const = 0;
00094 
00100     virtual XalanNode*
00101     getFirstChild() const = 0;
00102 
00108     virtual XalanNode*
00109     getLastChild() const = 0;
00110 
00116     virtual XalanNode*
00117     getPreviousSibling() const = 0;
00118 
00124     virtual XalanNode*
00125     getNextSibling() const = 0;
00126 
00131     virtual const XalanNamedNodeMap*
00132     getAttributes() const = 0;
00133 
00143     virtual XalanDocument*
00144     getOwnerDocument() const = 0;
00145 
00147 
00149 
00168 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
00169     virtual XalanNode*
00170 #else
00171     virtual XalanElement*
00172 #endif
00173     cloneNode(bool  deep) const = 0;
00174 
00176 
00178 
00195     virtual XalanNode*
00196     insertBefore(
00197             XalanNode*  newChild,
00198             XalanNode*  refChild) = 0;
00199 
00213     virtual XalanNode*
00214     replaceChild(
00215             XalanNode*  newChild,
00216             XalanNode*  oldChild) = 0;
00217 
00225     virtual XalanNode*
00226     removeChild(XalanNode*  oldChild) = 0;
00227 
00239     virtual XalanNode*
00240     appendChild(XalanNode*  newChild) = 0;
00241 
00243 
00245 
00253     virtual bool
00254     hasChildNodes() const = 0;
00255 
00256 
00258 
00260 
00261 
00275     virtual void
00276     setNodeValue(const XalanDOMString&  nodeValue) = 0;
00277 
00279 
00281 
00298     virtual void
00299     normalize() = 0;
00300 
00314     virtual bool
00315     isSupported(
00316             const XalanDOMString&   feature,
00317             const XalanDOMString&   version) const = 0;
00318 
00332     virtual const XalanDOMString&
00333     getNamespaceURI() const = 0;
00334 
00339     virtual const XalanDOMString&
00340     getPrefix() const = 0;
00341 
00349     virtual const XalanDOMString&
00350     getLocalName() const = 0;
00351 
00381     virtual void
00382     setPrefix(const XalanDOMString& prefix) = 0;
00383 
00389     virtual bool
00390     isIndexed() const = 0;
00391 
00398     virtual IndexType
00399     getIndex() const = 0;
00400 
00402 
00403     // These interfaces are new to XalanElement...
00412     virtual const XalanDOMString&
00413     getTagName() const = 0;
00414 
00422     virtual const XalanDOMString&
00423     getAttribute(const XalanDOMString&  name) const = 0;
00424 
00432     virtual XalanAttr*
00433     getAttributeNode(const XalanDOMString&  name) const = 0;
00434 
00445     virtual XalanNodeList*
00446     getElementsByTagName(const XalanDOMString&  name) const = 0;
00447 
00449 
00451 
00473     virtual void
00474     setAttribute(
00475             const XalanDOMString&   name, 
00476             const XalanDOMString&   value) = 0;
00477 
00497     virtual XalanAttr*
00498     setAttributeNode(XalanAttr*     newAttr) = 0;
00499 
00501 
00503     
00519     virtual XalanAttr*
00520     removeAttributeNode(XalanAttr*  oldAttr) = 0;
00521 
00534     virtual void
00535     removeAttribute(const XalanDOMString&   name) = 0;
00536 
00538 
00540 
00551     virtual const XalanDOMString&
00552     getAttributeNS(
00553             const XalanDOMString&   namespaceURI,
00554             const XalanDOMString&   localName) const = 0;
00555 
00596     virtual void
00597     setAttributeNS(
00598             const XalanDOMString&   namespaceURI,
00599             const XalanDOMString&   qualifiedName,
00600             const XalanDOMString&   value) = 0;
00601 
00616     virtual void
00617     removeAttributeNS(
00618             const XalanDOMString&   namespaceURI,
00619             const XalanDOMString&   localName) = 0;
00620 
00631     virtual XalanAttr*
00632     getAttributeNodeNS(
00633             const XalanDOMString&   namespaceURI,
00634             const XalanDOMString&   localName) const = 0;
00635 
00655     virtual XalanAttr*
00656     setAttributeNodeNS(XalanAttr*   newAttr) = 0;
00657 
00673     virtual XalanNodeList*
00674     getElementsByTagNameNS(
00675             const XalanDOMString&   namespaceURI,
00676             const XalanDOMString&   localName) const = 0;
00677 
00679 
00680 protected:
00681 
00682     XalanElement(const XalanElement&    theSource);
00683 
00684     XalanElement&
00685     operator=(const XalanElement&   theSource);
00686 
00687     bool
00688     operator==(const XalanElement&  theRHS) const;
00689 
00690 private:
00691 };
00692 
00693 
00694 
00695 XALAN_CPP_NAMESPACE_END
00696 
00697 
00698 
00699 #endif  // !defined(XALANELEMENT_HEADER_GUARD_1357924680)

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo