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 cpp_quote("#ifndef __xmldom_h__")
25 cpp_quote("#define __xmldom_h__")
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;
46 interface IXTLRuntime;
48 typedef enum tagDOMNodeType {
54 NODE_ENTITY_REFERENCE,
56 NODE_PROCESSING_INSTRUCTION,
60 NODE_DOCUMENT_FRAGMENT,
71 uuid(2933bf80-7b36-11d2-b20e-00c04f983e60),
72 pointer_default(unique)
74 interface IXMLDOMNode : IDispatch
76 [propget, id(DISPID_DOM_NODE_NODENAME)]
77 HRESULT nodeName( [out,retval] BSTR *name );
79 [propget, id(DISPID_DOM_NODE_NODEVALUE)]
80 HRESULT nodeValue( [out,retval] VARIANT *value );
82 [propput, id(DISPID_DOM_NODE_NODEVALUE)]
83 HRESULT nodeValue( [in] VARIANT value );
85 [propget, id(DISPID_DOM_NODE_NODETYPE)]
86 HRESULT nodeType( [out,retval] DOMNodeType *type );
88 [propget, id(DISPID_DOM_NODE_PARENTNODE)]
89 HRESULT parentNode( [out,retval] IXMLDOMNode **parent );
91 [propget, id(DISPID_DOM_NODE_CHILDNODES)]
92 HRESULT childNodes( [out,retval] IXMLDOMNodeList **childList );
94 [propget, id(DISPID_DOM_NODE_FIRSTCHILD)]
95 HRESULT firstChild( [out,retval] IXMLDOMNode **firstChild );
97 [propget, id(DISPID_DOM_NODE_LASTCHILD)]
98 HRESULT lastChild( [out,retval] IXMLDOMNode **lastChild );
100 [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING)]
101 HRESULT previousSibling( [out,retval] IXMLDOMNode **previousSibling );
103 [propget, id(DISPID_DOM_NODE_NEXTSIBLING)]
104 HRESULT nextSibling( [out,retval] IXMLDOMNode **nextSibling );
106 [propget, id(DISPID_DOM_NODE_ATTRIBUTES)]
107 HRESULT attributes( [out,retval] IXMLDOMNamedNodeMap **attributeMap );
109 [id(DISPID_DOM_NODE_INSERTBEFORE)]
110 HRESULT insertBefore( [in] IXMLDOMNode * newChild,
111 [in] VARIANT refChild,
112 [out,retval] IXMLDOMNode **outNewChild );
114 [id(DISPID_DOM_NODE_REPLACECHILD)]
115 HRESULT replaceChild( [in] IXMLDOMNode *newChild,
116 [in] IXMLDOMNode *oldChild,
117 [out,retval] IXMLDOMNode **outOldChild );
119 [id(DISPID_DOM_NODE_REMOVECHILD)]
120 HRESULT removeChild( [in] IXMLDOMNode *childNode,
121 [out,retval] IXMLDOMNode **oldChild );
123 [id(DISPID_DOM_NODE_APPENDCHILD)]
124 HRESULT appendChild( [in] IXMLDOMNode *newChild,
125 [out,retval] IXMLDOMNode **outNewChild );
127 [id(DISPID_DOM_NODE_HASCHILDNODES)]
128 HRESULT hasChildNodes( [out,retval] VARIANT_BOOL *hasChild );
130 [propget, id(DISPID_DOM_NODE_OWNERDOC)]
131 HRESULT ownerDocument( [out,retval] IXMLDOMDocument **DOMDocument );
133 [id(DISPID_DOM_NODE_CLONENODE)]
134 HRESULT cloneNode( [in] VARIANT_BOOL deep,
135 [out,retval] IXMLDOMNode **cloneRoot );
137 [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE)]
138 HRESULT nodeTypeString( [out,retval] BSTR *nodeType );
140 [propget, id(DISPID_XMLDOM_NODE_TEXT)]
141 HRESULT text( [out,retval] BSTR *text );
143 [propput, id(DISPID_XMLDOM_NODE_TEXT)]
144 HRESULT text( [in] BSTR text );
146 [propget, id(DISPID_XMLDOM_NODE_SPECIFIED)]
147 HRESULT specified( [out,retval] VARIANT_BOOL *isSpecified );
149 [propget, id(DISPID_XMLDOM_NODE_DEFINITION)]
150 HRESULT definition( [out,retval] IXMLDOMNode **definitionNode );
152 [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
153 HRESULT nodeTypedValue( [out,retval] VARIANT *typedValue );
155 [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
156 HRESULT nodeTypedValue( [in] VARIANT typedValue );
158 [propget, id(DISPID_XMLDOM_NODE_DATATYPE)]
159 HRESULT dataType( [out,retval] VARIANT *dataTypeName );
161 [propput, id(DISPID_XMLDOM_NODE_DATATYPE)]
162 HRESULT dataType( [in] BSTR dataTypeName );
164 [propget, id(DISPID_XMLDOM_NODE_XML)]
165 HRESULT xml( [out,retval] BSTR *xmlString );
167 [id(DISPID_XMLDOM_NODE_TRANSFORMNODE)]
168 HRESULT transformNode( [in] IXMLDOMNode *styleSheet,
169 [out,retval] BSTR *xmlString );
171 [id(DISPID_XMLDOM_NODE_SELECTNODES)]
172 HRESULT selectNodes( [in] BSTR queryString,
173 [out,retval] IXMLDOMNodeList **resultList );
175 [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE)]
176 HRESULT selectSingleNode( [in] BSTR queryString,
177 [out,retval] IXMLDOMNode **resultNode );
179 [propget, id(DISPID_XMLDOM_NODE_PARSED)]
180 HRESULT parsed( [out,retval] VARIANT_BOOL *isParsed );
182 [propget, id(DISPID_XMLDOM_NODE_NAMESPACE)]
183 HRESULT namespaceURI( [out,retval] BSTR *namespaceURI );
185 [propget, id(DISPID_XMLDOM_NODE_PREFIX)]
186 HRESULT prefix( [out,retval] BSTR *prefixString );
188 [propget, id(DISPID_XMLDOM_NODE_BASENAME)]
189 HRESULT baseName( [out,retval] BSTR *nameString );
191 [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT)]
192 HRESULT transformNodeToObject( [in] IXMLDOMNode *stylesheet,
193 [in] VARIANT outputObject );
203 uuid(2933bf81-7b36-11d2-b20e-00c04f983e60),
204 pointer_default(unique)
206 interface IXMLDOMDocument : IXMLDOMNode
208 [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE)]
209 HRESULT doctype( [out,retval] IXMLDOMDocumentType **documentType );
211 [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION)]
212 HRESULT implementation( [out,retval] IXMLDOMImplementation **impl );
214 [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
215 HRESULT documentElement( [out,retval] IXMLDOMElement **DOMElement );
217 [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
218 HRESULT documentElement( [in] IXMLDOMElement *DOMElement );
220 [id(DISPID_DOM_DOCUMENT_CREATEELEMENT)]
221 HRESULT createElement( [in] BSTR tagname,
222 [out,retval] IXMLDOMElement **element );
224 [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT)]
225 HRESULT createDocumentFragment( [out,retval] IXMLDOMDocumentFragment **docFrag );
227 [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE)]
228 HRESULT createTextNode( [in] BSTR data,
229 [out,retval] IXMLDOMText **text );
231 [id(DISPID_DOM_DOCUMENT_CREATECOMMENT)]
232 HRESULT createComment( [in] BSTR data,
233 [out,retval] IXMLDOMComment **comment );
235 [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION)]
236 HRESULT createCDATASection( [in] BSTR data,
237 [out,retval] IXMLDOMCDATASection **cdata );
239 [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION)]
240 HRESULT createProcessingInstruction( [in] BSTR target,
242 [out,retval] IXMLDOMProcessingInstruction **pi );
244 [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE)]
245 HRESULT createAttribute( [in] BSTR name,
246 [out,retval] IXMLDOMAttribute **attribute );
248 [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE)]
249 HRESULT createEntityReference( [in] BSTR name,
250 [out,retval] IXMLDOMEntityReference **entityRef );
252 [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME)]
253 HRESULT getElementsByTagName( [in] BSTR tagName,
254 [out,retval] IXMLDOMNodeList **resultList );
256 [id(DISPID_XMLDOM_DOCUMENT_CREATENODE)]
257 HRESULT createNode( [in] VARIANT Type,
259 [in] BSTR namespaceURI,
260 [out,retval] IXMLDOMNode **node );
262 [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID)]
263 HRESULT nodeFromID( [in] BSTR idString,
264 [out,retval] IXMLDOMNode **node );
266 [id(DISPID_XMLDOM_DOCUMENT_LOAD)]
267 HRESULT load( [in] VARIANT xmlSource,
268 [out,retval] VARIANT_BOOL *isSuccessful );
270 [propget, id(DISPID_READYSTATE)]
271 HRESULT readyState( [out,retval] long *value );
273 [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR)]
274 HRESULT parseError( [out,retval] IXMLDOMParseError **errorObj );
276 [propget, id(DISPID_XMLDOM_DOCUMENT_URL)]
277 HRESULT url( [out,retval] BSTR *urlString );
279 /* FIXME: these is meant to be async, but widl parses that as a keyword */
280 [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
281 HRESULT async( [out,retval] VARIANT_BOOL *isAsync );
283 [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
284 HRESULT async( [in] VARIANT_BOOL isAsync );
286 [id(DISPID_XMLDOM_DOCUMENT_ABORT)]
289 [id(DISPID_XMLDOM_DOCUMENT_LOADXML)]
290 HRESULT loadXML( [in] BSTR bstrXML,
291 [out,retval] VARIANT_BOOL *isSuccessful );
293 [id(DISPID_XMLDOM_DOCUMENT_SAVE)]
294 HRESULT save( [in] VARIANT destination );
296 [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
297 HRESULT validateOnParse( [out,retval] VARIANT_BOOL *isValidating );
299 [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
300 HRESULT validateOnParse( [in] VARIANT_BOOL isValidating );
302 [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
303 HRESULT resolveExternals( [out,retval] VARIANT_BOOL *isResolving );
305 [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
306 HRESULT resolveExternals( [in] VARIANT_BOOL isValidating );
308 [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
309 HRESULT preserveWhiteSpace( [out,retval] VARIANT_BOOL *isPreserving );
311 [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
312 HRESULT preserveWhiteSpace( [in] VARIANT_BOOL isPreserving );
314 [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE)]
315 HRESULT onreadystatechange( [in] VARIANT readystatechangeSink );
317 [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE)]
318 HRESULT ondataavailable( [in] VARIANT ondataavailableSink );
320 [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE)]
321 HRESULT ontransformnode( [in] VARIANT ontransformnodeSink );
331 uuid(2933bf82-7b36-11d2-b20e-00c04f983e60),
332 pointer_default(unique)
334 interface IXMLDOMNodeList : IDispatch
336 [propget, id(DISPID_VALUE)]
337 HRESULT item( [in] long index,
338 [out,retval] IXMLDOMNode **listItem );
340 [propget, id(DISPID_DOM_NODELIST_LENGTH)]
341 HRESULT length( [out,retval] long *listLength );
343 [id(DISPID_XMLDOM_NODELIST_NEXTNODE)]
344 HRESULT nextNode( [out,retval] IXMLDOMNode **nextItem );
346 [id(DISPID_XMLDOM_NODELIST_RESET)]
350 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
360 uuid(2933bf83-7b36-11d2-b20e-00c04f983e60),
361 pointer_default(unique)
363 interface IXMLDOMNamedNodeMap : IDispatch
365 [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM)]
366 HRESULT getNamedItem( [in] BSTR name,
367 [out,retval] IXMLDOMNode **namedItem );
369 [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM)]
370 HRESULT setNamedItem( [in] IXMLDOMNode *newItem,
371 [out,retval] IXMLDOMNode **namedItem );
373 [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM)]
374 HRESULT removeNamedItem( [in] BSTR name,
375 [out,retval] IXMLDOMNode **namedItem );
377 [propget, id(DISPID_VALUE)]
378 HRESULT item( [in] long index,
379 [out,retval] IXMLDOMNode **listItem );
381 [propget, id(DISPID_DOM_NODELIST_LENGTH)]
382 HRESULT length( [out,retval] long *listLength );
384 [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM)]
385 HRESULT getQualifiedItem( [in] BSTR baseName,
386 [in] BSTR namespaceURI,
387 [out,retval] IXMLDOMNode **qualifiedItem );
389 [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM)]
390 HRESULT removeQualifiedItem( [in] BSTR baseName,
391 [in] BSTR namespaceURI,
392 [out,retval] IXMLDOMNode **qualifiedItem );
394 [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE)]
395 HRESULT nextNode( [out,retval] IXMLDOMNode **nextItem );
397 [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET)]
401 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
411 uuid(3efaa413-272f-11d2-836f-0000f87a7782),
412 pointer_default(unique)
414 interface IXMLDOMDocumentFragment : IXMLDOMNode
426 uuid(2933bf84-7b36-11d2-b20e-00c04f983e60),
427 pointer_default(unique)
429 interface IXMLDOMCharacterData : IXMLDOMNode
431 [propget, id(DISPID_DOM_DATA_DATA)]
432 HRESULT data( [out,retval] BSTR *data );
434 [propput, id(DISPID_DOM_DATA_DATA)]
435 HRESULT data( [in] BSTR data );
437 [propget, id(DISPID_DOM_DATA_LENGTH)]
438 HRESULT length( [out,retval] long *dataLength );
440 [id(DISPID_DOM_DATA_SUBSTRING)]
441 HRESULT substringData( [in] long offset,
443 [out,retval] BSTR *data );
445 [id(DISPID_DOM_DATA_APPEND)]
446 HRESULT appendData( [in] BSTR data );
448 [id(DISPID_DOM_DATA_INSERT)]
449 HRESULT insertData( [in] long offset,
452 [id(DISPID_DOM_DATA_DELETE)]
453 HRESULT deleteData( [in] long offset,
456 [id(DISPID_DOM_DATA_REPLACE)]
457 HRESULT replaceData( [in] long offset,
469 uuid(2933bf85-7b36-11d2-b20e-00c04f983e60),
470 pointer_default(unique)
472 interface IXMLDOMAttribute : IXMLDOMNode
474 [propget,id(DISPID_DOM_ATTRIBUTE_GETNAME)]
475 HRESULT name( [out,retval] BSTR *attributeName );
477 [propget,id(DISPID_DOM_ATTRIBUTE_VALUE)]
478 HRESULT value( [out,retval] VARIANT *attributeValue );
480 [propput,id(DISPID_DOM_ATTRIBUTE_VALUE)]
481 HRESULT value( [in] VARIANT attributeValue );
491 uuid(2933bf86-7b36-11d2-b20e-00c04f983e60),
492 pointer_default(unique)
494 interface IXMLDOMElement : IXMLDOMNode
496 [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME)]
497 HRESULT tagName( [out,retval] BSTR *tagName );
499 [id(DISPID_DOM_ELEMENT_GETATTRIBUTE)]
500 HRESULT getAttribute( [in] BSTR name,
501 [out,retval] VARIANT * value );
503 [id(DISPID_DOM_ELEMENT_SETATTRIBUTE)]
504 HRESULT setAttribute( [in] BSTR name,
505 [in] VARIANT value );
507 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE)]
508 HRESULT removeAttribute( [in] BSTR name );
510 [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE)]
511 HRESULT getAttributeNode( [in] BSTR name,
512 [out, retval] IXMLDOMAttribute ** attributeNode );
514 [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE)]
515 HRESULT setAttributeNode( [in] IXMLDOMAttribute *DOMAttribute,
516 [out, retval] IXMLDOMAttribute ** attributeNode );
518 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE)]
519 HRESULT removeAttributeNode( [in] IXMLDOMAttribute *DOMAttribute,
520 [out, retval] IXMLDOMAttribute ** attributeNode );
522 [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME)]
523 HRESULT getElementsByTagName( [in] BSTR tagName,
524 [out, retval] IXMLDOMNodeList ** resultList );
526 [id(DISPID_DOM_ELEMENT_NORMALIZE)]
537 uuid(2933bf87-7b36-11d2-b20e-00c04f983e60),
538 pointer_default(unique)
540 interface IXMLDOMText : IXMLDOMCharacterData
542 [id(DISPID_DOM_TEXT_SPLITTEXT)]
543 HRESULT splitText( [in] long offset,
544 [out,retval] IXMLDOMText **rightHandTextNode );
554 uuid(2933bf88-7b36-11d2-b20e-00c04f983e60),
555 pointer_default(unique)
557 interface IXMLDOMComment : IXMLDOMCharacterData
569 uuid(2933bf89-7b36-11d2-b20e-00c04f983e60),
570 pointer_default(unique)
572 interface IXMLDOMProcessingInstruction : IXMLDOMNode
574 [propget, id(DISPID_DOM_PI_TARGET)]
575 HRESULT target( [out, retval] BSTR *name );
577 [propget, id(DISPID_DOM_PI_DATA)]
578 HRESULT data( [out, retval] BSTR *value );
580 [propput, id(DISPID_DOM_PI_DATA)]
581 HRESULT data( [in] BSTR value );
591 uuid(2933bf8a-7b36-11d2-b20e-00c04f983e60),
592 pointer_default(unique)
594 interface IXMLDOMCDATASection : IXMLDOMText
606 uuid(2933bf8b-7b36-11d2-b20e-00c04f983e60),
607 pointer_default(unique)
609 interface IXMLDOMDocumentType : IXMLDOMNode
611 [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME)]
612 HRESULT name( [out,retval] BSTR *rootName );
614 [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES)]
615 HRESULT entities( [out,retval] IXMLDOMNamedNodeMap **entityMap );
617 [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS)]
618 HRESULT notations( [out,retval] IXMLDOMNamedNodeMap **notationMap );
628 uuid(2933bf8c-7b36-11d2-b20e-00c04f983e60),
629 pointer_default(unique)
631 interface IXMLDOMNotation : IXMLDOMNode
633 [propget, id(DISPID_DOM_NOTATION_PUBLICID)]
634 HRESULT publicId([out, retval] VARIANT *publicId);
636 [propget, id(DISPID_DOM_NOTATION_SYSTEMID)]
637 HRESULT systemId([out, retval] VARIANT *systemId);
647 uuid(2933bf8d-7b36-11d2-b20e-00c04f983e60),
648 pointer_default(unique)
650 interface IXMLDOMEntity : IXMLDOMNode
652 [propget, id(DISPID_DOM_ENTITY_PUBLICID)]
653 HRESULT publicId([out, retval] VARIANT *publicId);
655 [propget, id(DISPID_DOM_ENTITY_SYSTEMID)]
656 HRESULT systemId([out, retval] VARIANT *systemId);
658 [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME)]
659 HRESULT notationName([out, retval] BSTR *name);
669 uuid(2933bf8e-7b36-11d2-b20e-00c04f983e60),
670 pointer_default(unique)
672 interface IXMLDOMEntityReference : IXMLDOMNode
683 uuid(2933bf8f-7b36-11d2-b20e-00c04f983e60),
684 pointer_default(unique)
686 interface IXMLDOMImplementation : IDispatch
688 [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE)]
689 HRESULT hasFeature([in] BSTR feature, [in] BSTR version, [out, retval] VARIANT_BOOL *pbool);
699 helpstring("structure for reporting parse errors"),
700 pointer_default(unique),
701 uuid (3efaa426-272f-11d2-836f-0000f87a7782)
703 interface IXMLDOMParseError : IDispatch
705 [propget, id(DISPID_VALUE)]
706 HRESULT errorCode([retval, out] long *errCode);
708 [propget, id(DISPID_DOM_ERROR_URL)]
709 HRESULT url([retval, out] BSTR *p);
711 [propget, id(DISPID_DOM_ERROR_REASON)]
712 HRESULT reason([retval, out] BSTR *p);
714 [propget, id(DISPID_DOM_ERROR_SRCTEXT)]
715 HRESULT srcText([retval, out] BSTR *p);
717 [propget, id(DISPID_DOM_ERROR_LINE)]
718 HRESULT line([retval, out] long *lineNo);
720 [propget, id(DISPID_DOM_ERROR_LINEPOS)]
721 HRESULT linepos([retval, out] long * linePos);
723 [propget, id(DISPID_DOM_ERROR_FILEPOS)]
724 HRESULT filepos([retval, out] long * filePos);
729 uuid(3efaa427-272f-11d2-836f-0000f87a7782)
731 dispinterface XMLDOMDocumentEvents
735 [id(DISPID_XMLDOMEVENT_ONDATAAVAILABLE)]
736 HRESULT ondataavailable();
738 [id(DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)]
739 HRESULT onreadystatechange();
743 uuid(2933bf90-7b36-11d2-b20e-00c04f983e60)
747 [default] interface IXMLDOMDocument;
748 [default, source] dispinterface XMLDOMDocumentEvents;
752 uuid(2933bf91-7b36-11d2-b20e-00c04f983e60)
754 coclass DOMFreeThreadedDocument
756 [default] interface IXMLDOMDocument;
757 [default, source] dispinterface XMLDOMDocumentEvents;
762 uuid(ed8c108d-4349-11d2-91a4-00c04f7969e8),
766 pointer_default(unique)
768 interface IXMLHttpRequest : IDispatch
771 HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl,
772 [in, optional] VARIANT varAsync,
773 [in, optional] VARIANT varUser,
774 [in, optional] VARIANT varPassword);
776 HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue);
779 HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR *pbstrValue);
782 HRESULT getAllResponseHeaders([out, retval] BSTR *pbstrHeaders);
785 HRESULT send([in, optional] VARIANT varBody);
791 HRESULT status([out, retval] long *plStatus);
794 HRESULT statusText([out, retval] BSTR *bstrStatus);
797 HRESULT responseXML([out, retval] IDispatch **ppBody);
800 HRESULT responseText([out, retval] BSTR *pbstrBody);
803 HRESULT responseBody([out, retval] VARIANT *pvarBody);
806 HRESULT responseStream([out, retval] VARIANT *pvarBody);
809 HRESULT readyState([out, retval] long *plState);
812 HRESULT onreadystatechange([in] IDispatch *pReadyStateSink);
816 uuid(ed8c108e-4349-11d2-91a4-00c04f7969e8)
818 coclass XMLHTTPRequest
820 [default] interface IXMLHttpRequest;