00001 #ifndef DOMXPathEvaluator_HEADER_GUARD_
00002 #define DOMXPathEvaluator_HEADER_GUARD_
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
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     
00047     
00050     DOMXPathEvaluator() {};
00052 
00053 private:
00054     
00055     
00056     
00059     DOMXPathEvaluator(const DOMXPathEvaluator &);
00060     DOMXPathEvaluator& operator = (const  DOMXPathEvaluator&);
00062 
00063 public:
00064     
00065     
00066     
00073     virtual ~DOMXPathEvaluator() {};
00075 
00076     
00077     
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