source: NonGTP/Xerces/xerces-c_2_8_0/include/xercesc/dom/DOMNodeList.hpp @ 2674

Revision 2674, 3.7 KB checked in by mattausch, 16 years ago (diff)
Line 
1#ifndef DOMNodeList_HEADER_GUARD_
2#define DOMNodeList_HEADER_GUARD_
3
4/*
5 * Licensed to the Apache Software Foundation (ASF) under one or more
6 * contributor license agreements.  See the NOTICE file distributed with
7 * this work for additional information regarding copyright ownership.
8 * The ASF licenses this file to You under the Apache License, Version 2.0
9 * (the "License"); you may not use this file except in compliance with
10 * the License.  You may obtain a copy of the License at
11 *
12 *      http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 */
20
21/*
22 * $Id: DOMNodeList.hpp 568078 2007-08-21 11:43:25Z amassari $
23 */
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
113
114
Note: See TracBrowser for help on using the repository browser.