00001 /* 00002 * Licensed to the Apache Software Foundation (ASF) under one 00003 * or more contributor license agreements. See the NOTICE file 00004 * distributed with this work for additional information 00005 * regarding copyright ownership. The ASF licenses this file 00006 * to you under the Apache License, Version 2.0 (the "License"); 00007 * you may not use this file except in compliance with the License. 00008 * You may obtain a copy of the License at 00009 * 00010 * http://www.apache.org/licenses/LICENSE-2.0 00011 * 00012 * Unless required by applicable law or agreed to in writing, software 00013 * distributed under the License is distributed on an "AS IS" BASIS, 00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 * See the License for the specific language governing permissions and 00016 * limitations under the License. 00017 */ 00018 #if !defined(XALANENTITY_HEADER_GUARD_1357924680) 00019 #define XALANENTITY_HEADER_GUARD_1357924680 00020 00021 00022 00023 #include <xalanc/XalanDOM/XalanDOMDefinitions.hpp> 00024 #include <xalanc/XalanDOM/XalanNode.hpp> 00025 00026 00027 00028 XALAN_CPP_NAMESPACE_BEGIN 00029 00030 00031 00032 /* 00033 * <meta name="usage" content="deprecated"/> 00034 * 00035 * Base class for the DOM Entity interface. 00036 * 00037 * This class is deprecated and should not be used!! 00038 */ 00039 00040 class XALAN_DOM_EXPORT XalanEntity : public XalanNode 00041 { 00042 public: 00043 00044 XalanEntity(); 00045 00046 virtual 00047 ~XalanEntity(); 00048 00049 00050 // These interfaces are inherited from XalanNode... 00051 00052 virtual const XalanDOMString& 00053 getNodeName() const = 0; 00054 00055 /** 00056 * Gets the value of this node, depending on its type. 00057 */ 00058 virtual const XalanDOMString& 00059 getNodeValue() const = 0; 00060 00061 /** 00062 * An enum value representing the type of the underlying object. 00063 */ 00064 virtual NodeType 00065 getNodeType() const = 0; 00066 00067 /** 00068 * Gets the parent of this node. 00069 * 00070 * All nodes, except <code>Document</code>, 00071 * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent. 00072 * However, if a node has just been created and not yet added to the tree, 00073 * or if it has been removed from the tree, a <code>null</code> Node 00074 * is returned. 00075 */ 00076 virtual XalanNode* 00077 getParentNode() const = 0; 00078 00079 /** 00080 * Gets a <code>NodeList</code> that contains all children of this node. 00081 * 00082 * If there 00083 * are no children, this is a <code>NodeList</code> containing no nodes. 00084 * The content of the returned <code>NodeList</code> is "live" in the sense 00085 * that, for instance, changes to the children of the node object that 00086 * it was created from are immediately reflected in the nodes returned by 00087 * the <code>NodeList</code> accessors; it is not a static snapshot of the 00088 * content of the node. This is true for every <code>NodeList</code>, 00089 * including the ones returned by the <code>getElementsByTagName</code> 00090 * method. 00091 */ 00092 virtual const XalanNodeList* 00093 getChildNodes() const = 0; 00094 00095 /** 00096 * Gets the first child of this node. 00097 * 00098 * If there is no such node, this returns <code>null</code>. 00099 */ 00100 virtual XalanNode* 00101 getFirstChild() const = 0; 00102 00103 /** 00104 * Gets the last child of this node. 00105 * 00106 * If there is no such node, this returns <code>null</code>. 00107 */ 00108 virtual XalanNode* 00109 getLastChild() const = 0; 00110 00111 /** 00112 * Gets the node immediately preceding this node. 00113 * 00114 * If there is no such node, this returns <code>null</code>. 00115 */ 00116 virtual XalanNode* 00117 getPreviousSibling() const = 0; 00118 00119 /** 00120 * Gets the node immediately following this node. 00121 * 00122 * If there is no such node, this returns <code>null</code>. 00123 */ 00124 virtual XalanNode* 00125 getNextSibling() const = 0; 00126 00127 /** 00128 * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it 00129 * is an <code>Element</code>) or <code>null</code> otherwise. 00130 */ 00131 virtual const XalanNamedNodeMap* 00132 getAttributes() const = 0; 00133 00134 /** 00135 * Gets the <code>Document</code> object associated with this node. 00136 * 00137 * This is also 00138 * the <code>Document</code> object used to create new nodes. When this 00139 * node is a <code>Document</code> or a <code>DocumentType</code> 00140 * which is not used with any <code>Document</code> yet, this is 00141 * <code>null</code>. 00142 */ 00143 virtual XalanDocument* 00144 getOwnerDocument() const = 0; 00145 00146 /** 00147 * Get the <em>namespace URI</em> of 00148 * this node, or <code>null</code> if it is unspecified. 00149 * <p> 00150 * This is not a computed value that is the result of a namespace lookup 00151 * based on an examination of the namespace declarations in scope. It is 00152 * merely the namespace URI given at creation time. 00153 * <p> 00154 * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and 00155 * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method, 00156 * such as <CODE>createElement</CODE> from the <CODE>Document</CODE> 00157 * interface, this is always <CODE>null</CODE>. 00158 */ 00159 virtual const XalanDOMString& 00160 getNamespaceURI() const = 0; 00161 00162 /** 00163 * Get the <em>namespace prefix</em> 00164 * of this node, or <code>null</code> if it is unspecified. 00165 */ 00166 virtual const XalanDOMString& 00167 getPrefix() const = 0; 00168 00169 /** 00170 * Returns the local part of the <em>qualified name</em> of this node. 00171 * <p> 00172 * For nodes created with a DOM Level 1 method, such as 00173 * <code>createElement</code> from the <code>Document</code> interface, 00174 * it is null. 00175 */ 00176 virtual const XalanDOMString& 00177 getLocalName() const = 0; 00178 00179 /** 00180 * Determine if the document is node-order indexed. 00181 * 00182 * @return true if the document is indexed, otherwise false. 00183 */ 00184 virtual bool 00185 isIndexed() const = 0; 00186 00187 /** 00188 * Get the node's index. Valid only if the owner document 00189 * reports that the document is node-order indexed. 00190 * 00191 * @return The index value, or 0 if the node is not indexed. 00192 */ 00193 virtual IndexType 00194 getIndex() const = 0; 00195 00196 // These interfaces are new to XalanEntity... 00197 00198 /** 00199 * Get the public identifier of this notation. 00200 * 00201 * If the public identifier was not 00202 * specified, this is <code>null</code>. 00203 * @return Returns the public identifier of the notation 00204 */ 00205 virtual const XalanDOMString& 00206 getPublicId() const = 0; 00207 00208 /** 00209 * Get the system identifier of this notation. 00210 * 00211 * If the system identifier was not 00212 * specified, this is <code>null</code>. 00213 * @return Returns the system identifier of the notation 00214 */ 00215 virtual const XalanDOMString& 00216 getSystemId() const = 0; 00217 00218 /** 00219 * For unparsed entities, the name of the notation for the entity. 00220 * 00221 * For parsed entities, this is <code>null</code>. 00222 */ 00223 virtual const XalanDOMString& 00224 getNotationName() const = 0; 00225 00226 protected: 00227 00228 XalanEntity(const XalanEntity& theSource); 00229 00230 XalanEntity& 00231 operator=(const XalanEntity& theSource); 00232 00233 bool 00234 operator==(const XalanEntity& theRHS) const; 00235 00236 private: 00237 }; 00238 00239 00240 00241 XALAN_CPP_NAMESPACE_END 00242 00243 00244 00245 #endif // !defined(XALANENTITY_HEADER_GUARD_1357924680)
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
Xalan-C++ XSLT Processor Version 1.11 |
|