2 * Copyright (C) 2005 Mike McCormack
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #pragma makedep install
23 #include
<xmldomdid.h
>
26 #if
!defined
(progid
) && !defined
(__WIDL__
)
27 #define threading
(model
)
29 #define vi_progid
(str
)
32 interface IXMLDOMImplementation
;
33 interface IXMLDOMNode
;
34 interface IXMLDOMDocumentFragment
;
35 interface IXMLDOMDocument
;
36 interface IXMLDOMNodeList
;
37 interface IXMLDOMNamedNodeMap
;
38 interface IXMLDOMCharacterData
;
39 interface IXMLDOMAttribute
;
40 interface IXMLDOMElement
;
41 interface IXMLDOMText
;
42 interface IXMLDOMComment
;
43 interface IXMLDOMProcessingInstruction
;
44 interface IXMLDOMCDATASection
;
45 interface IXMLDOMDocumentType
;
46 interface IXMLDOMNotation
;
47 interface IXMLDOMEntity
;
48 interface IXMLDOMEntityReference
;
49 interface IXMLDOMParseError
;
51 cpp_quote
("#ifndef __MSXML_DOMNODETYPE_DEFINED")
52 cpp_quote
("#define __MSXML_DOMNODETYPE_DEFINED")
53 typedef enum tagDOMNodeType
{
59 NODE_ENTITY_REFERENCE
,
61 NODE_PROCESSING_INSTRUCTION
,
65 NODE_DOCUMENT_FRAGMENT
,
77 uuid(2933bf80
-7b36
-11d2
-b20e
-00c04f983e60
),
78 pointer_default(unique)
80 interface IXMLDOMNode
: IDispatch
82 [propget, id(DISPID_DOM_NODE_NODENAME
)]
83 HRESULT nodeName
( [out,retval] BSTR *name
);
85 [propget, id(DISPID_DOM_NODE_NODEVALUE
)]
86 HRESULT nodeValue
( [out,retval] VARIANT *value
);
88 [propput, id(DISPID_DOM_NODE_NODEVALUE
)]
89 HRESULT nodeValue
( [in] VARIANT value
);
91 [propget, id(DISPID_DOM_NODE_NODETYPE
)]
92 HRESULT nodeType
( [out,retval] DOMNodeType
*type
);
94 [propget, id(DISPID_DOM_NODE_PARENTNODE
)]
95 HRESULT parentNode
( [out,retval] IXMLDOMNode
**parent
);
97 [propget, id(DISPID_DOM_NODE_CHILDNODES
)]
98 HRESULT childNodes
( [out,retval] IXMLDOMNodeList
**childList
);
100 [propget, id(DISPID_DOM_NODE_FIRSTCHILD
)]
101 HRESULT firstChild
( [out,retval] IXMLDOMNode
**firstChild
);
103 [propget, id(DISPID_DOM_NODE_LASTCHILD
)]
104 HRESULT lastChild
( [out,retval] IXMLDOMNode
**lastChild
);
106 [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING
)]
107 HRESULT previousSibling
( [out,retval] IXMLDOMNode
**previousSibling
);
109 [propget, id(DISPID_DOM_NODE_NEXTSIBLING
)]
110 HRESULT nextSibling
( [out,retval] IXMLDOMNode
**nextSibling
);
112 [propget, id(DISPID_DOM_NODE_ATTRIBUTES
)]
113 HRESULT attributes
( [out,retval] IXMLDOMNamedNodeMap
**attributeMap
);
115 [id(DISPID_DOM_NODE_INSERTBEFORE
)]
116 HRESULT insertBefore
( [in] IXMLDOMNode
* newChild
,
117 [in] VARIANT refChild
,
118 [out,retval] IXMLDOMNode
**outNewChild
);
120 [id(DISPID_DOM_NODE_REPLACECHILD
)]
121 HRESULT replaceChild
( [in] IXMLDOMNode
*newChild
,
122 [in] IXMLDOMNode
*oldChild
,
123 [out,retval] IXMLDOMNode
**outOldChild
);
125 [id(DISPID_DOM_NODE_REMOVECHILD
)]
126 HRESULT removeChild
( [in] IXMLDOMNode
*childNode
,
127 [out,retval] IXMLDOMNode
**oldChild
);
129 [id(DISPID_DOM_NODE_APPENDCHILD
)]
130 HRESULT appendChild
( [in] IXMLDOMNode
*newChild
,
131 [out,retval] IXMLDOMNode
**outNewChild
);
133 [id(DISPID_DOM_NODE_HASCHILDNODES
)]
134 HRESULT hasChildNodes
( [out,retval] VARIANT_BOOL *hasChild
);
136 [propget, id(DISPID_DOM_NODE_OWNERDOC
)]
137 HRESULT ownerDocument
( [out,retval] IXMLDOMDocument
**DOMDocument
);
139 [id(DISPID_DOM_NODE_CLONENODE
)]
140 HRESULT cloneNode
( [in] VARIANT_BOOL deep
,
141 [out,retval] IXMLDOMNode
**cloneRoot
);
143 [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE
)]
144 HRESULT nodeTypeString
( [out,retval] BSTR *nodeType
);
146 [propget, id(DISPID_XMLDOM_NODE_TEXT
)]
147 HRESULT text
( [out,retval] BSTR *text
);
149 [propput, id(DISPID_XMLDOM_NODE_TEXT
)]
150 HRESULT text
( [in] BSTR text
);
152 [propget, id(DISPID_XMLDOM_NODE_SPECIFIED
)]
153 HRESULT specified
( [out,retval] VARIANT_BOOL *isSpecified
);
155 [propget, id(DISPID_XMLDOM_NODE_DEFINITION
)]
156 HRESULT definition
( [out,retval] IXMLDOMNode
**definitionNode
);
158 [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE
)]
159 HRESULT nodeTypedValue
( [out,retval] VARIANT *typedValue
);
161 [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE
)]
162 HRESULT nodeTypedValue
( [in] VARIANT typedValue
);
164 [propget, id(DISPID_XMLDOM_NODE_DATATYPE
)]
165 HRESULT dataType
( [out,retval] VARIANT *dataTypeName
);
167 [propput, id(DISPID_XMLDOM_NODE_DATATYPE
)]
168 HRESULT dataType
( [in] BSTR dataTypeName
);
170 [propget, id(DISPID_XMLDOM_NODE_XML
)]
171 HRESULT xml
( [out,retval] BSTR *xmlString
);
173 [id(DISPID_XMLDOM_NODE_TRANSFORMNODE
)]
174 HRESULT transformNode
( [in] IXMLDOMNode
*styleSheet
,
175 [out,retval] BSTR *xmlString
);
177 [id(DISPID_XMLDOM_NODE_SELECTNODES
)]
178 HRESULT selectNodes
( [in] BSTR queryString
,
179 [out,retval] IXMLDOMNodeList
**resultList
);
181 [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE
)]
182 HRESULT selectSingleNode
( [in] BSTR queryString
,
183 [out,retval] IXMLDOMNode
**resultNode
);
185 [propget, id(DISPID_XMLDOM_NODE_PARSED
)]
186 HRESULT parsed
( [out,retval] VARIANT_BOOL *isParsed
);
188 [propget, id(DISPID_XMLDOM_NODE_NAMESPACE
)]
189 HRESULT namespaceURI
( [out,retval] BSTR *namespaceURI
);
191 [propget, id(DISPID_XMLDOM_NODE_PREFIX
)]
192 HRESULT prefix
( [out,retval] BSTR *prefixString
);
194 [propget, id(DISPID_XMLDOM_NODE_BASENAME
)]
195 HRESULT baseName
( [out,retval] BSTR *nameString
);
197 [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT
)]
198 HRESULT transformNodeToObject
( [in] IXMLDOMNode
*stylesheet
,
199 [in] VARIANT outputObject
);
209 uuid(2933bf81
-7b36
-11d2
-b20e
-00c04f983e60
),
210 pointer_default(unique)
212 interface IXMLDOMDocument
: IXMLDOMNode
214 [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE
)]
215 HRESULT doctype
( [out,retval] IXMLDOMDocumentType
**documentType
);
217 [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION
)]
218 HRESULT implementation
( [out,retval] IXMLDOMImplementation
**impl
);
220 [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT
)]
221 HRESULT documentElement
( [out,retval] IXMLDOMElement
**DOMElement
);
223 [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT
)]
224 HRESULT documentElement
( [in] IXMLDOMElement
*DOMElement
);
226 [id(DISPID_DOM_DOCUMENT_CREATEELEMENT
)]
227 HRESULT createElement
( [in] BSTR tagname
,
228 [out,retval] IXMLDOMElement
**element
);
230 [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT
)]
231 HRESULT createDocumentFragment
( [out,retval] IXMLDOMDocumentFragment
**docFrag
);
233 [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE
)]
234 HRESULT createTextNode
( [in] BSTR data
,
235 [out,retval] IXMLDOMText
**text
);
237 [id(DISPID_DOM_DOCUMENT_CREATECOMMENT
)]
238 HRESULT createComment
( [in] BSTR data
,
239 [out,retval] IXMLDOMComment
**comment
);
241 [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION
)]
242 HRESULT createCDATASection
( [in] BSTR data
,
243 [out,retval] IXMLDOMCDATASection
**cdata
);
245 [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION
)]
246 HRESULT createProcessingInstruction
( [in] BSTR target
,
248 [out,retval] IXMLDOMProcessingInstruction
**pi
);
250 [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE
)]
251 HRESULT createAttribute
( [in] BSTR name
,
252 [out,retval] IXMLDOMAttribute
**attribute
);
254 [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE
)]
255 HRESULT createEntityReference
( [in] BSTR name
,
256 [out,retval] IXMLDOMEntityReference
**entityRef
);
258 [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME
)]
259 HRESULT getElementsByTagName
( [in] BSTR tagName
,
260 [out,retval] IXMLDOMNodeList
**resultList
);
262 [id(DISPID_XMLDOM_DOCUMENT_CREATENODE
)]
263 HRESULT createNode
( [in] VARIANT Type
,
265 [in] BSTR namespaceURI
,
266 [out,retval] IXMLDOMNode
**node
);
268 [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID
)]
269 HRESULT nodeFromID
( [in] BSTR idString
,
270 [out,retval] IXMLDOMNode
**node
);
272 [id(DISPID_XMLDOM_DOCUMENT_LOAD
)]
273 HRESULT load
( [in] VARIANT xmlSource
,
274 [out,retval] VARIANT_BOOL *isSuccessful
);
276 [propget, id(DISPID_READYSTATE
)]
277 HRESULT readyState
( [out,retval] LONG *value
);
279 [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR
)]
280 HRESULT parseError
( [out,retval] IXMLDOMParseError
**errorObj
);
282 [propget, id(DISPID_XMLDOM_DOCUMENT_URL
)]
283 HRESULT url
( [out,retval] BSTR *urlString
);
285 /* FIXME: these is meant to be async, but widl parses that as a keyword */
286 [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC
)]
287 HRESULT async
( [out,retval] VARIANT_BOOL *isAsync
);
289 [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC
)]
290 HRESULT async
( [in] VARIANT_BOOL isAsync
);
292 [id(DISPID_XMLDOM_DOCUMENT_ABORT
)]
295 [id(DISPID_XMLDOM_DOCUMENT_LOADXML
)]
296 HRESULT loadXML
( [in] BSTR bstrXML
,
297 [out,retval] VARIANT_BOOL *isSuccessful
);
299 [id(DISPID_XMLDOM_DOCUMENT_SAVE
)]
300 HRESULT save
( [in] VARIANT destination
);
302 [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE
)]
303 HRESULT validateOnParse
( [out,retval] VARIANT_BOOL *isValidating
);
305 [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE
)]
306 HRESULT validateOnParse
( [in] VARIANT_BOOL isValidating
);
308 [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE
)]
309 HRESULT resolveExternals
( [out,retval] VARIANT_BOOL *isResolving
);
311 [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE
)]
312 HRESULT resolveExternals
( [in] VARIANT_BOOL isValidating
);
314 [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE
)]
315 HRESULT preserveWhiteSpace
( [out,retval] VARIANT_BOOL *isPreserving
);
317 [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE
)]
318 HRESULT preserveWhiteSpace
( [in] VARIANT_BOOL isPreserving
);
320 [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE
)]
321 HRESULT onreadystatechange
( [in] VARIANT readystatechangeSink
);
323 [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE
)]
324 HRESULT ondataavailable
( [in] VARIANT ondataavailableSink
);
326 [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE
)]
327 HRESULT ontransformnode
( [in] VARIANT ontransformnodeSink
);
337 uuid(2933bf82
-7b36
-11d2
-b20e
-00c04f983e60
),
338 pointer_default(unique)
340 interface IXMLDOMNodeList
: IDispatch
342 [propget, id(DISPID_VALUE
)]
343 HRESULT item
( [in] LONG index
,
344 [out,retval] IXMLDOMNode
**listItem
);
346 [propget, id(DISPID_DOM_NODELIST_LENGTH
)]
347 HRESULT length
( [out,retval] LONG *listLength
);
349 [id(DISPID_XMLDOM_NODELIST_NEXTNODE
)]
350 HRESULT nextNode
( [out,retval] IXMLDOMNode
**nextItem
);
352 [id(DISPID_XMLDOM_NODELIST_RESET
)]
356 HRESULT _newEnum
( [out,retval] IUnknown
**ppUnk
);
366 uuid(2933bf83
-7b36
-11d2
-b20e
-00c04f983e60
),
367 pointer_default(unique)
369 interface IXMLDOMNamedNodeMap
: IDispatch
371 [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM
)]
372 HRESULT getNamedItem
( [in] BSTR name
,
373 [out,retval] IXMLDOMNode
**namedItem
);
375 [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM
)]
376 HRESULT setNamedItem
( [in] IXMLDOMNode
*newItem
,
377 [out,retval] IXMLDOMNode
**namedItem
);
379 [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM
)]
380 HRESULT removeNamedItem
( [in] BSTR name
,
381 [out,retval] IXMLDOMNode
**namedItem
);
383 [propget, id(DISPID_VALUE
)]
384 HRESULT item
( [in] LONG index
,
385 [out,retval] IXMLDOMNode
**listItem
);
387 [propget, id(DISPID_DOM_NODELIST_LENGTH
)]
388 HRESULT length
( [out,retval] LONG *listLength
);
390 [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM
)]
391 HRESULT getQualifiedItem
( [in] BSTR baseName
,
392 [in] BSTR namespaceURI
,
393 [out,retval] IXMLDOMNode
**qualifiedItem
);
395 [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM
)]
396 HRESULT removeQualifiedItem
( [in] BSTR baseName
,
397 [in] BSTR namespaceURI
,
398 [out,retval] IXMLDOMNode
**qualifiedItem
);
400 [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE
)]
401 HRESULT nextNode
( [out,retval] IXMLDOMNode
**nextItem
);
403 [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET
)]
407 HRESULT _newEnum
( [out,retval] IUnknown
**ppUnk
);
417 uuid(3efaa413
-272f
-11d2
-836f
-0000f87a7782
),
418 pointer_default(unique)
420 interface IXMLDOMDocumentFragment
: IXMLDOMNode
432 uuid(2933bf84
-7b36
-11d2
-b20e
-00c04f983e60
),
433 pointer_default(unique)
435 interface IXMLDOMCharacterData
: IXMLDOMNode
437 [propget, id(DISPID_DOM_DATA_DATA
)]
438 HRESULT data
( [out,retval] BSTR *data
);
440 [propput, id(DISPID_DOM_DATA_DATA
)]
441 HRESULT data
( [in] BSTR data
);
443 [propget, id(DISPID_DOM_DATA_LENGTH
)]
444 HRESULT length
( [out,retval] LONG *dataLength
);
446 [id(DISPID_DOM_DATA_SUBSTRING
)]
447 HRESULT substringData
( [in] LONG offset
,
449 [out,retval] BSTR *data
);
451 [id(DISPID_DOM_DATA_APPEND
)]
452 HRESULT appendData
( [in] BSTR data
);
454 [id(DISPID_DOM_DATA_INSERT
)]
455 HRESULT insertData
( [in] LONG offset
,
458 [id(DISPID_DOM_DATA_DELETE
)]
459 HRESULT deleteData
( [in] LONG offset
,
462 [id(DISPID_DOM_DATA_REPLACE
)]
463 HRESULT replaceData
( [in] LONG offset
,
475 uuid(2933bf85
-7b36
-11d2
-b20e
-00c04f983e60
),
476 pointer_default(unique)
478 interface IXMLDOMAttribute
: IXMLDOMNode
480 [propget,id(DISPID_DOM_ATTRIBUTE_GETNAME
)]
481 HRESULT name
( [out,retval] BSTR *attributeName
);
483 [propget,id(DISPID_DOM_ATTRIBUTE_VALUE
)]
484 HRESULT value
( [out,retval] VARIANT *attributeValue
);
486 [propput,id(DISPID_DOM_ATTRIBUTE_VALUE
)]
487 HRESULT value
( [in] VARIANT attributeValue
);
497 uuid(2933bf86
-7b36
-11d2
-b20e
-00c04f983e60
),
498 pointer_default(unique)
500 interface IXMLDOMElement
: IXMLDOMNode
502 [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME
)]
503 HRESULT tagName
( [out,retval] BSTR *tagName
);
505 [id(DISPID_DOM_ELEMENT_GETATTRIBUTE
)]
506 HRESULT getAttribute
( [in] BSTR name
,
507 [out,retval] VARIANT * value
);
509 [id(DISPID_DOM_ELEMENT_SETATTRIBUTE
)]
510 HRESULT setAttribute
( [in] BSTR name
,
511 [in] VARIANT value
);
513 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE
)]
514 HRESULT removeAttribute
( [in] BSTR name
);
516 [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE
)]
517 HRESULT getAttributeNode
( [in] BSTR name
,
518 [out, retval] IXMLDOMAttribute
** attributeNode
);
520 [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE
)]
521 HRESULT setAttributeNode
( [in] IXMLDOMAttribute
*DOMAttribute
,
522 [out, retval] IXMLDOMAttribute
** attributeNode
);
524 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE
)]
525 HRESULT removeAttributeNode
( [in] IXMLDOMAttribute
*DOMAttribute
,
526 [out, retval] IXMLDOMAttribute
** attributeNode
);
528 [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME
)]
529 HRESULT getElementsByTagName
( [in] BSTR tagName
,
530 [out, retval] IXMLDOMNodeList
** resultList
);
532 [id(DISPID_DOM_ELEMENT_NORMALIZE
)]
543 uuid(2933bf87
-7b36
-11d2
-b20e
-00c04f983e60
),
544 pointer_default(unique)
546 interface IXMLDOMText
: IXMLDOMCharacterData
548 [id(DISPID_DOM_TEXT_SPLITTEXT
)]
549 HRESULT splitText
( [in] LONG offset
,
550 [out,retval] IXMLDOMText
**rightHandTextNode
);
560 uuid(2933bf88
-7b36
-11d2
-b20e
-00c04f983e60
),
561 pointer_default(unique)
563 interface IXMLDOMComment
: IXMLDOMCharacterData
575 uuid(2933bf89
-7b36
-11d2
-b20e
-00c04f983e60
),
576 pointer_default(unique)
578 interface IXMLDOMProcessingInstruction
: IXMLDOMNode
580 [propget, id(DISPID_DOM_PI_TARGET
)]
581 HRESULT target
( [out, retval] BSTR *name
);
583 [propget, id(DISPID_DOM_PI_DATA
)]
584 HRESULT data
( [out, retval] BSTR *value
);
586 [propput, id(DISPID_DOM_PI_DATA
)]
587 HRESULT data
( [in] BSTR value
);
597 uuid(2933bf8a
-7b36
-11d2
-b20e
-00c04f983e60
),
598 pointer_default(unique)
600 interface IXMLDOMCDATASection
: IXMLDOMText
612 uuid(2933bf8b
-7b36
-11d2
-b20e
-00c04f983e60
),
613 pointer_default(unique)
615 interface IXMLDOMDocumentType
: IXMLDOMNode
617 [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME
)]
618 HRESULT name
( [out,retval] BSTR *rootName
);
620 [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES
)]
621 HRESULT entities
( [out,retval] IXMLDOMNamedNodeMap
**entityMap
);
623 [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS
)]
624 HRESULT notations
( [out,retval] IXMLDOMNamedNodeMap
**notationMap
);
634 uuid(2933bf8c
-7b36
-11d2
-b20e
-00c04f983e60
),
635 pointer_default(unique)
637 interface IXMLDOMNotation
: IXMLDOMNode
639 [propget, id(DISPID_DOM_NOTATION_PUBLICID
)]
640 HRESULT publicId
([out, retval] VARIANT *publicId
);
642 [propget, id(DISPID_DOM_NOTATION_SYSTEMID
)]
643 HRESULT systemId
([out, retval] VARIANT *systemId
);
653 uuid(2933bf8d
-7b36
-11d2
-b20e
-00c04f983e60
),
654 pointer_default(unique)
656 interface IXMLDOMEntity
: IXMLDOMNode
658 [propget, id(DISPID_DOM_ENTITY_PUBLICID
)]
659 HRESULT publicId
([out, retval] VARIANT *publicId
);
661 [propget, id(DISPID_DOM_ENTITY_SYSTEMID
)]
662 HRESULT systemId
([out, retval] VARIANT *systemId
);
664 [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME
)]
665 HRESULT notationName
([out, retval] BSTR *name
);
675 uuid(2933bf8e
-7b36
-11d2
-b20e
-00c04f983e60
),
676 pointer_default(unique)
678 interface IXMLDOMEntityReference
: IXMLDOMNode
689 uuid(2933bf8f
-7b36
-11d2
-b20e
-00c04f983e60
),
690 pointer_default(unique)
692 interface IXMLDOMImplementation
: IDispatch
694 [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE
)]
695 HRESULT hasFeature
([in] BSTR feature
, [in] BSTR version, [out, retval] VARIANT_BOOL *pbool
);
705 helpstring("structure for reporting parse errors"),
706 pointer_default(unique),
707 uuid (3efaa426
-272f
-11d2
-836f
-0000f87a7782
)
709 interface IXMLDOMParseError
: IDispatch
711 [propget, id(DISPID_VALUE
)]
712 HRESULT errorCode
([retval, out] LONG *errCode
);
714 [propget, id(DISPID_DOM_ERROR_URL
)]
715 HRESULT url
([retval, out] BSTR *p
);
717 [propget, id(DISPID_DOM_ERROR_REASON
)]
718 HRESULT reason
([retval, out] BSTR *p
);
720 [propget, id(DISPID_DOM_ERROR_SRCTEXT
)]
721 HRESULT srcText
([retval, out] BSTR *p
);
723 [propget, id(DISPID_DOM_ERROR_LINE
)]
724 HRESULT line
([retval, out] LONG *lineNo
);
726 [propget, id(DISPID_DOM_ERROR_LINEPOS
)]
727 HRESULT linepos
([retval, out] LONG * linePos
);
729 [propget, id(DISPID_DOM_ERROR_FILEPOS
)]
730 HRESULT filepos
([retval, out] LONG * filePos
);
735 uuid(3efaa427
-272f
-11d2
-836f
-0000f87a7782
)
737 dispinterface XMLDOMDocumentEvents
741 [id(DISPID_XMLDOMEVENT_ONDATAAVAILABLE
)]
742 HRESULT ondataavailable
();
744 [id(DISPID_XMLDOMEVENT_ONREADYSTATECHANGE
)]
745 HRESULT onreadystatechange
();
749 helpstring("XML DOM Document"),
750 progid
("Microsoft.XMLDOM.1.0"),
751 vi_progid
("Microsoft.XMLDOM"),
754 uuid(2933bf90
-7b36
-11d2
-b20e
-00c04f983e60
)
758 [default] interface IXMLDOMDocument
;
759 [default, source] dispinterface XMLDOMDocumentEvents
;
763 helpstring("Free Threaded XML DOM Document"),
764 progid
("Microsoft.FreeThreadedXMLDOM.1.0"),
765 vi_progid
("Microsoft.FreeThreadedXMLDOM"),
768 uuid(2933bf91
-7b36
-11d2
-b20e
-00c04f983e60
)
770 coclass DOMFreeThreadedDocument
772 [default] interface IXMLDOMDocument
;
773 [default, source] dispinterface XMLDOMDocumentEvents
;
778 uuid(ed8c108d
-4349-11d2
-91a4
-00c04f7969e8
),
782 pointer_default(unique)
784 interface IXMLHttpRequest
: IDispatch
787 HRESULT open
([in] BSTR bstrMethod
, [in] BSTR bstrUrl
,
788 [in, optional] VARIANT varAsync
,
789 [in, optional] VARIANT varUser
,
790 [in, optional] VARIANT varPassword
);
792 HRESULT setRequestHeader
([in] BSTR bstrHeader
, [in] BSTR bstrValue
);
795 HRESULT getResponseHeader
([in] BSTR bstrHeader
, [out, retval] BSTR *pbstrValue
);
798 HRESULT getAllResponseHeaders
([out, retval] BSTR *pbstrHeaders
);
801 HRESULT send
([in, optional] VARIANT varBody
);
807 HRESULT status
([out, retval] LONG *plStatus
);
810 HRESULT statusText
([out, retval] BSTR *bstrStatus
);
813 HRESULT responseXML
([out, retval] IDispatch
**ppBody
);
816 HRESULT responseText
([out, retval] BSTR *pbstrBody
);
819 HRESULT responseBody
([out, retval] VARIANT *pvarBody
);
822 HRESULT responseStream
([out, retval] VARIANT *pvarBody
);
825 HRESULT readyState
([out, retval] LONG *plState
);
828 HRESULT onreadystatechange
([in] IDispatch
*pReadyStateSink
);
832 helpstring("XML HTTP Request"),
833 progid
("Microsoft.XMLHTTP.1.0"),
834 vi_progid
("Microsoft.XMLHTTP"),
835 threading
(apartment
),
837 uuid(ed8c108e
-4349
-11d2
-91a4
-00c04f7969e8
)
839 coclass XMLHTTPRequest
841 [default] interface IXMLHttpRequest
;