Xerces-C++  3.1.2
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 
26 
28 
29 class DOMXPathNSResolver;
30 class DOMXPathExpression;
31 class DOMTypeInfo;
32 class DOMNode;
33 
47 {
48 
49 protected:
50  // -----------------------------------------------------------------------
51  // Hidden constructors
52  // -----------------------------------------------------------------------
57 
58 private:
59  // -----------------------------------------------------------------------
60  // Unimplemented constructors and operators
61  // -----------------------------------------------------------------------
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 
350 
351 #endif
The DOMXPathExpression interface represents a parsed and resolved XPath expression.
Definition: DOMXPathExpression.hpp:36
ResultType
Definition: DOMXPathResult.hpp:163
#define CDOM_EXPORT
Definition: XercesDefs.hpp:166
SIZE_T XMLSize_t
Definition: Xerces_autoconf_config.borland.hpp:86
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
wchar_t XMLCh
Definition: Xerces_autoconf_config.borland.hpp:92
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113
DOMXPathResult()
Definition: DOMXPathResult.hpp:55
The DOMNode interface is the primary datatype for the entire Document Object Model.
Definition: DOMNode.hpp:139
The DOMXPathNSResolver interface permit prefix strings in the expression to be properly bound to name...
Definition: DOMXPathNSResolver.hpp:36
The DOMTypeInfo interface represent a type used by DOMElement or DOMAttr nodes, specified in the sche...
Definition: DOMTypeInfo.hpp:35
The DOMXPathResult interface represents the result of the evaluation of an XPath 1.0 or XPath 2.0 expression within the context of a particular node.
Definition: DOMXPathResult.hpp:46
virtual ~DOMXPathResult()
Destructor.
Definition: DOMXPathResult.hpp:78