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
>
24 interface IXMLDOMImplementation
;
25 interface IXMLDOMNode
;
26 interface IXMLDOMDocumentFragment
;
27 interface IXMLDOMDocument
;
28 interface IXMLDOMNodeList
;
29 interface IXMLDOMNamedNodeMap
;
30 interface IXMLDOMCharacterData
;
31 interface IXMLDOMAttribute
;
32 interface IXMLDOMElement
;
33 interface IXMLDOMText
;
34 interface IXMLDOMComment
;
35 interface IXMLDOMProcessingInstruction
;
36 interface IXMLDOMCDATASection
;
37 interface IXMLDOMDocumentType
;
38 interface IXMLDOMNotation
;
39 interface IXMLDOMEntity
;
40 interface IXMLDOMEntityReference
;
41 interface IXMLDOMParseError
;
42 interface IXTLRuntime
;
44 typedef enum tagDOMNodeType
{
50 NODE_ENTITY_REFERENCE
,
52 NODE_PROCESSING_INSTRUCTION
,
56 NODE_DOCUMENT_FRAGMENT
,
67 uuid(2933bf80
-7b36
-11d2
-b20e
-00c04f983e60
),
68 pointer_default(unique)
70 interface IXMLDOMNode
: IDispatch
72 [propget, id(DISPID_DOM_NODE_NODENAME
)]
73 HRESULT nodeName
( [out,retval] BSTR *name
);
75 [propget, id(DISPID_DOM_NODE_NODEVALUE
)]
76 HRESULT nodeValue
( [out,retval] VARIANT *value
);
78 [propput, id(DISPID_DOM_NODE_NODEVALUE
)]
79 HRESULT nodeValue
( [in] VARIANT value
);
81 [propget, id(DISPID_DOM_NODE_NODETYPE
)]
82 HRESULT nodeType
( [out,retval] DOMNodeType
*type
);
84 [propget, id(DISPID_DOM_NODE_PARENTNODE
)]
85 HRESULT parentNode
( [out,retval] IXMLDOMNode
**parent
);
87 [propget, id(DISPID_DOM_NODE_CHILDNODES
)]
88 HRESULT childNodes
( [out,retval] IXMLDOMNodeList
**childList
);
90 [propget, id(DISPID_DOM_NODE_FIRSTCHILD
)]
91 HRESULT firstChild
( [out,retval] IXMLDOMNode
**firstChild
);
93 [propget, id(DISPID_DOM_NODE_LASTCHILD
)]
94 HRESULT lastChild
( [out,retval] IXMLDOMNode
**lastChild
);
96 [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING
)]
97 HRESULT previousSibling
( [out,retval] IXMLDOMNode
**previousSibling
);
99 [propget, id(DISPID_DOM_NODE_NEXTSIBLING
)]
100 HRESULT nextSibling
( [out,retval] IXMLDOMNode
**nextSibling
);
102 [propget, id(DISPID_DOM_NODE_ATTRIBUTES
)]
103 HRESULT attributes
( [out,retval] IXMLDOMNamedNodeMap
**attributeMap
);
105 [id(DISPID_DOM_NODE_INSERTBEFORE
)]
106 HRESULT insertBefore
( [in] IXMLDOMNode
* newChild
,
107 [in] VARIANT refChild
,
108 [out,retval] IXMLDOMNode
**outNewChild
);
110 [id(DISPID_DOM_NODE_REPLACECHILD
)]
111 HRESULT replaceChild
( [in] IXMLDOMNode
*newChild
,
112 [in] IXMLDOMNode
*oldChild
,
113 [out,retval] IXMLDOMNode
**outOldChild
);
115 [id(DISPID_DOM_NODE_REMOVECHILD
)]
116 HRESULT removeChild
( [in] IXMLDOMNode
*childNode
,
117 [out,retval] IXMLDOMNode
**oldChild
);
119 [id(DISPID_DOM_NODE_APPENDCHILD
)]
120 HRESULT appendChild
( [in] IXMLDOMNode
*newChild
,
121 [out,retval] IXMLDOMNode
**outNewChild
);
123 [id(DISPID_DOM_NODE_HASCHILDNODES
)]
124 HRESULT hasChildNodes
( [out,retval] VARIANT_BOOL *hasChild
);
126 [propget, id(DISPID_DOM_NODE_OWNERDOC
)]
127 HRESULT ownerDocument
( [out,retval] IXMLDOMDocument
**DOMDocument
);
129 [id(DISPID_DOM_NODE_CLONENODE
)]
130 HRESULT cloneNode
( [in] VARIANT_BOOL deep
,
131 [out,retval] IXMLDOMNode
**cloneRoot
);
133 [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE
)]
134 HRESULT nodeTypeString
( [out,retval] BSTR *nodeType
);
136 [propget, id(DISPID_XMLDOM_NODE_TEXT
)]
137 HRESULT text
( [out,retval] BSTR *text
);
139 [propput, id(DISPID_XMLDOM_NODE_TEXT
)]
140 HRESULT text
( [in] BSTR text
);
142 [propget, id(DISPID_XMLDOM_NODE_SPECIFIED
)]
143 HRESULT specified
( [out,retval] VARIANT_BOOL *isSpecified
);
145 [propget, id(DISPID_XMLDOM_NODE_DEFINITION
)]
146 HRESULT definition
( [out,retval] IXMLDOMNode
**definitionNode
);
148 [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE
)]
149 HRESULT nodeTypedValue
( [out,retval] VARIANT *typedValue
);
151 [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE
)]
152 HRESULT nodeTypedValue
( [in] VARIANT typedValue
);
154 [propget, id(DISPID_XMLDOM_NODE_DATATYPE
)]
155 HRESULT dataType
( [out,retval] VARIANT *dataTypeName
);
157 [propput, id(DISPID_XMLDOM_NODE_DATATYPE
)]
158 HRESULT dataType
( [in] BSTR dataTypeName
);
160 [propget, id(DISPID_XMLDOM_NODE_XML
)]
161 HRESULT xml
( [out,retval] BSTR *xmlString
);
163 [id(DISPID_XMLDOM_NODE_TRANSFORMNODE
)]
164 HRESULT transformNode
( [in] IXMLDOMNode
*styleSheet
,
165 [out,retval] BSTR *xmlString
);
167 [id(DISPID_XMLDOM_NODE_SELECTNODES
)]
168 HRESULT selectNodes
( [in] BSTR queryString
,
169 [out,retval] IXMLDOMNodeList
**resultList
);
171 [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE
)]
172 HRESULT selectSingleNode
( [in] BSTR queryString
,
173 [out,retval] IXMLDOMNode
**resultNode
);
175 [propget, id(DISPID_XMLDOM_NODE_PARSED
)]
176 HRESULT parsed
( [out,retval] VARIANT_BOOL *isParsed
);
178 [propget, id(DISPID_XMLDOM_NODE_NAMESPACE
)]
179 HRESULT namespaceURI
( [out,retval] BSTR *namespaceURI
);
181 [propget, id(DISPID_XMLDOM_NODE_PREFIX
)]
182 HRESULT prefix
( [out,retval] BSTR *prefixString
);
184 [propget, id(DISPID_XMLDOM_NODE_BASENAME
)]
185 HRESULT baseName
( [out,retval] BSTR *nameString
);
187 [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT
)]
188 HRESULT transformNodeToObject
( [in] IXMLDOMNode
*stylesheet
,
189 [in] VARIANT outputObject
);
199 uuid(2933bf81
-7b36
-11d2
-b20e
-00c04f983e60
),
200 pointer_default(unique)
202 interface IXMLDOMDocument
: IXMLDOMNode
204 [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE
)]
205 HRESULT doctype
( [out,retval] IXMLDOMDocumentType
**documentType
);
207 [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION
)]
208 HRESULT implementation
( [out,retval] IXMLDOMImplementation
**impl
);
210 [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT
)]
211 HRESULT documentElement
( [out,retval] IXMLDOMElement
**DOMElement
);
213 [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT
)]
214 HRESULT documentElement
( [in] IXMLDOMElement
*DOMElement
);
216 [id(DISPID_DOM_DOCUMENT_CREATEELEMENT
)]
217 HRESULT createElement
( [in] BSTR tagname
,
218 [out,retval] IXMLDOMElement
**element
);
220 [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT
)]
221 HRESULT createDocumentFragment
( [out,retval] IXMLDOMDocumentFragment
**docFrag
);
223 [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE
)]
224 HRESULT createTextNode
( [in] BSTR data
,
225 [out,retval] IXMLDOMText
**text
);
227 [id(DISPID_DOM_DOCUMENT_CREATECOMMENT
)]
228 HRESULT createComment
( [in] BSTR data
,
229 [out,retval] IXMLDOMComment
**comment
);
231 [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION
)]
232 HRESULT createCDATASection
( [in] BSTR data
,
233 [out,retval] IXMLDOMCDATASection
**cdata
);
235 [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION
)]
236 HRESULT createProcessingInstruction
( [in] BSTR target
,
238 [out,retval] IXMLDOMProcessingInstruction
**pi
);
240 [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE
)]
241 HRESULT createAttribute
( [in] BSTR name
,
242 [out,retval] IXMLDOMAttribute
**attribute
);
244 [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE
)]
245 HRESULT createEntityReference
( [in] BSTR name
,
246 [out,retval] IXMLDOMEntityReference
**entityRef
);
248 [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME
)]
249 HRESULT getElementsByTagName
( [in] BSTR tagName
,
250 [out,retval] IXMLDOMNodeList
**resultList
);
252 [id(DISPID_XMLDOM_DOCUMENT_CREATENODE
)]
253 HRESULT createNode
( [in] VARIANT Type
,
255 [in] BSTR namespaceURI
,
256 [out,retval] IXMLDOMNode
**node
);
258 [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID
)]
259 HRESULT nodeFromID
( [in] BSTR idString
,
260 [out,retval] IXMLDOMNode
**node
);
262 [id(DISPID_XMLDOM_DOCUMENT_LOAD
)]
263 HRESULT load
( [in] VARIANT xmlSource
,
264 [out,retval] VARIANT_BOOL *isSuccessful
);
266 [propget, id(DISPID_READYSTATE
)]
267 HRESULT readyState
( [out,retval] long *value
);
269 [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR
)]
270 HRESULT parseError
( [out,retval] IXMLDOMParseError
**errorObj
);
272 [propget, id(DISPID_XMLDOM_DOCUMENT_URL
)]
273 HRESULT url
( [out,retval] BSTR *urlString
);
275 /* FIXME: these is meant to be async, but widl parses that as a keyword */
276 [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC
)]
277 HRESULT async
( [out,retval] VARIANT_BOOL *isAsync
);
279 [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC
)]
280 HRESULT async
( [in] VARIANT_BOOL isAsync
);
282 [id(DISPID_XMLDOM_DOCUMENT_ABORT
)]
285 [id(DISPID_XMLDOM_DOCUMENT_LOADXML
)]
286 HRESULT loadXML
( [in] BSTR bstrXML
,
287 [out,retval] VARIANT_BOOL *isSuccessful
);
289 [id(DISPID_XMLDOM_DOCUMENT_SAVE
)]
290 HRESULT save
( [in] VARIANT destination
);
292 [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE
)]
293 HRESULT validateOnParse
( [out,retval] VARIANT_BOOL *isValidating
);
295 [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE
)]
296 HRESULT validateOnParse
( [in] VARIANT_BOOL isValidating
);
298 [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE
)]
299 HRESULT resolveExternals
( [out,retval] VARIANT_BOOL *isResolving
);
301 [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE
)]
302 HRESULT resolveExternals
( [in] VARIANT_BOOL isValidating
);
304 [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE
)]
305 HRESULT preserveWhiteSpace
( [out,retval] VARIANT_BOOL *isPreserving
);
307 [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE
)]
308 HRESULT preserveWhiteSpace
( [in] VARIANT_BOOL isPreserving
);
310 [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE
)]
311 HRESULT onreadystatechange
( [in] VARIANT readystatechangeSink
);
313 [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE
)]
314 HRESULT ondataavailable
( [in] VARIANT ondataavailableSink
);
316 [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE
)]
317 HRESULT ontransformnode
( [in] VARIANT ontransformnodeSink
);
327 uuid(2933bf82
-7b36
-11d2
-b20e
-00c04f983e60
),
328 pointer_default(unique)
330 interface IXMLDOMNodeList
: IDispatch
332 [propget, id(DISPID_VALUE
)]
333 HRESULT item
( [in] long index
,
334 [out,retval] IXMLDOMNode
**listItem
);
336 [propget, id(DISPID_DOM_NODELIST_LENGTH
)]
337 HRESULT length
( [out,retval] long *listLength
);
339 [id(DISPID_XMLDOM_NODELIST_NEXTNODE
)]
340 HRESULT nextNode
( [out,retval] IXMLDOMNode
**nextItem
);
342 [id(DISPID_XMLDOM_NODELIST_RESET
)]
346 HRESULT _newEnum
( [out,retval] IUnknown
**ppUnk
);
356 uuid(2933bf83
-7b36
-11d2
-b20e
-00c04f983e60
),
357 pointer_default(unique)
359 interface IXMLDOMNamedNodeMap
: IDispatch
361 [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM
)]
362 HRESULT getNamedItem
( [in] BSTR name
,
363 [out,retval] IXMLDOMNode
**namedItem
);
365 [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM
)]
366 HRESULT setNamedItem
( [in] IXMLDOMNode
*newItem
,
367 [out,retval] IXMLDOMNode
**namedItem
);
369 [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM
)]
370 HRESULT removeNamedItem
( [in] BSTR name
,
371 [out,retval] IXMLDOMNode
**namedItem
);
373 [propget, id(DISPID_VALUE
)]
374 HRESULT item
( [in] long index
,
375 [out,retval] IXMLDOMNode
**listItem
);
377 [propget, id(DISPID_DOM_NODELIST_LENGTH
)]
378 HRESULT length
( [out,retval] long *listLength
);
380 [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM
)]
381 HRESULT getQualifiedItem
( [in] BSTR baseName
,
382 [in] BSTR namespaceURI
,
383 [out,retval] IXMLDOMNode
**qualifiedItem
);
385 [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM
)]
386 HRESULT removeQualifiedItem
( [in] BSTR baseName
,
387 [in] BSTR namespaceURI
,
388 [out,retval] IXMLDOMNode
**qualifiedItem
);
390 [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE
)]
391 HRESULT nextNode
( [out,retval] IXMLDOMNode
**nextItem
);
393 [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET
)]
397 HRESULT _newEnum
( [out,retval] IUnknown
**ppUnk
);
407 uuid(3efaa413
-272f
-11d2
-836f
-0000f87a7782
),
408 pointer_default(unique)
410 interface IXMLDOMDocumentFragment
: IXMLDOMNode
422 uuid(2933bf84
-7b36
-11d2
-b20e
-00c04f983e60
),
423 pointer_default(unique)
425 interface IXMLDOMCharacterData
: IXMLDOMNode
427 [propget, id(DISPID_DOM_DATA_DATA
)]
428 HRESULT data
( [out,retval] BSTR *data
);
430 [propput, id(DISPID_DOM_DATA_DATA
)]
431 HRESULT data
( [in] BSTR data
);
433 [propget, id(DISPID_DOM_DATA_LENGTH
)]
434 HRESULT length
( [out,retval] long *dataLength
);
436 [id(DISPID_DOM_DATA_SUBSTRING
)]
437 HRESULT substringData
( [in] long offset
,
439 [out,retval] BSTR *data
);
441 [id(DISPID_DOM_DATA_APPEND
)]
442 HRESULT appendData
( [in] BSTR data
);
444 [id(DISPID_DOM_DATA_INSERT
)]
445 HRESULT insertData
( [in] long offset
,
448 [id(DISPID_DOM_DATA_DELETE
)]
449 HRESULT deleteData
( [in] long offset
,
452 [id(DISPID_DOM_DATA_REPLACE
)]
453 HRESULT replaceData
( [in] long offset
,
465 uuid(2933bf85
-7b36
-11d2
-b20e
-00c04f983e60
),
466 pointer_default(unique)
468 interface IXMLDOMAttribute
: IXMLDOMNode
470 [propget,id(DISPID_DOM_ATTRIBUTE_GETNAME
)]
471 HRESULT name
( [out,retval] BSTR *attributeName
);
473 [propget,id(DISPID_DOM_ATTRIBUTE_VALUE
)]
474 HRESULT value
( [out,retval] VARIANT *attributeValue
);
476 [propput,id(DISPID_DOM_ATTRIBUTE_VALUE
)]
477 HRESULT value
( [in] VARIANT attributeValue
);
487 uuid(2933bf86
-7b36
-11d2
-b20e
-00c04f983e60
),
488 pointer_default(unique)
490 interface IXMLDOMElement
: IXMLDOMNode
492 [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME
)]
493 HRESULT tagName
( [out,retval] BSTR *tagName
);
495 [id(DISPID_DOM_ELEMENT_GETATTRIBUTE
)]
496 HRESULT getAttribute
( [in] BSTR name
,
497 [out,retval] VARIANT * value
);
499 [id(DISPID_DOM_ELEMENT_SETATTRIBUTE
)]
500 HRESULT setAttribute
( [in] BSTR name
,
501 [in] VARIANT value
);
503 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE
)]
504 HRESULT removeAttribute
( [in] BSTR name
);
506 [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE
)]
507 HRESULT getAttributeNode
( [in] BSTR name
,
508 [out, retval] IXMLDOMAttribute
** attributeNode
);
510 [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE
)]
511 HRESULT setAttributeNode
( [in] IXMLDOMAttribute
*DOMAttribute
,
512 [out, retval] IXMLDOMAttribute
** attributeNode
);
514 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE
)]
515 HRESULT removeAttributeNode
( [in] IXMLDOMAttribute
*DOMAttribute
,
516 [out, retval] IXMLDOMAttribute
** attributeNode
);
518 [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME
)]
519 HRESULT getElementsByTagName
( [in] BSTR tagName
,
520 [out, retval] IXMLDOMNodeList
** resultList
);
522 [id(DISPID_DOM_ELEMENT_NORMALIZE
)]
533 uuid(2933bf87
-7b36
-11d2
-b20e
-00c04f983e60
),
534 pointer_default(unique)
536 interface IXMLDOMText
: IXMLDOMCharacterData
538 [id(DISPID_DOM_TEXT_SPLITTEXT
)]
539 HRESULT splitText
( [in] long offset
,
540 [out,retval] IXMLDOMText
**rightHandTextNode
);
550 uuid(2933bf88
-7b36
-11d2
-b20e
-00c04f983e60
),
551 pointer_default(unique)
553 interface IXMLDOMComment
: IXMLDOMCharacterData
565 uuid(2933bf89
-7b36
-11d2
-b20e
-00c04f983e60
),
566 pointer_default(unique)
568 interface IXMLDOMProcessingInstruction
: IXMLDOMNode
570 [propget, id(DISPID_DOM_PI_TARGET
)]
571 HRESULT target
( [out, retval] BSTR *name
);
573 [propget, id(DISPID_DOM_PI_DATA
)]
574 HRESULT data
( [out, retval] BSTR *value
);
576 [propput, id(DISPID_DOM_PI_DATA
)]
577 HRESULT data
( [in] BSTR value
);
587 uuid(2933bf8a
-7b36
-11d2
-b20e
-00c04f983e60
),
588 pointer_default(unique)
590 interface IXMLDOMCDATASection
: IXMLDOMText
602 uuid(2933bf8b
-7b36
-11d2
-b20e
-00c04f983e60
),
603 pointer_default(unique)
605 interface IXMLDOMDocumentType
: IXMLDOMNode
607 [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME
)]
608 HRESULT name
( [out,retval] BSTR *rootName
);
610 [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES
)]
611 HRESULT entities
( [out,retval] IXMLDOMNamedNodeMap
**entityMap
);
613 [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS
)]
614 HRESULT notations
( [out,retval] IXMLDOMNamedNodeMap
**notationMap
);
624 uuid(2933bf8c
-7b36
-11d2
-b20e
-00c04f983e60
),
625 pointer_default(unique)
627 interface IXMLDOMNotation
: IXMLDOMNode
629 [propget, id(DISPID_DOM_NOTATION_PUBLICID
)]
630 HRESULT publicId
([out, retval] VARIANT *publicId
);
632 [propget, id(DISPID_DOM_NOTATION_SYSTEMID
)]
633 HRESULT systemId
([out, retval] VARIANT *systemId
);
643 uuid(2933bf8d
-7b36
-11d2
-b20e
-00c04f983e60
),
644 pointer_default(unique)
646 interface IXMLDOMEntity
: IXMLDOMNode
648 [propget, id(DISPID_DOM_ENTITY_PUBLICID
)]
649 HRESULT publicId
([out, retval] VARIANT *publicId
);
651 [propget, id(DISPID_DOM_ENTITY_SYSTEMID
)]
652 HRESULT systemId
([out, retval] VARIANT *systemId
);
654 [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME
)]
655 HRESULT notationName
([out, retval] BSTR *name
);
665 uuid(2933bf8e
-7b36
-11d2
-b20e
-00c04f983e60
),
666 pointer_default(unique)
668 interface IXMLDOMEntityReference
: IXMLDOMNode
679 uuid(2933bf8f
-7b36
-11d2
-b20e
-00c04f983e60
),
680 pointer_default(unique)
682 interface IXMLDOMImplementation
: IDispatch
684 [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE
)]
685 HRESULT hasFeature
([in] BSTR feature
, [in] BSTR version, [out, retval] VARIANT_BOOL *pbool
);
695 helpstring("structure for reporting parse errors"),
696 pointer_default(unique),
697 uuid (3efaa426
-272f
-11d2
-836f
-0000f87a7782
)
699 interface IXMLDOMParseError
: IDispatch
701 [propget, id(DISPID_VALUE
)]
702 HRESULT errorCode
([retval, out] long *errCode
);
704 [propget, id(DISPID_DOM_ERROR_URL
)]
705 HRESULT url
([retval, out] BSTR *p
);
707 [propget, id(DISPID_DOM_ERROR_REASON
)]
708 HRESULT reason
([retval, out] BSTR *p
);
710 [propget, id(DISPID_DOM_ERROR_SRCTEXT
)]
711 HRESULT srcText
([retval, out] BSTR *p
);
713 [propget, id(DISPID_DOM_ERROR_LINE
)]
714 HRESULT line
([retval, out] long *lineNo
);
716 [propget, id(DISPID_DOM_ERROR_LINEPOS
)]
717 HRESULT linepos
([retval, out] long * linePos
);
719 [propget, id(DISPID_DOM_ERROR_FILEPOS
)]
720 HRESULT filepos
([retval, out] long * filePos
);
725 uuid(3efaa427
-272f
-11d2
-836f
-0000f87a7782
)
727 dispinterface XMLDOMDocumentEvents
731 [id(DISPID_XMLDOMEVENT_ONDATAAVAILABLE
)]
732 HRESULT ondataavailable
();
734 [id(DISPID_XMLDOMEVENT_ONREADYSTATECHANGE
)]
735 HRESULT onreadystatechange
();
739 uuid(2933bf90
-7b36
-11d2
-b20e
-00c04f983e60
)
743 [default] interface IXMLDOMDocument
;
744 [default, source] dispinterface XMLDOMDocumentEvents
;
748 uuid(2933bf91
-7b36
-11d2
-b20e
-00c04f983e60
)
750 coclass DOMFreeThreadedDocument
752 [default] interface IXMLDOMDocument
;
753 [default, source] dispinterface XMLDOMDocumentEvents
;
758 uuid(ed8c108d
-4349-11d2
-91a4
-00c04f7969e8
),
762 pointer_default(unique)
764 interface IXMLHttpRequest
: IDispatch
767 HRESULT open
([in] BSTR bstrMethod
, [in] BSTR bstrUrl
,
768 [in, optional] VARIANT varAsync
,
769 [in, optional] VARIANT varUser
,
770 [in, optional] VARIANT varPassword
);
772 HRESULT setRequestHeader
([in] BSTR bstrHeader
, [in] BSTR bstrValue
);
775 HRESULT getResponseHeader
([in] BSTR bstrHeader
, [out, retval] BSTR *pbstrValue
);
778 HRESULT getAllResponseHeaders
([out, retval] BSTR *pbstrHeaders
);
781 HRESULT send
([in, optional] VARIANT varBody
);
787 HRESULT status
([out, retval] long *plStatus
);
790 HRESULT statusText
([out, retval] BSTR *bstrStatus
);
793 HRESULT responseXML
([out, retval] IDispatch
**ppBody
);
796 HRESULT responseText
([out, retval] BSTR *pbstrBody
);
799 HRESULT responseBody
([out, retval] VARIANT *pvarBody
);
802 HRESULT responseStream
([out, retval] VARIANT *pvarBody
);
805 HRESULT readyState
([out, retval] long *plState
);
808 HRESULT onreadystatechange
([in] IDispatch
*pReadyStateSink
);
812 uuid(ed8c108e
-4349
-11d2
-91a4
-00c04f7969e8
)
814 coclass XMLHTTPRequest
816 [default] interface IXMLHttpRequest
;