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