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
19 #include
<xmldomdid.h
>
22 #if
!defined
(progid
) && !defined
(__WIDL__
)
23 #define threading
(model
)
25 #define vi_progid
(str
)
28 interface IXMLDOMImplementation
;
29 interface IXMLDOMNode
;
30 interface IXMLDOMDocumentFragment
;
31 interface IXMLDOMDocument
;
32 interface IXMLDOMNodeList
;
33 interface IXMLDOMNamedNodeMap
;
34 interface IXMLDOMCharacterData
;
35 interface IXMLDOMAttribute
;
36 interface IXMLDOMElement
;
37 interface IXMLDOMText
;
38 interface IXMLDOMComment
;
39 interface IXMLDOMProcessingInstruction
;
40 interface IXMLDOMCDATASection
;
41 interface IXMLDOMDocumentType
;
42 interface IXMLDOMNotation
;
43 interface IXMLDOMEntity
;
44 interface IXMLDOMEntityReference
;
45 interface IXMLDOMParseError
;
47 cpp_quote
("#ifndef __MSXML_DOMNODETYPE_DEFINED")
48 cpp_quote
("#define __MSXML_DOMNODETYPE_DEFINED")
49 typedef enum tagDOMNodeType
{
55 NODE_ENTITY_REFERENCE
,
57 NODE_PROCESSING_INSTRUCTION
,
61 NODE_DOCUMENT_FRAGMENT
,
73 uuid(2933bf80
-7b36
-11d2
-b20e
-00c04f983e60
),
74 pointer_default(unique)
76 interface IXMLDOMNode
: IDispatch
78 [propget, id(DISPID_DOM_NODE_NODENAME
)]
79 HRESULT nodeName
( [out,retval] BSTR *name
);
81 [propget, id(DISPID_DOM_NODE_NODEVALUE
)]
82 HRESULT nodeValue
( [out,retval] VARIANT *value
);
84 [propput, id(DISPID_DOM_NODE_NODEVALUE
)]
85 HRESULT nodeValue
( [in] VARIANT value
);
87 [propget, id(DISPID_DOM_NODE_NODETYPE
)]
88 HRESULT nodeType
( [out,retval] DOMNodeType
*type
);
90 [propget, id(DISPID_DOM_NODE_PARENTNODE
)]
91 HRESULT parentNode
( [out,retval] IXMLDOMNode
**parent
);
93 [propget, id(DISPID_DOM_NODE_CHILDNODES
)]
94 HRESULT childNodes
( [out,retval] IXMLDOMNodeList
**childList
);
96 [propget, id(DISPID_DOM_NODE_FIRSTCHILD
)]
97 HRESULT firstChild
( [out,retval] IXMLDOMNode
**firstChild
);
99 [propget, id(DISPID_DOM_NODE_LASTCHILD
)]
100 HRESULT lastChild
( [out,retval] IXMLDOMNode
**lastChild
);
102 [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING
)]
103 HRESULT previousSibling
( [out,retval] IXMLDOMNode
**previousSibling
);
105 [propget, id(DISPID_DOM_NODE_NEXTSIBLING
)]
106 HRESULT nextSibling
( [out,retval] IXMLDOMNode
**nextSibling
);
108 [propget, id(DISPID_DOM_NODE_ATTRIBUTES
)]
109 HRESULT attributes
( [out,retval] IXMLDOMNamedNodeMap
**attributeMap
);
111 [id(DISPID_DOM_NODE_INSERTBEFORE
)]
112 HRESULT insertBefore
( [in] IXMLDOMNode
* newChild
,
113 [in] VARIANT refChild
,
114 [out,retval] IXMLDOMNode
**outNewChild
);
116 [id(DISPID_DOM_NODE_REPLACECHILD
)]
117 HRESULT replaceChild
( [in] IXMLDOMNode
*newChild
,
118 [in] IXMLDOMNode
*oldChild
,
119 [out,retval] IXMLDOMNode
**outOldChild
);
121 [id(DISPID_DOM_NODE_REMOVECHILD
)]
122 HRESULT removeChild
( [in] IXMLDOMNode
*childNode
,
123 [out,retval] IXMLDOMNode
**oldChild
);
125 [id(DISPID_DOM_NODE_APPENDCHILD
)]
126 HRESULT appendChild
( [in] IXMLDOMNode
*newChild
,
127 [out,retval] IXMLDOMNode
**outNewChild
);
129 [id(DISPID_DOM_NODE_HASCHILDNODES
)]
130 HRESULT hasChildNodes
( [out,retval] VARIANT_BOOL *hasChild
);
132 [propget, id(DISPID_DOM_NODE_OWNERDOC
)]
133 HRESULT ownerDocument
( [out,retval] IXMLDOMDocument
**DOMDocument
);
135 [id(DISPID_DOM_NODE_CLONENODE
)]
136 HRESULT cloneNode
( [in] VARIANT_BOOL deep
,
137 [out,retval] IXMLDOMNode
**cloneRoot
);
139 [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE
)]
140 HRESULT nodeTypeString
( [out,retval] BSTR *nodeType
);
142 [propget, id(DISPID_XMLDOM_NODE_TEXT
)]
143 HRESULT text
( [out,retval] BSTR *text
);
145 [propput, id(DISPID_XMLDOM_NODE_TEXT
)]
146 HRESULT text
( [in] BSTR text
);
148 [propget, id(DISPID_XMLDOM_NODE_SPECIFIED
)]
149 HRESULT specified
( [out,retval] VARIANT_BOOL *isSpecified
);
151 [propget, id(DISPID_XMLDOM_NODE_DEFINITION
)]
152 HRESULT definition
( [out,retval] IXMLDOMNode
**definitionNode
);
154 [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE
)]
155 HRESULT nodeTypedValue
( [out,retval] VARIANT *typedValue
);
157 [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE
)]
158 HRESULT nodeTypedValue
( [in] VARIANT typedValue
);
160 [propget, id(DISPID_XMLDOM_NODE_DATATYPE
)]
161 HRESULT dataType
( [out,retval] VARIANT *dataTypeName
);
163 [propput, id(DISPID_XMLDOM_NODE_DATATYPE
)]
164 HRESULT dataType
( [in] BSTR dataTypeName
);
166 [propget, id(DISPID_XMLDOM_NODE_XML
)]
167 HRESULT xml
( [out,retval] BSTR *xmlString
);
169 [id(DISPID_XMLDOM_NODE_TRANSFORMNODE
)]
170 HRESULT transformNode
( [in] IXMLDOMNode
*styleSheet
,
171 [out,retval] BSTR *xmlString
);
173 [id(DISPID_XMLDOM_NODE_SELECTNODES
)]
174 HRESULT selectNodes
( [in] BSTR queryString
,
175 [out,retval] IXMLDOMNodeList
**resultList
);
177 [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE
)]
178 HRESULT selectSingleNode
( [in] BSTR queryString
,
179 [out,retval] IXMLDOMNode
**resultNode
);
181 [propget, id(DISPID_XMLDOM_NODE_PARSED
)]
182 HRESULT parsed
( [out,retval] VARIANT_BOOL *isParsed
);
184 [propget, id(DISPID_XMLDOM_NODE_NAMESPACE
)]
185 HRESULT namespaceURI
( [out,retval] BSTR *namespaceURI
);
187 [propget, id(DISPID_XMLDOM_NODE_PREFIX
)]
188 HRESULT prefix
( [out,retval] BSTR *prefixString
);
190 [propget, id(DISPID_XMLDOM_NODE_BASENAME
)]
191 HRESULT baseName
( [out,retval] BSTR *nameString
);
193 [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT
)]
194 HRESULT transformNodeToObject
( [in] IXMLDOMNode
*stylesheet
,
195 [in] VARIANT outputObject
);
205 uuid(2933bf81
-7b36
-11d2
-b20e
-00c04f983e60
),
206 pointer_default(unique)
208 interface IXMLDOMDocument
: IXMLDOMNode
210 [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE
)]
211 HRESULT doctype
( [out,retval] IXMLDOMDocumentType
**documentType
);
213 [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION
)]
214 HRESULT implementation
( [out,retval] IXMLDOMImplementation
**impl
);
216 [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT
)]
217 HRESULT documentElement
( [out,retval] IXMLDOMElement
**DOMElement
);
219 [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT
)]
220 HRESULT documentElement
( [in] IXMLDOMElement
*DOMElement
);
222 [id(DISPID_DOM_DOCUMENT_CREATEELEMENT
)]
223 HRESULT createElement
( [in] BSTR tagname
,
224 [out,retval] IXMLDOMElement
**element
);
226 [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT
)]
227 HRESULT createDocumentFragment
( [out,retval] IXMLDOMDocumentFragment
**docFrag
);
229 [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE
)]
230 HRESULT createTextNode
( [in] BSTR data
,
231 [out,retval] IXMLDOMText
**text
);
233 [id(DISPID_DOM_DOCUMENT_CREATECOMMENT
)]
234 HRESULT createComment
( [in] BSTR data
,
235 [out,retval] IXMLDOMComment
**comment
);
237 [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION
)]
238 HRESULT createCDATASection
( [in] BSTR data
,
239 [out,retval] IXMLDOMCDATASection
**cdata
);
241 [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION
)]
242 HRESULT createProcessingInstruction
( [in] BSTR target
,
244 [out,retval] IXMLDOMProcessingInstruction
**pi
);
246 [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE
)]
247 HRESULT createAttribute
( [in] BSTR name
,
248 [out,retval] IXMLDOMAttribute
**attribute
);
250 [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE
)]
251 HRESULT createEntityReference
( [in] BSTR name
,
252 [out,retval] IXMLDOMEntityReference
**entityRef
);
254 [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME
)]
255 HRESULT getElementsByTagName
( [in] BSTR tagName
,
256 [out,retval] IXMLDOMNodeList
**resultList
);
258 [id(DISPID_XMLDOM_DOCUMENT_CREATENODE
)]
259 HRESULT createNode
( [in] VARIANT Type
,
261 [in] BSTR namespaceURI
,
262 [out,retval] IXMLDOMNode
**node
);
264 [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID
)]
265 HRESULT nodeFromID
( [in] BSTR idString
,
266 [out,retval] IXMLDOMNode
**node
);
268 [id(DISPID_XMLDOM_DOCUMENT_LOAD
)]
269 HRESULT load
( [in] VARIANT xmlSource
,
270 [out,retval] VARIANT_BOOL *isSuccessful
);
272 [propget, id(DISPID_READYSTATE
)]
273 HRESULT readyState
( [out,retval] LONG *value
);
275 [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR
)]
276 HRESULT parseError
( [out,retval] IXMLDOMParseError
**errorObj
);
278 [propget, id(DISPID_XMLDOM_DOCUMENT_URL
)]
279 HRESULT url
( [out,retval] BSTR *urlString
);
281 /* FIXME: these is meant to be async, but widl parses that as a keyword */
282 [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC
)]
283 HRESULT async
( [out,retval] VARIANT_BOOL *isAsync
);
285 [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC
)]
286 HRESULT async
( [in] VARIANT_BOOL isAsync
);
288 [id(DISPID_XMLDOM_DOCUMENT_ABORT
)]
291 [id(DISPID_XMLDOM_DOCUMENT_LOADXML
)]
292 HRESULT loadXML
( [in] BSTR bstrXML
,
293 [out,retval] VARIANT_BOOL *isSuccessful
);
295 [id(DISPID_XMLDOM_DOCUMENT_SAVE
)]
296 HRESULT save
( [in] VARIANT destination
);
298 [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE
)]
299 HRESULT validateOnParse
( [out,retval] VARIANT_BOOL *isValidating
);
301 [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE
)]
302 HRESULT validateOnParse
( [in] VARIANT_BOOL isValidating
);
304 [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE
)]
305 HRESULT resolveExternals
( [out,retval] VARIANT_BOOL *isResolving
);
307 [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE
)]
308 HRESULT resolveExternals
( [in] VARIANT_BOOL isValidating
);
310 [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE
)]
311 HRESULT preserveWhiteSpace
( [out,retval] VARIANT_BOOL *isPreserving
);
313 [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE
)]
314 HRESULT preserveWhiteSpace
( [in] VARIANT_BOOL isPreserving
);
316 [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE
)]
317 HRESULT onreadystatechange
( [in] VARIANT readystatechangeSink
);
319 [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE
)]
320 HRESULT ondataavailable
( [in] VARIANT ondataavailableSink
);
322 [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE
)]
323 HRESULT ontransformnode
( [in] VARIANT ontransformnodeSink
);
333 uuid(2933bf82
-7b36
-11d2
-b20e
-00c04f983e60
),
334 pointer_default(unique)
336 interface IXMLDOMNodeList
: IDispatch
338 [propget, id(DISPID_VALUE
)]
339 HRESULT item
( [in] LONG index
,
340 [out,retval] IXMLDOMNode
**listItem
);
342 [propget, id(DISPID_DOM_NODELIST_LENGTH
)]
343 HRESULT length
( [out,retval] LONG *listLength
);
345 [id(DISPID_XMLDOM_NODELIST_NEXTNODE
)]
346 HRESULT nextNode
( [out,retval] IXMLDOMNode
**nextItem
);
348 [id(DISPID_XMLDOM_NODELIST_RESET
)]
352 HRESULT _newEnum
( [out,retval] IUnknown
**ppUnk
);
362 uuid(2933bf83
-7b36
-11d2
-b20e
-00c04f983e60
),
363 pointer_default(unique)
365 interface IXMLDOMNamedNodeMap
: IDispatch
367 [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM
)]
368 HRESULT getNamedItem
( [in] BSTR name
,
369 [out,retval] IXMLDOMNode
**namedItem
);
371 [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM
)]
372 HRESULT setNamedItem
( [in] IXMLDOMNode
*newItem
,
373 [out,retval] IXMLDOMNode
**namedItem
);
375 [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM
)]
376 HRESULT removeNamedItem
( [in] BSTR name
,
377 [out,retval] IXMLDOMNode
**namedItem
);
379 [propget, id(DISPID_VALUE
)]
380 HRESULT item
( [in] LONG index
,
381 [out,retval] IXMLDOMNode
**listItem
);
383 [propget, id(DISPID_DOM_NODELIST_LENGTH
)]
384 HRESULT length
( [out,retval] LONG *listLength
);
386 [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM
)]
387 HRESULT getQualifiedItem
( [in] BSTR baseName
,
388 [in] BSTR namespaceURI
,
389 [out,retval] IXMLDOMNode
**qualifiedItem
);
391 [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM
)]
392 HRESULT removeQualifiedItem
( [in] BSTR baseName
,
393 [in] BSTR namespaceURI
,
394 [out,retval] IXMLDOMNode
**qualifiedItem
);
396 [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE
)]
397 HRESULT nextNode
( [out,retval] IXMLDOMNode
**nextItem
);
399 [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET
)]
403 HRESULT _newEnum
( [out,retval] IUnknown
**ppUnk
);
413 uuid(3efaa413
-272f
-11d2
-836f
-0000f87a7782
),
414 pointer_default(unique)
416 interface IXMLDOMDocumentFragment
: IXMLDOMNode
428 uuid(2933bf84
-7b36
-11d2
-b20e
-00c04f983e60
),
429 pointer_default(unique)
431 interface IXMLDOMCharacterData
: IXMLDOMNode
433 [propget, id(DISPID_DOM_DATA_DATA
)]
434 HRESULT data
( [out,retval] BSTR *data
);
436 [propput, id(DISPID_DOM_DATA_DATA
)]
437 HRESULT data
( [in] BSTR data
);
439 [propget, id(DISPID_DOM_DATA_LENGTH
)]
440 HRESULT length
( [out,retval] LONG *dataLength
);
442 [id(DISPID_DOM_DATA_SUBSTRING
)]
443 HRESULT substringData
( [in] LONG offset
,
445 [out,retval] BSTR *data
);
447 [id(DISPID_DOM_DATA_APPEND
)]
448 HRESULT appendData
( [in] BSTR data
);
450 [id(DISPID_DOM_DATA_INSERT
)]
451 HRESULT insertData
( [in] LONG offset
,
454 [id(DISPID_DOM_DATA_DELETE
)]
455 HRESULT deleteData
( [in] LONG offset
,
458 [id(DISPID_DOM_DATA_REPLACE
)]
459 HRESULT replaceData
( [in] LONG offset
,
471 uuid(2933bf85
-7b36
-11d2
-b20e
-00c04f983e60
),
472 pointer_default(unique)
474 interface IXMLDOMAttribute
: IXMLDOMNode
476 [propget,id(DISPID_DOM_ATTRIBUTE_GETNAME
)]
477 HRESULT name
( [out,retval] BSTR *attributeName
);
479 [propget,id(DISPID_DOM_ATTRIBUTE_VALUE
)]
480 HRESULT value
( [out,retval] VARIANT *attributeValue
);
482 [propput,id(DISPID_DOM_ATTRIBUTE_VALUE
)]
483 HRESULT value
( [in] VARIANT attributeValue
);
493 uuid(2933bf86
-7b36
-11d2
-b20e
-00c04f983e60
),
494 pointer_default(unique)
496 interface IXMLDOMElement
: IXMLDOMNode
498 [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME
)]
499 HRESULT tagName
( [out,retval] BSTR *tagName
);
501 [id(DISPID_DOM_ELEMENT_GETATTRIBUTE
)]
502 HRESULT getAttribute
( [in] BSTR name
,
503 [out,retval] VARIANT * value
);
505 [id(DISPID_DOM_ELEMENT_SETATTRIBUTE
)]
506 HRESULT setAttribute
( [in] BSTR name
,
507 [in] VARIANT value
);
509 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE
)]
510 HRESULT removeAttribute
( [in] BSTR name
);
512 [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE
)]
513 HRESULT getAttributeNode
( [in] BSTR name
,
514 [out, retval] IXMLDOMAttribute
** attributeNode
);
516 [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE
)]
517 HRESULT setAttributeNode
( [in] IXMLDOMAttribute
*DOMAttribute
,
518 [out, retval] IXMLDOMAttribute
** attributeNode
);
520 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE
)]
521 HRESULT removeAttributeNode
( [in] IXMLDOMAttribute
*DOMAttribute
,
522 [out, retval] IXMLDOMAttribute
** attributeNode
);
524 [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME
)]
525 HRESULT getElementsByTagName
( [in] BSTR tagName
,
526 [out, retval] IXMLDOMNodeList
** resultList
);
528 [id(DISPID_DOM_ELEMENT_NORMALIZE
)]
539 uuid(2933bf87
-7b36
-11d2
-b20e
-00c04f983e60
),
540 pointer_default(unique)
542 interface IXMLDOMText
: IXMLDOMCharacterData
544 [id(DISPID_DOM_TEXT_SPLITTEXT
)]
545 HRESULT splitText
( [in] LONG offset
,
546 [out,retval] IXMLDOMText
**rightHandTextNode
);
556 uuid(2933bf88
-7b36
-11d2
-b20e
-00c04f983e60
),
557 pointer_default(unique)
559 interface IXMLDOMComment
: IXMLDOMCharacterData
571 uuid(2933bf89
-7b36
-11d2
-b20e
-00c04f983e60
),
572 pointer_default(unique)
574 interface IXMLDOMProcessingInstruction
: IXMLDOMNode
576 [propget, id(DISPID_DOM_PI_TARGET
)]
577 HRESULT target
( [out, retval] BSTR *name
);
579 [propget, id(DISPID_DOM_PI_DATA
)]
580 HRESULT data
( [out, retval] BSTR *value
);
582 [propput, id(DISPID_DOM_PI_DATA
)]
583 HRESULT data
( [in] BSTR value
);
593 uuid(2933bf8a
-7b36
-11d2
-b20e
-00c04f983e60
),
594 pointer_default(unique)
596 interface IXMLDOMCDATASection
: IXMLDOMText
608 uuid(2933bf8b
-7b36
-11d2
-b20e
-00c04f983e60
),
609 pointer_default(unique)
611 interface IXMLDOMDocumentType
: IXMLDOMNode
613 [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME
)]
614 HRESULT name
( [out,retval] BSTR *rootName
);
616 [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES
)]
617 HRESULT entities
( [out,retval] IXMLDOMNamedNodeMap
**entityMap
);
619 [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS
)]
620 HRESULT notations
( [out,retval] IXMLDOMNamedNodeMap
**notationMap
);
630 uuid(2933bf8c
-7b36
-11d2
-b20e
-00c04f983e60
),
631 pointer_default(unique)
633 interface IXMLDOMNotation
: IXMLDOMNode
635 [propget, id(DISPID_DOM_NOTATION_PUBLICID
)]
636 HRESULT publicId
([out, retval] VARIANT *publicId
);
638 [propget, id(DISPID_DOM_NOTATION_SYSTEMID
)]
639 HRESULT systemId
([out, retval] VARIANT *systemId
);
649 uuid(2933bf8d
-7b36
-11d2
-b20e
-00c04f983e60
),
650 pointer_default(unique)
652 interface IXMLDOMEntity
: IXMLDOMNode
654 [propget, id(DISPID_DOM_ENTITY_PUBLICID
)]
655 HRESULT publicId
([out, retval] VARIANT *publicId
);
657 [propget, id(DISPID_DOM_ENTITY_SYSTEMID
)]
658 HRESULT systemId
([out, retval] VARIANT *systemId
);
660 [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME
)]
661 HRESULT notationName
([out, retval] BSTR *name
);
671 uuid(2933bf8e
-7b36
-11d2
-b20e
-00c04f983e60
),
672 pointer_default(unique)
674 interface IXMLDOMEntityReference
: IXMLDOMNode
685 uuid(2933bf8f
-7b36
-11d2
-b20e
-00c04f983e60
),
686 pointer_default(unique)
688 interface IXMLDOMImplementation
: IDispatch
690 [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE
)]
691 HRESULT hasFeature
([in] BSTR feature
, [in] BSTR version, [out, retval] VARIANT_BOOL *pbool
);
701 helpstring("structure for reporting parse errors"),
702 pointer_default(unique),
703 uuid (3efaa426
-272f
-11d2
-836f
-0000f87a7782
)
705 interface IXMLDOMParseError
: IDispatch
707 [propget, id(DISPID_VALUE
)]
708 HRESULT errorCode
([retval, out] LONG *errCode
);
710 [propget, id(DISPID_DOM_ERROR_URL
)]
711 HRESULT url
([retval, out] BSTR *p
);
713 [propget, id(DISPID_DOM_ERROR_REASON
)]
714 HRESULT reason
([retval, out] BSTR *p
);
716 [propget, id(DISPID_DOM_ERROR_SRCTEXT
)]
717 HRESULT srcText
([retval, out] BSTR *p
);
719 [propget, id(DISPID_DOM_ERROR_LINE
)]
720 HRESULT line
([retval, out] LONG *lineNo
);
722 [propget, id(DISPID_DOM_ERROR_LINEPOS
)]
723 HRESULT linepos
([retval, out] LONG * linePos
);
725 [propget, id(DISPID_DOM_ERROR_FILEPOS
)]
726 HRESULT filepos
([retval, out] LONG * filePos
);
731 uuid(3efaa427
-272f
-11d2
-836f
-0000f87a7782
)
733 dispinterface XMLDOMDocumentEvents
737 [id(DISPID_XMLDOMEVENT_ONDATAAVAILABLE
)]
738 HRESULT ondataavailable
();
740 [id(DISPID_XMLDOMEVENT_ONREADYSTATECHANGE
)]
741 HRESULT onreadystatechange
();
745 helpstring("XML DOM Document"),
746 progid
("Microsoft.XMLDOM.1.0"),
747 vi_progid
("Microsoft.XMLDOM"),
750 uuid(2933bf90
-7b36
-11d2
-b20e
-00c04f983e60
)
754 [default] interface IXMLDOMDocument
;
755 [default, source] dispinterface XMLDOMDocumentEvents
;
759 helpstring("Free Threaded XML DOM Document"),
760 progid
("Microsoft.FreeThreadedXMLDOM.1.0"),
761 vi_progid
("Microsoft.FreeThreadedXMLDOM"),
764 uuid(2933bf91
-7b36
-11d2
-b20e
-00c04f983e60
)
766 coclass DOMFreeThreadedDocument
768 [default] interface IXMLDOMDocument
;
769 [default, source] dispinterface XMLDOMDocumentEvents
;
774 uuid(ed8c108d
-4349-11d2
-91a4
-00c04f7969e8
),
778 pointer_default(unique)
780 interface IXMLHttpRequest
: IDispatch
783 HRESULT open
([in] BSTR bstrMethod
, [in] BSTR bstrUrl
,
784 [in, optional] VARIANT varAsync
,
785 [in, optional] VARIANT varUser
,
786 [in, optional] VARIANT varPassword
);
788 HRESULT setRequestHeader
([in] BSTR bstrHeader
, [in] BSTR bstrValue
);
791 HRESULT getResponseHeader
([in] BSTR bstrHeader
, [out, retval] BSTR *pbstrValue
);
794 HRESULT getAllResponseHeaders
([out, retval] BSTR *pbstrHeaders
);
797 HRESULT send
([in, optional] VARIANT varBody
);
803 HRESULT status
([out, retval] LONG *plStatus
);
806 HRESULT statusText
([out, retval] BSTR *bstrStatus
);
809 HRESULT responseXML
([out, retval] IDispatch
**ppBody
);
812 HRESULT responseText
([out, retval] BSTR *pbstrBody
);
815 HRESULT responseBody
([out, retval] VARIANT *pvarBody
);
818 HRESULT responseStream
([out, retval] VARIANT *pvarBody
);
821 HRESULT readyState
([out, retval] LONG *plState
);
824 HRESULT onreadystatechange
([in] IDispatch
*pReadyStateSink
);
828 helpstring("XML HTTP Request"),
829 progid
("Microsoft.XMLHTTP.1.0"),
830 vi_progid
("Microsoft.XMLHTTP"),
831 threading
(apartment
),
833 uuid(ed8c108e
-4349
-11d2
-91a4
-00c04f7969e8
)
835 coclass XMLHTTPRequest
837 [default] interface IXMLHttpRequest
;