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(XALANNAMEDNODEMAP_HEADER_GUARD_1357924680) 00019 #define XALANNAMEDNODEMAP_HEADER_GUARD_1357924680 00020 00021 00022 00023 #include <xalanc/XalanDOM/XalanDOMDefinitions.hpp> 00024 00025 00026 00027 XALAN_CPP_NAMESPACE_BEGIN 00028 00029 00030 00031 class XalanDOMString; 00032 class XalanNode; 00033 00034 00035 00036 class XALAN_DOM_EXPORT XalanNamedNodeMap 00037 { 00038 public: 00039 00040 XalanNamedNodeMap(); 00041 00042 virtual 00043 ~XalanNamedNodeMap(); 00044 00045 /** 00046 * Returns the <code>index</code>th item in the map. 00047 * 00048 * If <code>index</code> 00049 * is greater than or equal to the number of nodes in the map, this returns 00050 * <code>null</code>. 00051 * @param index Index into the map. 00052 * @return The node at the <code>index</code>th position in the 00053 * <code>NamedNodeMap</code>, or <code>null</code> if that is not a valid 00054 * index. 00055 */ 00056 virtual XalanNode* 00057 item(XalanSize_t index) const = 0; 00058 00059 /** 00060 * Retrieves a node specified by name. 00061 * 00062 * @param name The <code>nodeName</code> of a node to retrieve. 00063 * @return A <code>Node</code> (of any type) with the specified <code>nodeName</code>, or 00064 * <code>null</code> if it does not identify any node in 00065 * the map. 00066 */ 00067 virtual XalanNode* 00068 getNamedItem(const XalanDOMString& name) const = 0; 00069 00070 /** 00071 * The number of nodes in the map. 00072 * 00073 * The range of valid child node indices is 00074 * 0 to <code>length-1</code> inclusive. 00075 */ 00076 virtual XalanSize_t 00077 getLength() const = 0; 00078 00079 /** 00080 * Retrieves a node specified by local name and namespace URI. 00081 * 00082 * @param namespaceURI The <em>namespace URI</em> of 00083 * the node to retrieve. 00084 * @param localName The <em>local name</em> of the node to retrieve. 00085 * @return A <code>Node</code> (of any type) with the specified 00086 * local name and namespace URI, or <code>null</code> if they do not 00087 * identify any node in the map. 00088 */ 00089 virtual XalanNode* 00090 getNamedItemNS( 00091 const XalanDOMString& namespaceURI, 00092 const XalanDOMString& localName) const = 0; 00093 00094 protected: 00095 00096 XalanNamedNodeMap(const XalanNamedNodeMap& theSource); 00097 00098 XalanNamedNodeMap& 00099 operator=(const XalanNamedNodeMap& theSource); 00100 00101 bool 00102 operator==(const XalanNamedNodeMap& theRHS) const; 00103 00104 private: 00105 }; 00106 00107 00108 00109 XALAN_CPP_NAMESPACE_END 00110 00111 00112 00113 #endif // !defined(XALANNAMEDNODEMAP_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 |
|