xj qian
2024-12-05 bd09edf1b441dcc6ab098f277bea86a72c009879
jrj/xframe/kobject/kxml.hpp
@@ -13,7 +13,7 @@
   class KXMLDOMTextNode;
   class KXMLDOMProcessingInstruction;
   class KXMLDOMNodeList;
   class KXMLParseError;
   class KXMLDOMParseError;
   enum  KDOMNodeType
   {
@@ -141,9 +141,13 @@
         this->AddRef();
         return (LPARAM)this->getImpl();
      }
      KXMLDOMNode(LPARAM p) :KXMLDOMNode((void*)p) {}
      KXMLDOMNode(LPARAM p) :KXMLDOMNode((void*)p) {
         AddRef();
      }
   public:
      operator bool() { return impl ? true : false; }
      bool operator !=(KXMLDOMNode& rhs) { return rhs.getImpl() != getImpl(); }
      bool operator ==(KXMLDOMNode& rhs) { return rhs.getImpl() == getImpl(); }
   public:
      void* getImpl();
   };
@@ -156,9 +160,7 @@
      KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {}
      KXMLDOMElement() :KXMLDOMNode() {}
   public:
      KXMLDOMElement(LPARAM p) :KXMLDOMNode((void*)p) {
         AddRef();
      }
      KXMLDOMElement(LPARAM p) :KXMLDOMNode(p) {}
   };
   class KXMLDOMDocument : public KXMLDOMNode
@@ -210,7 +212,7 @@
      wchar_t* transformNode(KXMLDOMNode);
      KXMLDOMNode transformNodeToObject(KXMLDOMNode);
      KXMLParseError validate();
      KXMLDOMParseError validate();
      //bool validateNode();
   public:
      KXMLDOMDocument(void* impl);
@@ -219,6 +221,11 @@
   public:
      const KXMLDOMDocument& operator =(const KXMLDOMDocument& rhs);
      KXMLDOMDocument(const KXMLDOMDocument& rhs);
   public:
      void Reset()
      {
         if (documentElement())removeChild(documentElement());
      }
   };
   class KXMLDOMAttribute : public KXMLDOMNode
@@ -277,11 +284,19 @@
using KXMLDOMElement=Hxsoft::XFrame::KXMLDOMElement;
using KXMLDOMNodeList = Hxsoft::XFrame::KXMLDOMNodeList;
class KXMLParseError : public KXMLDOMNode
class KXMLDOMParseError : public KXMLDOMNode
{
public:
   KXMLParseError(KXMLDOMNode& v);
   KXMLParseError(void* impl) :KXMLDOMNode(impl) {}
   KXMLDOMParseError(KXMLDOMNode& v);
   KXMLDOMParseError(void* impl) :KXMLDOMNode(impl) {}
public:
   int errorCode();
   int filepos();
   int line();
   int linepos();
   BSTR reason();
   BSTR srcText();
   BSTR url();
};
class KXMLDOMElementPtr