XTPXMLHelpers.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:26k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // XTPXMLhelpers.h : XML Helpers
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. //{{AFX_CODEJOCK_PRIVATE
  21. #if !defined(__XTPXMLHELPERS_H__)
  22. #define __XTPXMLHELPERS_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER >= 1000
  25. #pragma once
  26. #endif // _MSC_VER >= 1000
  27. // Uncomment _XTP_EXCLUDE_XML to disable all XML used functions.
  28. //#define _XTP_EXCLUDE_XML
  29. #ifndef  _XTP_EXCLUDE_XML
  30. #pragma pack(push, 8)
  31. #if (_MSC_VER > 1100)
  32. #pragma warning(push)
  33. #endif
  34. #pragma warning(disable : 4310)
  35. #pragma warning(disable : 4244)
  36. #pragma warning(disable : 4786)
  37. #include <comdef.h>
  38. namespace XTPXML {
  39. struct __declspec(uuid("2933bf8f-7b36-11d2-b20e-00c04f983e60")) IXMLDOMImplementation;
  40. struct __declspec(uuid("2933bf80-7b36-11d2-b20e-00c04f983e60")) IXMLDOMNode;
  41. struct __declspec(uuid("2933bf82-7b36-11d2-b20e-00c04f983e60")) IXMLDOMNodeList;
  42. struct __declspec(uuid("2933bf83-7b36-11d2-b20e-00c04f983e60")) IXMLDOMNamedNodeMap;
  43. struct __declspec(uuid("2933bf81-7b36-11d2-b20e-00c04f983e60")) IXMLDOMDocument;
  44. struct __declspec(uuid("2933bf8b-7b36-11d2-b20e-00c04f983e60")) IXMLDOMDocumentType;
  45. struct __declspec(uuid("2933bf86-7b36-11d2-b20e-00c04f983e60")) IXMLDOMElement;
  46. struct __declspec(uuid("2933bf85-7b36-11d2-b20e-00c04f983e60")) IXMLDOMAttribute;
  47. struct __declspec(uuid("3efaa413-272f-11d2-836f-0000f87a7782")) IXMLDOMDocumentFragment;
  48. struct __declspec(uuid("2933bf87-7b36-11d2-b20e-00c04f983e60")) IXMLDOMText;
  49. struct __declspec(uuid("2933bf8a-7b36-11d2-b20e-00c04f983e60")) IXMLDOMCDATASection;
  50. struct __declspec(uuid("2933bf89-7b36-11d2-b20e-00c04f983e60")) IXMLDOMProcessingInstruction;
  51. struct __declspec(uuid("2933bf8e-7b36-11d2-b20e-00c04f983e60")) IXMLDOMEntityReference;
  52. struct __declspec(uuid("3efaa426-272f-11d2-836f-0000f87a7782")) IXMLDOMParseError;
  53. struct __declspec(uuid("2933bf8c-7b36-11d2-b20e-00c04f983e60")) IXMLDOMNotation;
  54. struct __declspec(uuid("2933bf8d-7b36-11d2-b20e-00c04f983e60")) IXMLDOMEntity;
  55. struct __declspec(uuid("3efaa425-272f-11d2-836f-0000f87a7782")) IXTLRuntime;
  56. struct __declspec(uuid("3efaa427-272f-11d2-836f-0000f87a7782")) IXMLDOMDocumentEvents;
  57. struct __declspec(uuid("65725580-9b5d-11d0-9bfe-00c04fc99c8e")) IXMLElementCollection;
  58. struct __declspec(uuid("f52e2b61-18a1-11d1-b105-00805f49916b")) IXMLDocument;
  59. struct __declspec(uuid("3f7f31ac-e15f-11d0-9c25-00c04fc99c8e")) IXMLElement;
  60. struct __declspec(uuid("2b8de2fe-8d2d-11d1-b2fc-00c04fd915a9")) IXMLDocument2;
  61. struct __declspec(uuid("2b8de2ff-8d2d-11d1-b2fc-00c04fd915a9")) IXMLElement2;
  62. struct __declspec(uuid("d4d4a0fc-3b73-11d1-b2b4-00c04fb92596")) IXMLAttribute;
  63. struct __declspec(uuid("948c5ad3-c58d-11d0-9c0b-00c04fc99c8e")) IXMLError;
  64. struct __declspec(uuid("2933bf88-7b36-11d2-b20e-00c04f983e60")) IXMLDOMComment;
  65. _COM_SMARTPTR_TYPEDEF(IXMLDOMImplementation, __uuidof(IXMLDOMImplementation));
  66. _COM_SMARTPTR_TYPEDEF(IXMLDOMNode, __uuidof(IXMLDOMNode));
  67. _COM_SMARTPTR_TYPEDEF(IXMLDOMNodeList, __uuidof(IXMLDOMNodeList));
  68. _COM_SMARTPTR_TYPEDEF(IXMLDOMNamedNodeMap, __uuidof(IXMLDOMNamedNodeMap));
  69. _COM_SMARTPTR_TYPEDEF(IXMLDOMDocument, __uuidof(IXMLDOMDocument));
  70. _COM_SMARTPTR_TYPEDEF(IXMLDOMDocumentType, __uuidof(IXMLDOMDocumentType));
  71. _COM_SMARTPTR_TYPEDEF(IXMLDOMElement, __uuidof(IXMLDOMElement));
  72. _COM_SMARTPTR_TYPEDEF(IXMLDOMAttribute, __uuidof(IXMLDOMAttribute));
  73. _COM_SMARTPTR_TYPEDEF(IXMLDOMDocumentFragment, __uuidof(IXMLDOMDocumentFragment));
  74. _COM_SMARTPTR_TYPEDEF(IXMLDOMText, __uuidof(IXMLDOMText));
  75. _COM_SMARTPTR_TYPEDEF(IXMLDOMCDATASection, __uuidof(IXMLDOMCDATASection));
  76. _COM_SMARTPTR_TYPEDEF(IXMLDOMProcessingInstruction, __uuidof(IXMLDOMProcessingInstruction));
  77. _COM_SMARTPTR_TYPEDEF(IXMLDOMEntityReference, __uuidof(IXMLDOMEntityReference));
  78. _COM_SMARTPTR_TYPEDEF(IXMLDOMParseError, __uuidof(IXMLDOMParseError));
  79. _COM_SMARTPTR_TYPEDEF(IXMLDOMNotation, __uuidof(IXMLDOMNotation));
  80. _COM_SMARTPTR_TYPEDEF(IXMLDOMEntity, __uuidof(IXMLDOMEntity));
  81. _COM_SMARTPTR_TYPEDEF(IXTLRuntime, __uuidof(IXTLRuntime));
  82. _COM_SMARTPTR_TYPEDEF(IXMLDOMDocumentEvents, __uuidof(IDispatch));
  83. _COM_SMARTPTR_TYPEDEF(IXMLElementCollection, __uuidof(IXMLElementCollection));
  84. _COM_SMARTPTR_TYPEDEF(IXMLDocument, __uuidof(IXMLDocument));
  85. _COM_SMARTPTR_TYPEDEF(IXMLElement, __uuidof(IXMLElement));
  86. _COM_SMARTPTR_TYPEDEF(IXMLDocument2, __uuidof(IXMLDocument2));
  87. _COM_SMARTPTR_TYPEDEF(IXMLElement2, __uuidof(IXMLElement2));
  88. _COM_SMARTPTR_TYPEDEF(IXMLAttribute, __uuidof(IXMLAttribute));
  89. _COM_SMARTPTR_TYPEDEF(IXMLError, __uuidof(IXMLError));
  90. //
  91. // Type library items
  92. //
  93. struct _xml_error
  94. {
  95. unsigned int _nLine;
  96. BSTR _pchBuf;
  97. unsigned int _cchBuf;
  98. unsigned int _ich;
  99. BSTR _pszFound;
  100. BSTR _pszExpected;
  101. unsigned long _reserved1;
  102. unsigned long _reserved2;
  103. };
  104. enum DOMNodeType
  105. {
  106. XMLELEMTYPE_ELEMENT = 0,
  107. XMLELEMTYPE_TEXT = 1,
  108. XMLELEMTYPE_COMMENT = 2,
  109. XMLELEMTYPE_DOCUMENT = 3,
  110. XMLELEMTYPE_DTD = 4,
  111. XMLELEMTYPE_PI = 5,
  112. XMLELEMTYPE_OTHER = 6
  113. };
  114. struct __declspec(uuid("2933bf8f-7b36-11d2-b20e-00c04f983e60"))
  115. IXMLDOMImplementation : public IDispatch
  116. {
  117. //
  118. // Raw methods provided by interface
  119. //
  120. virtual HRESULT __stdcall hasFeature (
  121. BSTR feature,
  122. BSTR version,
  123. VARIANT_BOOL * hasFeature) = 0;
  124. };
  125. struct __declspec(uuid("2933bf80-7b36-11d2-b20e-00c04f983e60"))
  126. IXMLDOMNode : public IDispatch
  127. {
  128. //
  129. // Raw methods provided by interface
  130. //
  131. virtual HRESULT __stdcall get_nodeName (
  132. BSTR * name) = 0;
  133. virtual HRESULT __stdcall get_nodeValue (
  134. VARIANT * value) = 0;
  135. virtual HRESULT __stdcall put_nodeValue (
  136. VARIANT value) = 0;
  137. virtual HRESULT __stdcall get_nodeType (
  138. DOMNodeType * type) = 0;
  139. virtual HRESULT __stdcall get_parentNode (
  140. struct IXMLDOMNode * * parent) = 0;
  141. virtual HRESULT __stdcall get_childNodes (
  142. struct IXMLDOMNodeList * * childList) = 0;
  143. virtual HRESULT __stdcall get_firstChild (
  144. struct IXMLDOMNode * * firstChild) = 0;
  145. virtual HRESULT __stdcall get_lastChild (
  146. struct IXMLDOMNode * * lastChild) = 0;
  147. virtual HRESULT __stdcall get_previousSibling (
  148. struct IXMLDOMNode * * previousSibling) = 0;
  149. virtual HRESULT __stdcall get_nextSibling (
  150. struct IXMLDOMNode * * nextSibling) = 0;
  151. virtual HRESULT __stdcall get_attributes (
  152. struct IXMLDOMNamedNodeMap * * attributeMap) = 0;
  153. virtual HRESULT __stdcall insertBefore (
  154. struct IXMLDOMNode * newChild,
  155. VARIANT refChild,
  156. struct IXMLDOMNode * * outNewChild) = 0;
  157. virtual HRESULT __stdcall replaceChild (
  158. struct IXMLDOMNode * newChild,
  159. struct IXMLDOMNode * oldChild,
  160. struct IXMLDOMNode * * outOldChild) = 0;
  161. virtual HRESULT __stdcall removeChild (
  162. struct IXMLDOMNode * childNode,
  163. struct IXMLDOMNode * * oldChild) = 0;
  164. virtual HRESULT __stdcall appendChild (
  165. struct IXMLDOMNode * newChild,
  166. struct IXMLDOMNode * * outNewChild) = 0;
  167. virtual HRESULT __stdcall hasChildNodes (
  168. VARIANT_BOOL * hasChild) = 0;
  169. virtual HRESULT __stdcall get_ownerDocument (
  170. struct IXMLDOMDocument * * XTPDOMDocument) = 0;
  171. virtual HRESULT __stdcall cloneNode (
  172. VARIANT_BOOL deep,
  173. struct IXMLDOMNode * * cloneRoot) = 0;
  174. virtual HRESULT __stdcall get_nodeTypeString (
  175. BSTR * nodeType) = 0;
  176. virtual HRESULT __stdcall get_text (
  177. BSTR * text) = 0;
  178. virtual HRESULT __stdcall put_text (
  179. BSTR text) = 0;
  180. virtual HRESULT __stdcall get_specified (
  181. VARIANT_BOOL * isSpecified) = 0;
  182. virtual HRESULT __stdcall get_definition (
  183. struct IXMLDOMNode * * definitionNode) = 0;
  184. virtual HRESULT __stdcall get_nodeTypedValue (
  185. VARIANT * typedValue) = 0;
  186. virtual HRESULT __stdcall put_nodeTypedValue (
  187. VARIANT typedValue) = 0;
  188. virtual HRESULT __stdcall get_dataType (
  189. VARIANT * dataTypeName) = 0;
  190. virtual HRESULT __stdcall put_dataType (
  191. BSTR dataTypeName) = 0;
  192. virtual HRESULT __stdcall get_xml (
  193. BSTR * xmlString) = 0;
  194. virtual HRESULT __stdcall transformNode (
  195. struct IXMLDOMNode * stylesheet,
  196. BSTR * xmlString) = 0;
  197. virtual HRESULT __stdcall selectNodes (
  198. BSTR queryString,
  199. struct IXMLDOMNodeList * * resultList) = 0;
  200. virtual HRESULT __stdcall selectSingleNode (
  201. BSTR queryString,
  202. struct IXMLDOMNode * * resultNode) = 0;
  203. virtual HRESULT __stdcall get_parsed (
  204. VARIANT_BOOL * isParsed) = 0;
  205. virtual HRESULT __stdcall get_namespaceURI (
  206. BSTR * namespaceURI) = 0;
  207. virtual HRESULT __stdcall get_prefix (
  208. BSTR * prefixString) = 0;
  209. virtual HRESULT __stdcall get_baseName (
  210. BSTR * nameString) = 0;
  211. virtual HRESULT __stdcall transformNodeToObject (
  212. struct IXMLDOMNode * stylesheet,
  213. VARIANT outputObject) = 0;
  214. };
  215. struct __declspec(uuid("2933bf82-7b36-11d2-b20e-00c04f983e60"))
  216. IXMLDOMNodeList : public IDispatch
  217. {
  218. //
  219. // Raw methods provided by interface
  220. //
  221. virtual HRESULT __stdcall get_item (
  222. long index,
  223. struct IXMLDOMNode * * listItem) = 0;
  224. virtual HRESULT __stdcall get_length (
  225. long * listLength) = 0;
  226. virtual HRESULT __stdcall nextNode (
  227. struct IXMLDOMNode * * nextItem) = 0;
  228. virtual HRESULT __stdcall reset () = 0;
  229. virtual HRESULT __stdcall get__newEnum (
  230. IUnknown * * ppUnk) = 0;
  231. };
  232. struct __declspec(uuid("2933bf83-7b36-11d2-b20e-00c04f983e60"))
  233. IXMLDOMNamedNodeMap : public IDispatch
  234. {
  235. //
  236. // Raw methods provided by interface
  237. //
  238. virtual HRESULT __stdcall getNamedItem (
  239. BSTR name,
  240. struct IXMLDOMNode * * namedItem) = 0;
  241. virtual HRESULT __stdcall setNamedItem (
  242. struct IXMLDOMNode * newItem,
  243. struct IXMLDOMNode * * nameItem) = 0;
  244. virtual HRESULT __stdcall removeNamedItem (
  245. BSTR name,
  246. struct IXMLDOMNode * * namedItem) = 0;
  247. virtual HRESULT __stdcall get_item (
  248. long index,
  249. struct IXMLDOMNode * * listItem) = 0;
  250. virtual HRESULT __stdcall get_length (
  251. long * listLength) = 0;
  252. virtual HRESULT __stdcall getQualifiedItem (
  253. BSTR baseName,
  254. BSTR namespaceURI,
  255. struct IXMLDOMNode * * qualifiedItem) = 0;
  256. virtual HRESULT __stdcall removeQualifiedItem (
  257. BSTR baseName,
  258. BSTR namespaceURI,
  259. struct IXMLDOMNode * * qualifiedItem) = 0;
  260. virtual HRESULT __stdcall nextNode (
  261. struct IXMLDOMNode * * nextItem) = 0;
  262. virtual HRESULT __stdcall reset () = 0;
  263. virtual HRESULT __stdcall get__newEnum (
  264. IUnknown * * ppUnk) = 0;
  265. };
  266. struct __declspec(uuid("2933bf81-7b36-11d2-b20e-00c04f983e60"))
  267. IXMLDOMDocument : public IXMLDOMNode
  268. {
  269. //
  270. // Raw methods provided by interface
  271. //
  272. virtual HRESULT __stdcall get_doctype (
  273. struct IXMLDOMDocumentType * * documentType) = 0;
  274. virtual HRESULT __stdcall get_implementation (
  275. struct IXMLDOMImplementation * * impl) = 0;
  276. virtual HRESULT __stdcall get_documentElement (
  277. struct IXMLDOMElement * * DOMElement) = 0;
  278. virtual HRESULT __stdcall putref_documentElement (
  279. struct IXMLDOMElement * DOMElement) = 0;
  280. virtual HRESULT __stdcall createElement (
  281. BSTR tagName,
  282. struct IXMLDOMElement * * element) = 0;
  283. virtual HRESULT __stdcall createDocumentFragment (
  284. struct IXMLDOMDocumentFragment * * docFrag) = 0;
  285. virtual HRESULT __stdcall createTextNode (
  286. BSTR data,
  287. struct IXMLDOMText * * text) = 0;
  288. virtual HRESULT __stdcall createComment (
  289. BSTR data,
  290. struct IXMLDOMComment * * comment) = 0;
  291. virtual HRESULT __stdcall createCDATASection (
  292. BSTR data,
  293. struct IXMLDOMCDATASection * * cdata) = 0;
  294. virtual HRESULT __stdcall createProcessingInstruction (
  295. BSTR target,
  296. BSTR data,
  297. struct IXMLDOMProcessingInstruction * * pi) = 0;
  298. virtual HRESULT __stdcall createAttribute (
  299. BSTR name,
  300. struct IXMLDOMAttribute * * attribute) = 0;
  301. virtual HRESULT __stdcall createEntityReference (
  302. BSTR name,
  303. struct IXMLDOMEntityReference * * entityRef) = 0;
  304. virtual HRESULT __stdcall getElementsByTagName (
  305. BSTR tagName,
  306. struct IXMLDOMNodeList * * resultList) = 0;
  307. virtual HRESULT __stdcall createNode (
  308. VARIANT type,
  309. BSTR name,
  310. BSTR namespaceURI,
  311. struct IXMLDOMNode * * node) = 0;
  312. virtual HRESULT __stdcall nodeFromID (
  313. BSTR idString,
  314. struct IXMLDOMNode * * node) = 0;
  315. virtual HRESULT __stdcall load (
  316. VARIANT xmlSource,
  317. VARIANT_BOOL * isSuccessful) = 0;
  318. virtual HRESULT __stdcall get_readyState (
  319. long * value) = 0;
  320. virtual HRESULT __stdcall get_parseError (
  321. struct IXMLDOMParseError * * errorObj) = 0;
  322. virtual HRESULT __stdcall get_url (
  323. BSTR * urlString) = 0;
  324. virtual HRESULT __stdcall get_async (
  325. VARIANT_BOOL * isAsync) = 0;
  326. virtual HRESULT __stdcall put_async (
  327. VARIANT_BOOL isAsync) = 0;
  328. virtual HRESULT __stdcall abort () = 0;
  329. virtual HRESULT __stdcall loadXML (
  330. BSTR bstrXML,
  331. VARIANT_BOOL * isSuccessful) = 0;
  332. virtual HRESULT __stdcall save (
  333. VARIANT desination) = 0;
  334. virtual HRESULT __stdcall get_validateOnParse (
  335. VARIANT_BOOL * isValidating) = 0;
  336. virtual HRESULT __stdcall put_validateOnParse (
  337. VARIANT_BOOL isValidating) = 0;
  338. virtual HRESULT __stdcall get_resolveExternals (
  339. VARIANT_BOOL * isResolving) = 0;
  340. virtual HRESULT __stdcall put_resolveExternals (
  341. VARIANT_BOOL isResolving) = 0;
  342. virtual HRESULT __stdcall get_preserveWhiteSpace (
  343. VARIANT_BOOL * isPreserving) = 0;
  344. virtual HRESULT __stdcall put_preserveWhiteSpace (
  345. VARIANT_BOOL isPreserving) = 0;
  346. virtual HRESULT __stdcall put_onreadystatechange (
  347. VARIANT _arg1) = 0;
  348. virtual HRESULT __stdcall put_ondataavailable (
  349. VARIANT _arg1) = 0;
  350. virtual HRESULT __stdcall put_ontransformnode (
  351. VARIANT _arg1) = 0;
  352. };
  353. struct __declspec(uuid("2933bf8b-7b36-11d2-b20e-00c04f983e60"))
  354. IXMLDOMDocumentType : public IXMLDOMNode
  355. {
  356. //
  357. // Raw methods provided by interface
  358. //
  359. virtual HRESULT __stdcall get_name (
  360. BSTR * rootName) = 0;
  361. virtual HRESULT __stdcall get_entities (
  362. struct IXMLDOMNamedNodeMap * * entityMap) = 0;
  363. virtual HRESULT __stdcall get_notations (
  364. struct IXMLDOMNamedNodeMap * * notationMap) = 0;
  365. };
  366. struct __declspec(uuid("2933bf86-7b36-11d2-b20e-00c04f983e60"))
  367. IXMLDOMElement : public IXMLDOMNode
  368. {
  369. //
  370. // Raw methods provided by interface
  371. //
  372. virtual HRESULT __stdcall get_tagName (
  373. BSTR * tagName) = 0;
  374. virtual HRESULT __stdcall getAttribute (
  375. BSTR name,
  376. VARIANT * value) = 0;
  377. virtual HRESULT __stdcall setAttribute (
  378. BSTR name,
  379. VARIANT value) = 0;
  380. virtual HRESULT __stdcall removeAttribute (
  381. BSTR name) = 0;
  382. virtual HRESULT __stdcall getAttributeNode (
  383. BSTR name,
  384. struct IXMLDOMAttribute * * attributeNode) = 0;
  385. virtual HRESULT __stdcall setAttributeNode (
  386. struct IXMLDOMAttribute * DOMAttribute,
  387. struct IXMLDOMAttribute * * attributeNode) = 0;
  388. virtual HRESULT __stdcall removeAttributeNode (
  389. struct IXMLDOMAttribute * DOMAttribute,
  390. struct IXMLDOMAttribute * * attributeNode) = 0;
  391. virtual HRESULT __stdcall getElementsByTagName (
  392. BSTR tagName,
  393. struct IXMLDOMNodeList * * resultList) = 0;
  394. virtual HRESULT __stdcall normalize () = 0;
  395. };
  396. struct __declspec(uuid("2933bf85-7b36-11d2-b20e-00c04f983e60"))
  397. IXMLDOMAttribute : public IXMLDOMNode
  398. {
  399. //
  400. // Raw methods provided by interface
  401. //
  402. virtual HRESULT __stdcall get_name (
  403. BSTR * attributeName) = 0;
  404. virtual HRESULT __stdcall get_value (
  405. VARIANT * attributeValue) = 0;
  406. virtual HRESULT __stdcall put_value (
  407. VARIANT attributeValue) = 0;
  408. };
  409. struct __declspec(uuid("3efaa413-272f-11d2-836f-0000f87a7782"))
  410. IXMLDOMDocumentFragment : public IXMLDOMNode
  411. {};
  412. struct __declspec(uuid("2933bf84-7b36-11d2-b20e-00c04f983e60"))
  413. IXMLDOMCharacterData : public IXMLDOMNode
  414. {
  415. //
  416. // Raw methods provided by interface
  417. //
  418. virtual HRESULT __stdcall get_data (
  419. BSTR * data) = 0;
  420. virtual HRESULT __stdcall put_data (
  421. BSTR data) = 0;
  422. virtual HRESULT __stdcall get_length (
  423. long * dataLength) = 0;
  424. virtual HRESULT __stdcall substringData (
  425. long offset,
  426. long count,
  427. BSTR * data) = 0;
  428. virtual HRESULT __stdcall appendData (
  429. BSTR data) = 0;
  430. virtual HRESULT __stdcall insertData (
  431. long offset,
  432. BSTR data) = 0;
  433. virtual HRESULT __stdcall deleteData (
  434. long offset,
  435. long count) = 0;
  436. virtual HRESULT __stdcall replaceData (
  437. long offset,
  438. long count,
  439. BSTR data) = 0;
  440. };
  441. struct __declspec(uuid("2933bf88-7b36-11d2-b20e-00c04f983e60"))
  442. IXMLDOMComment : public IXMLDOMCharacterData
  443. {};
  444. struct __declspec(uuid("2933bf89-7b36-11d2-b20e-00c04f983e60"))
  445. IXMLDOMProcessingInstruction : public IXMLDOMNode
  446. {
  447. //
  448. // Raw methods provided by interface
  449. //
  450. virtual HRESULT __stdcall get_target (
  451. BSTR * name) = 0;
  452. virtual HRESULT __stdcall get_data (
  453. BSTR * value) = 0;
  454. virtual HRESULT __stdcall put_data (
  455. BSTR value) = 0;
  456. };
  457. struct __declspec(uuid("2933bf8e-7b36-11d2-b20e-00c04f983e60"))
  458. IXMLDOMEntityReference : public IXMLDOMNode
  459. {};
  460. struct __declspec(uuid("3efaa426-272f-11d2-836f-0000f87a7782"))
  461. IXMLDOMParseError : public IDispatch
  462. {
  463. //
  464. // Raw methods provided by interface
  465. //
  466. virtual HRESULT __stdcall get_errorCode (
  467. long * errorCode) = 0;
  468. virtual HRESULT __stdcall get_url (
  469. BSTR * urlString) = 0;
  470. virtual HRESULT __stdcall get_reason (
  471. BSTR * reasonString) = 0;
  472. virtual HRESULT __stdcall get_srcText (
  473. BSTR * sourceString) = 0;
  474. virtual HRESULT __stdcall get_line (
  475. long * lineNumber) = 0;
  476. virtual HRESULT __stdcall get_linepos (
  477. long * linePosition) = 0;
  478. virtual HRESULT __stdcall get_filepos (
  479. long * filePosition) = 0;
  480. };
  481. struct __declspec(uuid("2933bf8c-7b36-11d2-b20e-00c04f983e60"))
  482. IXMLDOMNotation : public IXMLDOMNode
  483. {
  484. //
  485. // Raw methods provided by interface
  486. //
  487. virtual HRESULT __stdcall get_publicId (
  488. VARIANT * publicId) = 0;
  489. virtual HRESULT __stdcall get_systemId (
  490. VARIANT * systemId) = 0;
  491. };
  492. struct __declspec(uuid("2933bf8d-7b36-11d2-b20e-00c04f983e60"))
  493. IXMLDOMEntity : public IXMLDOMNode
  494. {
  495. //
  496. // Raw methods provided by interface
  497. //
  498. virtual HRESULT __stdcall get_publicId (
  499. VARIANT * publicId) = 0;
  500. virtual HRESULT __stdcall get_systemId (
  501. VARIANT * systemId) = 0;
  502. virtual HRESULT __stdcall get_notationName (
  503. BSTR * name) = 0;
  504. };
  505. struct __declspec(uuid("3efaa425-272f-11d2-836f-0000f87a7782"))
  506. IXTLRuntime : public IXMLDOMNode
  507. {
  508. //
  509. // Raw methods provided by interface
  510. //
  511. virtual HRESULT __stdcall uniqueID (
  512. struct IXMLDOMNode * pNode,
  513. long * pID) = 0;
  514. virtual HRESULT __stdcall depth (
  515. struct IXMLDOMNode * pNode,
  516. long * pDepth) = 0;
  517. virtual HRESULT __stdcall childNumber (
  518. struct IXMLDOMNode * pNode,
  519. long * pNumber) = 0;
  520. virtual HRESULT __stdcall ancestorChildNumber (
  521. BSTR bstrNodeName,
  522. struct IXMLDOMNode * pNode,
  523. long * pNumber) = 0;
  524. virtual HRESULT __stdcall absoluteChildNumber (
  525. struct IXMLDOMNode * pNode,
  526. long * pNumber) = 0;
  527. virtual HRESULT __stdcall formatIndex (
  528. long lIndex,
  529. BSTR bstrFormat,
  530. BSTR * pbstrFormattedString) = 0;
  531. virtual HRESULT __stdcall formatNumber (
  532. double dblNumber,
  533. BSTR bstrFormat,
  534. BSTR * pbstrFormattedString) = 0;
  535. virtual HRESULT __stdcall formatDate (
  536. VARIANT varDate,
  537. BSTR bstrFormat,
  538. VARIANT varDestLocale,
  539. BSTR * pbstrFormattedString) = 0;
  540. virtual HRESULT __stdcall formatTime (
  541. VARIANT varTime,
  542. BSTR bstrFormat,
  543. VARIANT varDestLocale,
  544. BSTR * pbstrFormattedString) = 0;
  545. };
  546. struct __declspec(uuid("65725580-9b5d-11d0-9bfe-00c04fc99c8e"))
  547. IXMLElementCollection : public IDispatch
  548. {
  549. //
  550. // Raw methods provided by interface
  551. //
  552. virtual HRESULT __stdcall put_length (
  553. long p) = 0;
  554. virtual HRESULT __stdcall get_length (
  555. long * p) = 0;
  556. virtual HRESULT __stdcall get__newEnum (
  557. IUnknown * * ppUnk) = 0;
  558. virtual HRESULT __stdcall item (
  559. VARIANT var1,
  560. VARIANT var2,
  561. IDispatch * * ppDisp) = 0;
  562. };
  563. struct __declspec(uuid("f52e2b61-18a1-11d1-b105-00805f49916b"))
  564. IXMLDocument : public IDispatch
  565. {
  566. //
  567. // Raw methods provided by interface
  568. //
  569. virtual HRESULT __stdcall get_root (
  570. struct IXMLElement * * p) = 0;
  571. virtual HRESULT __stdcall get_fileSize (
  572. BSTR * p) = 0;
  573. virtual HRESULT __stdcall get_fileModifiedDate (
  574. BSTR * p) = 0;
  575. virtual HRESULT __stdcall get_fileUpdatedDate (
  576. BSTR * p) = 0;
  577. virtual HRESULT __stdcall get_url (
  578. BSTR * p) = 0;
  579. virtual HRESULT __stdcall put_url (
  580. BSTR p) = 0;
  581. virtual HRESULT __stdcall get_mimeType (
  582. BSTR * p) = 0;
  583. virtual HRESULT __stdcall get_readyState (
  584. long * pl) = 0;
  585. virtual HRESULT __stdcall get_charset (
  586. BSTR * p) = 0;
  587. virtual HRESULT __stdcall put_charset (
  588. BSTR p) = 0;
  589. virtual HRESULT __stdcall get_version (
  590. BSTR * p) = 0;
  591. virtual HRESULT __stdcall get_doctype (
  592. BSTR * p) = 0;
  593. virtual HRESULT __stdcall get_dtdURL (
  594. BSTR * p) = 0;
  595. virtual HRESULT __stdcall createElement (
  596. VARIANT vType,
  597. VARIANT var1,
  598. struct IXMLElement * * ppElem) = 0;
  599. };
  600. struct __declspec(uuid("3f7f31ac-e15f-11d0-9c25-00c04fc99c8e"))
  601. IXMLElement : public IDispatch
  602. {
  603. //
  604. // Raw methods provided by interface
  605. //
  606. virtual HRESULT __stdcall get_tagName (
  607. BSTR * p) = 0;
  608. virtual HRESULT __stdcall put_tagName (
  609. BSTR p) = 0;
  610. virtual HRESULT __stdcall get_parent (
  611. struct IXMLElement * * ppParent) = 0;
  612. virtual HRESULT __stdcall setAttribute (
  613. BSTR strPropertyName,
  614. VARIANT PropertyValue) = 0;
  615. virtual HRESULT __stdcall getAttribute (
  616. BSTR strPropertyName,
  617. VARIANT * PropertyValue) = 0;
  618. virtual HRESULT __stdcall removeAttribute (
  619. BSTR strPropertyName) = 0;
  620. virtual HRESULT __stdcall get_children (
  621. struct IXMLElementCollection * * pp) = 0;
  622. virtual HRESULT __stdcall get_type (
  623. long * plType) = 0;
  624. virtual HRESULT __stdcall get_text (
  625. BSTR * p) = 0;
  626. virtual HRESULT __stdcall put_text (
  627. BSTR p) = 0;
  628. virtual HRESULT __stdcall addChild (
  629. struct IXMLElement * pChildElem,
  630. long lIndex,
  631. long lReserved) = 0;
  632. virtual HRESULT __stdcall removeChild (
  633. struct IXMLElement * pChildElem) = 0;
  634. };
  635. struct __declspec(uuid("2b8de2fe-8d2d-11d1-b2fc-00c04fd915a9"))
  636. IXMLDocument2 : public IDispatch
  637. {
  638. //
  639. // Raw methods provided by interface
  640. //
  641. virtual HRESULT __stdcall get_root (
  642. struct IXMLElement2 * * p) = 0;
  643. virtual HRESULT __stdcall get_fileSize (
  644. BSTR * p) = 0;
  645. virtual HRESULT __stdcall get_fileModifiedDate (
  646. BSTR * p) = 0;
  647. virtual HRESULT __stdcall get_fileUpdatedDate (
  648. BSTR * p) = 0;
  649. virtual HRESULT __stdcall get_url (
  650. BSTR * p) = 0;
  651. virtual HRESULT __stdcall put_url (
  652. BSTR p) = 0;
  653. virtual HRESULT __stdcall get_mimeType (
  654. BSTR * p) = 0;
  655. virtual HRESULT __stdcall get_readyState (
  656. long * pl) = 0;
  657. virtual HRESULT __stdcall get_charset (
  658. BSTR * p) = 0;
  659. virtual HRESULT __stdcall put_charset (
  660. BSTR p) = 0;
  661. virtual HRESULT __stdcall get_version (
  662. BSTR * p) = 0;
  663. virtual HRESULT __stdcall get_doctype (
  664. BSTR * p) = 0;
  665. virtual HRESULT __stdcall get_dtdURL (
  666. BSTR * p) = 0;
  667. virtual HRESULT __stdcall createElement (
  668. VARIANT vType,
  669. VARIANT var1,
  670. struct IXMLElement2 * * ppElem) = 0;
  671. virtual HRESULT __stdcall get_async (
  672. VARIANT_BOOL * pf) = 0;
  673. virtual HRESULT __stdcall put_async (
  674. VARIANT_BOOL pf) = 0;
  675. };
  676. struct __declspec(uuid("2b8de2ff-8d2d-11d1-b2fc-00c04fd915a9"))
  677. IXMLElement2 : public IDispatch
  678. {
  679. //
  680. // Raw methods provided by interface
  681. //
  682. virtual HRESULT __stdcall get_tagName (
  683. BSTR * p) = 0;
  684. virtual HRESULT __stdcall put_tagName (
  685. BSTR p) = 0;
  686. virtual HRESULT __stdcall get_parent (
  687. struct IXMLElement2 * * ppParent) = 0;
  688. virtual HRESULT __stdcall setAttribute (
  689. BSTR strPropertyName,
  690. VARIANT PropertyValue) = 0;
  691. virtual HRESULT __stdcall getAttribute (
  692. BSTR strPropertyName,
  693. VARIANT * PropertyValue) = 0;
  694. virtual HRESULT __stdcall removeAttribute (
  695. BSTR strPropertyName) = 0;
  696. virtual HRESULT __stdcall get_children (
  697. struct IXMLElementCollection * * pp) = 0;
  698. virtual HRESULT __stdcall get_type (
  699. long * plType) = 0;
  700. virtual HRESULT __stdcall get_text (
  701. BSTR * p) = 0;
  702. virtual HRESULT __stdcall put_text (
  703. BSTR p) = 0;
  704. virtual HRESULT __stdcall addChild (
  705. struct IXMLElement2 * pChildElem,
  706. long lIndex,
  707. long lReserved) = 0;
  708. virtual HRESULT __stdcall removeChild (
  709. struct IXMLElement2 * pChildElem) = 0;
  710. virtual HRESULT __stdcall get_attributes (
  711. struct IXMLElementCollection * * pp) = 0;
  712. };
  713. struct __declspec(uuid("d4d4a0fc-3b73-11d1-b2b4-00c04fb92596"))
  714. IXMLAttribute : public IDispatch
  715. {
  716. //
  717. // Raw methods provided by interface
  718. //
  719. virtual HRESULT __stdcall get_name (
  720. BSTR * n) = 0;
  721. virtual HRESULT __stdcall get_value (
  722. BSTR * v) = 0;
  723. };
  724. struct __declspec(uuid("948c5ad3-c58d-11d0-9c0b-00c04fc99c8e"))
  725. IXMLError : public IUnknown
  726. {
  727. //
  728. // Raw methods provided by interface
  729. //
  730. virtual HRESULT __stdcall GetErrorInfo (
  731. struct _xml_error * pErrorReturn) = 0;
  732. };
  733. struct __declspec(uuid("cfc399af-d876-11d0-9c10-00c04fc99c8e"))
  734. XMLDocument;
  735. // [ default ] interface IXMLDocument2
  736. }
  737. extern "C" const GUID __declspec(selectany) CLSID_XTPDOMDocument =
  738. {0x2933bf90, 0x7b36, 0x11d2, {0xb2, 0x0e, 0x00, 0xc0, 0x4f, 0x98, 0x3e, 0x60}};
  739. #if (_MSC_VER > 1100)
  740. #pragma warning(pop)
  741. #endif
  742. #pragma pack(pop)
  743. typedef XTPXML::IXMLDOMNodePtr         CXTPDOMNodePtr;         // Wrapper to manage IXMLDOMNodePtr interface.
  744. typedef XTPXML::IXMLDOMDocumentPtr     CXTPDOMDocumentPtr;     // Wrapper to manage IXMLDOMDocumentPtr interface.
  745. typedef XTPXML::IXMLDOMElementPtr      CXTPDOMElementPtr;      // Wrapper to manage IXMLDOMElementPtr interface.
  746. typedef XTPXML::IXMLDOMNamedNodeMapPtr CXTPDOMNamedNodeMapPtr; // Wrapper to manage IXMLDOMNamedNodeMapPtr interface.
  747. #endif //_XTP_EXCLUDE_XML
  748. #endif //#if !defined(__XTPXMLHELPERS_H__)