00001 #ifndef DOMXPathEvaluator_HEADER_GUARD_
00002 #define DOMXPathEvaluator_HEADER_GUARD_
00003
00004 /*
00005 * Copyright 2001-2004 The Apache Software Foundation.
00006 *
00007 * Licensed under the Apache License, Version 2.0 (the "License");
00008 * you may not use this file except in compliance with the License.
00009 * You may obtain a copy of the License at
00010 *
00011 * http://www.apache.org/licenses/LICENSE-2.0
00012 *
00013 * Unless required by applicable law or agreed to in writing, software
00014 * distributed under the License is distributed on an "AS IS" BASIS,
00015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00016 * See the License for the specific language governing permissions and
00017 * limitations under the License.
00018 */
00019
00020 #include <xercesc/util/XercesDefs.hpp>
00021
00022 XERCES_CPP_NAMESPACE_BEGIN
00023
00024 class DOMXPathNSResolver;
00025 class DOMXPathExpression;
00026 class DOMNode;
00027
00041 class DOMXPathEvaluator
00042 {
00043
00044 protected:
00045 // -----------------------------------------------------------------------
00046 // Hidden constructors
00047 // -----------------------------------------------------------------------
00050DOMXPathEvaluator() {};
00052
00053 private:
00054 // -----------------------------------------------------------------------
00055 // Unimplemented constructors and operators
00056 // -----------------------------------------------------------------------
00059 DOMXPathEvaluator(const DOMXPathEvaluator &);
00060 DOMXPathEvaluator& operator = (const DOMXPathEvaluator&);
00062
00063 public:
00064 // -----------------------------------------------------------------------
00065 // All constructors are hidden, just the destructor is available
00066 // -----------------------------------------------------------------------
00073 virtual ~DOMXPathEvaluator() {};
00075
00076 // -----------------------------------------------------------------------
00077 // Virtual DOMDocument interface
00078 // -----------------------------------------------------------------------
00081
00102 virtual const DOMXPathExpression* createExpression(const XMLCh *expression, const DOMXPathNSResolver *resolver) = 0;
00103
00104
00116 virtual const DOMXPathNSResolver* createNSResolver(DOMNode *nodeResolver) = 0;
00117
00118
00163 virtual void* evaluate(const XMLCh *expression, DOMNode *contextNode, const DOMXPathNSResolver *resolver,
00164 unsigned short type, void* result) = 0;
00165
00167 };
00168
00169 XERCES_CPP_NAMESPACE_END
00170
00171 #endif