source: icXML/icXML-devel/src/icxercesc/dom/impl/DOMXPathExpressionImpl.hpp @ 2774

Last change on this file since 2774 was 2774, checked in by cameron, 6 years ago

Various fixes

File size: 2.3 KB
Line 
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: DOMXPathExpressionImpl.hpp 671894 2008-06-26 13:29:21Z borisk $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_DOMXPATHEXPRESSIONIMPL_HPP)
23#define XERCESC_INCLUDE_GUARD_DOMXPATHEXPRESSIONIMPL_HPP
24
25#include <xercesc/util/XMemory.hpp>
26#include <icxercesc/util/PlatformUtils.hpp>
27#include <xercesc/dom/DOMXPathExpression.hpp>
28
29XERCES_CPP_NAMESPACE_BEGIN
30
31class DOMElement;
32class XercesXPath;
33class XPathMatcher;
34class DOMXPathResultImpl;
35class DOMXPathNSResolver;
36class XMLStringPool;
37
38class CDOM_EXPORT DOMXPathExpressionImpl :  public XMemory,
39                                            public DOMXPathExpression
40{
41public:
42    DOMXPathExpressionImpl(const XMLCh *expression,
43                           const DOMXPathNSResolver *resolver,
44                           MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
45    virtual ~DOMXPathExpressionImpl();
46
47    virtual DOMXPathResult* evaluate(const DOMNode *contextNode,
48                                     DOMXPathResult::ResultType type,
49                                     DOMXPathResult* result) const;
50
51    virtual void release();
52
53protected:
54    bool testNode(XPathMatcher* matcher,
55                  DOMXPathResultImpl* result,
56                  DOMElement *node) const;
57    void cleanUp();
58
59    XMLStringPool*              fStringPool;
60    XercesXPath*                fParsedExpression;
61    XMLCh*                      fExpression;
62    bool                        fMoveToRoot;
63
64    MemoryManager* const        fMemoryManager;
65};
66
67XERCES_CPP_NAMESPACE_END
68
69#endif
Note: See TracBrowser for help on using the repository browser.