Xerces-C++ 3.2.3

DOMXPathEvaluator.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_DOMXPATHEVALUATOR_HPP)
23 #define XERCESC_INCLUDE_GUARD_DOMXPATHEVALUATOR_HPP
24
25 #include <xercesc/util/XercesDefs.hpp>
26 #include <xercesc/dom/DOMXPathResult.hpp>
27
28 XERCES_CPP_NAMESPACE_BEGIN
29
30 class DOMXPathNSResolver;
31 class DOMXPathExpression;
32 class DOMNode;
33
47 class CDOM_EXPORT DOMXPathEvaluator
48 {
49
50 protected:
51 // -----------------------------------------------------------------------
52 // Hidden constructors
53 // -----------------------------------------------------------------------
56 DOMXPathEvaluator() {};
58
59 private:
60 // -----------------------------------------------------------------------
61 // Unimplemented constructors and operators
62 // -----------------------------------------------------------------------
65 DOMXPathEvaluator(const DOMXPathEvaluator &);
66 DOMXPathEvaluator& operator = (const DOMXPathEvaluator&);
68
69 public:
70 // -----------------------------------------------------------------------
71 // All constructors are hidden, just the destructor is available
72 // -----------------------------------------------------------------------
79 virtual ~DOMXPathEvaluator() {};
81
82 // -----------------------------------------------------------------------
83 // Virtual DOMXPathEvaluator interface
84 // -----------------------------------------------------------------------
87
108 virtual DOMXPathExpression* createExpression(const XMLCh *expression,
109 const DOMXPathNSResolver *resolver) = 0;
110
111
125 virtual DOMXPathNSResolver* createNSResolver(const DOMNode *nodeResolver) = 0;
126
127
169 virtual DOMXPathResult* evaluate(const XMLCh *expression,
170 const DOMNode *contextNode,
171 const DOMXPathNSResolver *resolver,
172 DOMXPathResult::ResultType type,
173 DOMXPathResult* result) = 0;
174
176 };
177
178 XERCES_CPP_NAMESPACE_END
179
180 #endif
XERCES_CPP_NAMESPACE_BEGIN
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
CDOM_EXPORT
#define CDOM_EXPORT
Definition: XercesDefs.hpp:166
DOMXPathExpression
The DOMXPathExpression interface represents a parsed and resolved XPath expression.
Definition: DOMXPathExpression.hpp:36
DOMXPathEvaluator
The evaluation of XPath expressions is provided by DOMXPathEvaluator.
Definition: DOMXPathEvaluator.hpp:47
XERCES_CPP_NAMESPACE_END
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113
DOMXPathEvaluator::DOMXPathEvaluator
DOMXPathEvaluator()
Definition: DOMXPathEvaluator.hpp:56
XMLCh
uint16_t XMLCh
Definition: Xerces_autoconf_config.hpp:120
DOMXPathResult::ResultType
ResultType
Definition: DOMXPathResult.hpp:163
DOMXPathResult
The DOMXPathResult interface represents the result of the evaluation of an XPath 1....
Definition: DOMXPathResult.hpp:46
XercesDefs.hpp
DOMXPathNSResolver
The DOMXPathNSResolver interface permit prefix strings in the expression to be properly bound to name...
Definition: DOMXPathNSResolver.hpp:36
DOMXPathEvaluator::~DOMXPathEvaluator
virtual ~DOMXPathEvaluator()
Destructor.
Definition: DOMXPathEvaluator.hpp:79
DOMXPathResult.hpp
DOMNode
The DOMNode interface is the primary datatype for the entire Document Object Model.
Definition: DOMNode.hpp:139