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

# XalanNode.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(XALANNODE_HEADER_GUARD_1357924680)
    00017 #define XALANNODE_HEADER_GUARD_1357924680
    00018
    00019
    00020
    00021 #include <xalanc/XalanDOM/XalanDOMDefinitions.hpp>
    00022
    00023
    00024
    00025 XALAN_CPP_NAMESPACE_BEGIN
    00026
    00027
    00028
    00029 class XalanDOMString;
    00030 class XalanDocument;
    00031 class XalanNamedNodeMap;
    00032 class XalanNodeList;
    00033
    00034
    00035
    00036 /*
    00037  * <meta name="usage" content="experimental"/>
    00038  *
    00039  * Base class for the DOM Node interface.
    00040  *
    00041  * This class is experimental and subject to change!!
    00042  */
    00043
    00044 class XALAN_DOM_EXPORT XalanNode
    00045 {
    00046 public:
    00047
    00048     XalanNode();
    00049
    00050     virtual
    00051     ~XalanNode();
    00052
    00053     enum NodeType
    00054     {
    00055         UNKNOWN_NODE                = 0,
    00056         ELEMENT_NODE                = 1,
    00057         ATTRIBUTE_NODE              = 2,
    00058         TEXT_NODE                   = 3,
    00059         CDATA_SECTION_NODE          = 4,
    00060         ENTITY_REFERENCE_NODE       = 5,
    00061         ENTITY_NODE                 = 6,
    00062         PROCESSING_INSTRUCTION_NODE = 7,
    00063         COMMENT_NODE                = 8,
    00064         DOCUMENT_NODE               = 9,
    00065         DOCUMENT_TYPE_NODE          = 10,
    00066         DOCUMENT_FRAGMENT_NODE      = 11,
    00067         NOTATION_NODE               = 12
    00068     };
    00069
    00070     typedef unsigned long   IndexType;
    00071
    00072     virtual const XalanDOMString&
    00073     getNodeName() const = 0;
    00074
    00078     virtual const XalanDOMString&
    00079     getNodeValue() const = 0;
    00080
    00084     virtual NodeType
    00085     getNodeType() const = 0;
    00086
    00096     virtual XalanNode*
    00097     getParentNode() const = 0;
    00098
    00112     virtual const XalanNodeList*
    00113     getChildNodes() const = 0;
    00114
    00120     virtual XalanNode*
    00121     getFirstChild() const = 0;
    00122
    00128     virtual XalanNode*
    00129     getLastChild() const = 0;
    00130
    00136     virtual XalanNode*
    00137     getPreviousSibling() const = 0;
    00138
    00144     virtual XalanNode*
    00145     getNextSibling() const = 0;
    00146
    00151     virtual const XalanNamedNodeMap*
    00152     getAttributes() const = 0;
    00153
    00163     virtual XalanDocument*
    00164     getOwnerDocument() const = 0;
    00165
    00167
    00169
    00188     virtual XalanNode*
    00189     cloneNode(bool deep) const = 0;
    00190
    00192
    00194
    00211     virtual XalanNode*
    00212     insertBefore(
    00213             XalanNode*  newChild,
    00214             XalanNode*  refChild) = 0;
    00215
    00229     virtual XalanNode*
    00230     replaceChild(
    00231             XalanNode*  newChild,
    00232             XalanNode*  oldChild) = 0;
    00233
    00241     virtual XalanNode*
    00242     removeChild(XalanNode*  oldChild) = 0;
    00243
    00255     virtual XalanNode*
    00256     appendChild(XalanNode*  newChild) = 0;
    00257
    00259
    00261
    00269     virtual bool
    00270     hasChildNodes() const = 0;
    00271
    00272
    00274
    00276
    00277
    00291     virtual void
    00292     setNodeValue(const XalanDOMString&      nodeValue) = 0;
    00293
    00295
    00297
    00314     virtual void
    00315     normalize() = 0;
    00316
    00330     virtual bool
    00331     isSupported(
    00332             const XalanDOMString&   feature,
    00333             const XalanDOMString&   version) const = 0;
    00334
    00348     virtual const XalanDOMString&
    00349     getNamespaceURI() const = 0;
    00350
    00355     virtual const XalanDOMString&
    00356     getPrefix() const = 0;
    00357
    00365     virtual const XalanDOMString&
    00366     getLocalName() const = 0;
    00367
    00397     virtual void
    00398     setPrefix(const XalanDOMString& prefix) = 0;
    00399
    00405     virtual bool
    00406     isIndexed() const = 0;
    00407
    00414     virtual IndexType
    00415     getIndex() const = 0;
    00416
    00418
    00419 protected:
    00420
    00421     XalanNode(const XalanNode&  theSource);
    00422
    00423     XalanNode&
    00424     operator=(const XalanNode&  theSource);
    00425
    00426     bool
    00427     operator==(const XalanNode&     theRHS) const;
    00428
    00429 private:
    00430
    00431 #if !defined(NDEBUG)
    00432     static size_t   s_instanceCount;
    00433 #endif
    00434 };
    00435
    00436
    00437
    00438 XALAN_CPP_NAMESPACE_END
    00439
    00440
    00441
    00442 #endif  // !defined(XALANNODE_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.