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