00001 #ifndef _xpathoperror_h 00002 #define _xpathoperror_h 00003 00004 #include <spl/String.h> 00005 #include <spl/RefCountPtrCast.h> 00006 #include <spl/xml/xpath/private/XPathOperator.h> 00007 00008 class XPathOpError; 00009 typedef RefCountPtrCast<XPathOpError, XPathOperator, XPathOperatorPtr> XPathOpErrorPtr; 00010 00013 class XPathOpError : public XPathOperator 00014 { 00015 private: 00016 String m_msg; 00017 00018 public: 00019 XPathOpError(); 00020 XPathOpError(const String& msg); 00021 XPathOpError(const XPathOpError& op); 00022 virtual ~XPathOpError(); 00023 00024 XPathOpError& operator =(const XPathOpError& oproot); 00025 00026 virtual bool IsMatch(XmlNode& context); 00027 virtual XmlNodeListPtr NextContext(XmlNodePtr context); 00028 00029 #if defined(DEBUG) || defined(_DEBUG) 00030 void CheckMem() const; 00031 void ValidateMem() const; 00032 #endif 00033 }; 00034 00035 00036 #endif