Xerces-C++ 3.1.3

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

DOMXPathResult.hpp
Go to the documentation of this file.
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: DOMXPathResult.hpp 932887 2010-04-11 13:04:59Z borisk $
20 */
21
22 #if !defined(XERCESC_INCLUDE_GUARD_DOMXPATHRESULT_HPP)
23 #define XERCESC_INCLUDE_GUARD_DOMXPATHRESULT_HPP
24
25 #include <xercesc/util/XercesDefs.hpp>
26
27 XERCES_CPP_NAMESPACE_BEGIN
28
29 class DOMXPathNSResolver;
30 class DOMXPathExpression;
31 class DOMTypeInfo;
32 class DOMNode;
33
46 class CDOM_EXPORT DOMXPathResult
47 {
48
49 protected:
50 // -----------------------------------------------------------------------
51 // Hidden constructors
52 // -----------------------------------------------------------------------
55 DOMXPathResult() {};
57
58 private:
59 // -----------------------------------------------------------------------
60 // Unimplemented constructors and operators
61 // -----------------------------------------------------------------------
64 DOMXPathResult(const DOMXPathResult &);
65 DOMXPathResult& operator = (const DOMXPathResult&);
67
68 public:
69 // -----------------------------------------------------------------------
70 // All constructors are hidden, just the destructor is available
71 // -----------------------------------------------------------------------
78 virtual ~DOMXPathResult() {};
80
81 // -----------------------------------------------------------------------
82 // Class Types
83 // -----------------------------------------------------------------------
163 enum ResultType {
164 /* XPath 1.0 */
165 ANY_TYPE = 0,
166 NUMBER_TYPE = 1,
167 STRING_TYPE = 2,
168 BOOLEAN_TYPE = 3,
169 UNORDERED_NODE_ITERATOR_TYPE = 4,
170 ORDERED_NODE_ITERATOR_TYPE = 5,
171 UNORDERED_NODE_SNAPSHOT_TYPE = 6,
172 ORDERED_NODE_SNAPSHOT_TYPE = 7,
173 ANY_UNORDERED_NODE_TYPE = 8,
174 FIRST_ORDERED_NODE_TYPE = 9,
175 /* XPath 2.0 */
176 FIRST_RESULT_TYPE = 100,
177 ITERATOR_RESULT_TYPE = 101,
178 SNAPSHOT_RESULT_TYPE = 102
179 };
181
182
183 // -----------------------------------------------------------------------
184 // Virtual DOMXPathResult interface
185 // -----------------------------------------------------------------------
188
194 virtual ResultType getResultType() const = 0;
195
201 virtual const DOMTypeInfo *getTypeInfo() const = 0;
202
210 virtual bool isNode() const = 0;
211
222 virtual bool getBooleanValue() const = 0;
223
234 virtual int getIntegerValue() const = 0;
235
249 virtual double getNumberValue() const = 0;
250
261 virtual const XMLCh* getStringValue() const = 0;
262
277 virtual DOMNode* getNodeValue() const = 0;
278
291 virtual bool iterateNext() = 0;
292
304 virtual bool getInvalidIteratorState() const = 0;
305
319 virtual bool snapshotItem(XMLSize_t index) = 0;
320
330 virtual XMLSize_t getSnapshotLength() const = 0;
331
333
334 // -----------------------------------------------------------------------
335 // Non-standard Extension
336 // -----------------------------------------------------------------------
345 virtual void release() = 0;
347 };
348
349 XERCES_CPP_NAMESPACE_END
350
351 #endif