source: icXML/icXML-devel/src/xercesc/dom/DOMNodeList.hpp @ 2722

Last change on this file since 2722 was 2722, checked in by cameron, 6 years ago

Original Xerces files with import mods for icxercesc

File size: 3.7 KB
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * $Id: DOMNodeList.hpp 671894 2008-06-26 13:29:21Z borisk $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_DOMNODELIST_HPP)
23#define XERCESC_INCLUDE_GUARD_DOMNODELIST_HPP
24
25#include <xercesc/util/XercesDefs.hpp>
26
27XERCES_CPP_NAMESPACE_BEGIN
28
29
30class DOMNode;
31
32
33/**
34 * The <code>DOMNodeList</code> interface provides the abstraction of an ordered
35 * collection of nodes.  DOMNodeLists are created by DOMDocument::getElementsByTagName(),
36 * DOMNode::getChildNodes(),
37 *
38 * <p>The items in the <code>DOMNodeList</code> are accessible via an integral
39 * index, starting from 0.
40 *
41 * DOMNodeLists are "live", in that any changes to the document tree are immediately
42 * reflected in any DOMNodeLists that may have been created for that tree.
43 */
44
45class  CDOM_EXPORT DOMNodeList {
46protected:
47    // -----------------------------------------------------------------------
48    //  Hidden constructors
49    // -----------------------------------------------------------------------
50    /** @name Hidden constructors */
51    //@{
52    DOMNodeList() {};
53    //@}
54
55private:
56    // -----------------------------------------------------------------------
57    // Unimplemented constructors and operators
58    // -----------------------------------------------------------------------
59    /** @name Unimplemented constructors and operators */
60    //@{
61    DOMNodeList(const DOMNodeList &);
62    DOMNodeList & operator = (const DOMNodeList &);
63    //@}
64
65public:
66    // -----------------------------------------------------------------------
67    //  All constructors are hidden, just the destructor is available
68    // -----------------------------------------------------------------------
69    /** @name Destructor */
70    //@{
71    /**
72     * Destructor
73     *
74     */
75    virtual ~DOMNodeList()  {};
76    //@}
77
78    // -----------------------------------------------------------------------
79    //  Virtual DOMNodeList interface
80    // -----------------------------------------------------------------------
81    /** @name Functions introduced in DOM Level 1 */
82    //@{
83    // -----------------------------------------------------------------------
84    //  Getter methods
85    // -----------------------------------------------------------------------
86    /**
87     * Returns the <code>index</code> item in the collection.
88     *
89     * If <code>index</code> is greater than or equal to the number of nodes in
90     * the list, this returns <code>null</code>.
91     *
92     * @param index Index into the collection.
93     * @return The node at the <code>index</code>th position in the
94     *   <code>DOMNodeList</code>, or <code>null</code> if that is not a valid
95     *   index.
96     * @since DOM Level 1
97     */
98    virtual DOMNode  *item(XMLSize_t index) const = 0;
99
100    /**
101     * Returns the number of nodes in the list.
102     *
103     * The range of valid child node indices is 0 to <code>length-1</code> inclusive.
104     * @since DOM Level 1
105     */
106    virtual XMLSize_t getLength() const = 0;
107    //@}
108};
109
110XERCES_CPP_NAMESPACE_END
111
112#endif
Note: See TracBrowser for help on using the repository browser.