## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.9

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

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

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