Xerces-C++  3.2.3
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$
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
DOMXPathResult::getBooleanValue
virtual bool getBooleanValue() const =0
Returns the boolean value of this result.
DOMXPathResult::release
virtual void release()=0
Called to indicate that this DOMXPathResult is no longer in use and that the implementation may relin...
DOMTypeInfo
The DOMTypeInfo interface represent a type used by DOMElement or DOMAttr nodes, specified in the sche...
Definition: DOMTypeInfo.hpp:36
XERCES_CPP_NAMESPACE_BEGIN
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
CDOM_EXPORT
#define CDOM_EXPORT
Definition: XercesDefs.hpp:166
XMLCh
char16_t XMLCh
Definition: Xerces_autoconf_config.hpp:120
DOMXPathExpression
The DOMXPathExpression interface represents a parsed and resolved XPath expression.
Definition: DOMXPathExpression.hpp:37
DOMXPathResult::DOMXPathResult
DOMXPathResult()
Definition: DOMXPathResult.hpp:55
DOMXPathResult::isNode
virtual bool isNode() const =0
Returns true if the result has a current result and the value is a node (XPath 2 only).
DOMXPathResult::getIntegerValue
virtual int getIntegerValue() const =0
Returns the integer value of this result (XPath 2 only).
XERCES_CPP_NAMESPACE_END
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113
DOMXPathResult::getNodeValue
virtual DOMNode * getNodeValue() const =0
Returns the node value of this result.
DOMXPathResult::iterateNext
virtual bool iterateNext()=0
Iterates and returns true if the current result is the next item from the sequence or false if there ...
DOMXPathResult::snapshotItem
virtual bool snapshotItem(XMLSize_t index)=0
Sets the current result to the indexth item in the snapshot collection.
DOMXPathResult::getStringValue
virtual const XMLCh * getStringValue() const =0
Returns the string value of this result.
DOMXPathResult::getNumberValue
virtual double getNumberValue() const =0
Returns the number value of this result.
XMLSize_t
size_t XMLSize_t
Definition: Xerces_autoconf_config.hpp:112
DOMXPathResult::ResultType
ResultType
Definition: DOMXPathResult.hpp:163
DOMXPathResult::getTypeInfo
virtual const DOMTypeInfo * getTypeInfo() const =0
Returns the DOM type info of the current result node or value (XPath 2 only).
DOMXPathResult
The DOMXPathResult interface represents the result of the evaluation of an XPath 1....
Definition: DOMXPathResult.hpp:47
DOMXPathResult::~DOMXPathResult
virtual ~DOMXPathResult()
Destructor.
Definition: DOMXPathResult.hpp:78
XercesDefs.hpp
DOMXPathResult::getSnapshotLength
virtual XMLSize_t getSnapshotLength() const =0
The number of items in the result snapshot.
DOMXPathNSResolver
The DOMXPathNSResolver interface permit prefix strings in the expression to be properly bound to name...
Definition: DOMXPathNSResolver.hpp:37
DOMXPathResult::getInvalidIteratorState
virtual bool getInvalidIteratorState() const =0
Signifies that the iterator has become invalid.
DOMXPathResult::getResultType
virtual ResultType getResultType() const =0
Returns the result type of this result.
DOMNode
The DOMNode interface is the primary datatype for the entire Document Object Model.
Definition: DOMNode.hpp:139