Xalan-C++ API Reference  1.12.0
XalanNamedNodeMap.hpp
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 #if !defined(XALANNAMEDNODEMAP_HEADER_GUARD_1357924680)
19 #define XALANNAMEDNODEMAP_HEADER_GUARD_1357924680
20 
21 
22 
24 
25 
26 
27 namespace XALAN_CPP_NAMESPACE {
28 
29 
30 
31 class XalanDOMString;
32 class XalanNode;
33 
34 
35 
37 {
38 public:
39 
41 
42  virtual
44 
45  /**
46  * Returns the <code>index</code>th item in the map.
47  *
48  * If <code>index</code>
49  * is greater than or equal to the number of nodes in the map, this returns
50  * <code>null</code>.
51  * @param index Index into the map.
52  * @return The node at the <code>index</code>th position in the
53  * <code>NamedNodeMap</code>, or <code>null</code> if that is not a valid
54  * index.
55  */
56  virtual XalanNode*
57  item(XalanSize_t index) const = 0;
58 
59  /**
60  * Retrieves a node specified by name.
61  *
62  * @param name The <code>nodeName</code> of a node to retrieve.
63  * @return A <code>Node</code> (of any type) with the specified <code>nodeName</code>, or
64  * <code>null</code> if it does not identify any node in
65  * the map.
66  */
67  virtual XalanNode*
68  getNamedItem(const XalanDOMString& name) const = 0;
69 
70  /**
71  * The number of nodes in the map.
72  *
73  * The range of valid child node indices is
74  * 0 to <code>length-1</code> inclusive.
75  */
76  virtual XalanSize_t
77  getLength() const = 0;
78 
79  /**
80  * Retrieves a node specified by local name and namespace URI.
81  *
82  * @param namespaceURI The <em>namespace URI</em> of
83  * the node to retrieve.
84  * @param localName The <em>local name</em> of the node to retrieve.
85  * @return A <code>Node</code> (of any type) with the specified
86  * local name and namespace URI, or <code>null</code> if they do not
87  * identify any node in the map.
88  */
89  virtual XalanNode*
90  getNamedItemNS(
91  const XalanDOMString& namespaceURI,
92  const XalanDOMString& localName) const = 0;
93 
94 protected:
95 
96  XalanNamedNodeMap(const XalanNamedNodeMap& theSource);
97 
99  operator=(const XalanNamedNodeMap& theSource);
100 
101  bool
102  operator==(const XalanNamedNodeMap& theRHS) const;
103 
104 private:
105 };
106 
107 
108 
109 }
110 
111 
112 
113 #endif // !defined(XALANNAMEDNODEMAP_HEADER_GUARD_1357924680)
XALAN_CPP_NAMESPACE
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Definition: XalanVersion.hpp:76
xalanc::XalanNode
Definition: XalanNode.hpp:38
xalanc::operator==
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
Definition: XalanVector.hpp:1118
xalanc::XalanNamedNodeMap
Definition: XalanNamedNodeMap.hpp:36
XalanDOMDefinitions.hpp
XALAN_DOM_EXPORT
#define XALAN_DOM_EXPORT
Definition: XalanDOMDefinitions.hpp:37
xalanc::XalanDOMString
Definition: XalanDOMString.hpp:45