home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 October / INTERNET108.ISO / pc / software / windows / building / xmlspy / xmlspyentcomplete5.exe / Data1.cab / _4EEE5CBCBEB6454ABD557F45ACA8ACF7 < prev    next >
Encoding:
Text File  |  2003-05-21  |  3.2 KB  |  86 lines

  1. ////////////////////////////////////////////////////////////////////////
  2. //
  3. // Node.h
  4. //
  5. // This file was generated by XMLSPY 5 Enterprise Edition.
  6. //
  7. // YOU SHOULD NOT MODIFY THIS FILE, BECAUSE IT WILL BE
  8. // OVERWRITTEN WHEN YOU RE-RUN CODE GENERATION.
  9. //
  10. // Refer to the XMLSPY Documentation for further details.
  11. // http://www.altova.com/xmlspy
  12. //
  13. ////////////////////////////////////////////////////////////////////////
  14.  
  15.  
  16. #ifndef ALTOVA_NODE_H_INCLUDED
  17. #define ALTOVA_NODE_H_INCLUDED
  18.  
  19. #if _MSC_VER > 1000
  20.     #pragma once
  21. #endif // _MSC_VER > 1000
  22.  
  23. namespace altova {
  24.  
  25.  
  26. class ALTOVA_DECLSPECIFIER CNode
  27. {
  28. public:
  29.     typedef enum {
  30.         Element,
  31.         Attribute
  32.     } ENodeType;
  33.  
  34.     typedef enum
  35.     {
  36.         eSequence,
  37.         eAll,
  38.         eChoice
  39.     } EGroupType;
  40.  
  41. protected:
  42.     CNode();
  43.     CNode(CNode& rParentNode, MSXML2::IXMLDOMNodePtr spThisNode);
  44.     CNode(MSXML2::IXMLDOMDocument2Ptr& rspDocument);
  45.  
  46. public:
  47.     virtual ~CNode();
  48.  
  49.     tstring Transform(const tstring& sXSLTFilename);
  50.  
  51.     tstring GetNodeName() const;
  52.     tstring GetNodeText() const;
  53.     tstring ToXMLString() const;
  54.     MSXML2::IXMLDOMNodePtr GetDOMNode();
  55.  
  56. protected:
  57.     friend class CDoc;
  58.  
  59.     tstring InternalGetElementValue();
  60.     void InternalSetElementValue(tstring sValue);
  61.     void DeclareNamespace(const tstring& sPrefix, const tstring& sURI);
  62.     MSXML2::IXMLDOMNodePtr CreateNode(ENodeType eNodeType, const tstring& sNamespaceURI, const tstring& sName);
  63.     bool CompareChildName(MSXML2::IXMLDOMNodePtr spChild, const tstring& sNamespaceURI, const tstring& sName);
  64.     tstring AdjustQualifiedName(const tstring& sNamespaceURI, const tstring& sName);
  65.     int ChildCountInternal(ENodeType eNodeType, const tstring& sNamespaceURI, const tstring& sName);
  66.     bool InternalHasChild(ENodeType eNodeType, const tstring& sNamespaceURI, const tstring& sName);
  67.     MSXML2::IXMLDOMNodePtr InternalAppend(ENodeType eNodeType, const tstring& sNamespaceURI, const tstring& sName, const tstring& sValue);
  68.     MSXML2::IXMLDOMNodePtr InternalAppendNode(const tstring& sNamespaceURI, const tstring& sElement, CNode& rNode, MSXML2::IXMLDOMNodePtr spHostNode = MSXML2::IXMLDOMNodePtr());
  69.     MSXML2::IXMLDOMNodePtr InternalRemoveAt(ENodeType eNodeType, const tstring& sNamespaceURI, const tstring& sName, int nIndex);
  70.     MSXML2::IXMLDOMNodePtr InternalInsertAt(ENodeType eNodeType, const tstring& sNamespaceURI, const tstring& sName, int nIndex, const tstring& sValue);
  71.     MSXML2::IXMLDOMNodePtr InternalInsertNodeAt(const tstring& sNamespaceURI, const tstring& sName, int nIndex, CNode& rNode);
  72.     MSXML2::IXMLDOMNodePtr InternalReplaceAt(ENodeType eNodeType, const tstring& sNamespaceURI, const tstring& sName, int nIndex, const tstring& sValue);
  73.     MSXML2::IXMLDOMNodePtr InternalReplaceNodeAt(const tstring& sNamespaceURI, const tstring& sName, int nIndex, CNode& rNode);
  74.     MSXML2::IXMLDOMNodePtr InternalGetAt(ENodeType eNodeType, const tstring& sNamespaceURI, const tstring& sName, int nIndex);
  75.     MSXML2::IXMLDOMNodePtr InternalSet(ENodeType eNodeType, const tstring& sNamespaceURI, const tstring& sName, const tstring& sValue);
  76.     static tstring LookupPrefix(MSXML2::IXMLDOMNodePtr spNode, const tstring& sURI);
  77.  
  78.     MSXML2::IXMLDOMDocument2Ptr    m_spDocument;
  79.     MSXML2::IXMLDOMNodePtr        m_spNode;
  80. };
  81.  
  82.  
  83. } // namespace altova
  84.  
  85. #endif // ALTOVA_NODE_H_INCLUDED
  86.