00001 #ifndef DOMXPathEvaluator_HEADER_GUARD_00002 #define DOMXPathEvaluator_HEADER_GUARD_00003
00004 /*00005 * Licensed to the Apache Software Foundation (ASF) under one or more00006 * contributor license agreements. See the NOTICE file distributed with00007 * this work for additional information regarding copyright ownership.00008 * The ASF licenses this file to You under the Apache License, Version 2.000009 * (the "License"); you may not use this file except in compliance with00010 * the License. You may obtain a copy of the License at00011 * 00012 * http://www.apache.org/licenses/LICENSE-2.000013 * 00014 * Unless required by applicable law or agreed to in writing, software00015 * distributed under the License is distributed on an "AS IS" BASIS,00016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.00017 * See the License for the specific language governing permissions and00018 * limitations under the License.00019 */00020
00021 #include <xercesc/util/XercesDefs.hpp>00022
00023 XERCES_CPP_NAMESPACE_BEGIN00024
00025 class DOMXPathNSResolver;
00026 class DOMXPathExpression;
00027 class DOMNode;
00028
00042class DOMXPathEvaluator00043 {
00044
00045 protected:
00046 // -----------------------------------------------------------------------00047 // Hidden constructors00048 // -----------------------------------------------------------------------00051DOMXPathEvaluator() {};
00053
00054 private:
00055 // -----------------------------------------------------------------------00056 // Unimplemented constructors and operators00057 // -----------------------------------------------------------------------00060 DOMXPathEvaluator(constDOMXPathEvaluator &);
00061 DOMXPathEvaluator& operator = (constDOMXPathEvaluator&);
00063
00064 public:
00065 // -----------------------------------------------------------------------00066 // All constructors are hidden, just the destructor is available00067 // -----------------------------------------------------------------------00074virtual ~DOMXPathEvaluator() {};
00076
00077 // -----------------------------------------------------------------------00078 // Virtual DOMDocument interface00079 // -----------------------------------------------------------------------00082
00103 virtualconstDOMXPathExpression* createExpression(const XMLCh *expression, constDOMXPathNSResolver *resolver) = 0;
00104
00105
00117 virtualconstDOMXPathNSResolver* createNSResolver(DOMNode *nodeResolver) = 0;
00118
00119
00164 virtualvoid* evaluate(const XMLCh *expression, DOMNode *contextNode, constDOMXPathNSResolver *resolver,
00165 unsignedshort type, void* result) = 0;
00166
00168 };
00169
00170 XERCES_CPP_NAMESPACE_END00171
00172 #endif