xmllite/tests: Test query for supported interface sequence while creating IXmlReaderI...
[wine/hramrach.git] / include / xmldom.idl
blobd5d51ff2588ac25c6c2c271bb98cc8ec0db326ab
1 /*
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>
20 #include <idispids.h>
22 import "ocidl.idl";
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 {
45 NODE_INVALID,
46 NODE_ELEMENT,
47 NODE_ATTRIBUTE,
48 NODE_TEXT,
49 NODE_CDATA_SECTION,
50 NODE_ENTITY_REFERENCE,
51 NODE_ENTITY,
52 NODE_PROCESSING_INSTRUCTION,
53 NODE_COMMENT,
54 NODE_DOCUMENT,
55 NODE_DOCUMENT_TYPE,
56 NODE_DOCUMENT_FRAGMENT,
57 NODE_NOTATION
58 } DOMNodeType;
61 local,
62 object,
63 odl,
64 dual,
65 oleautomation,
66 /*nonextensible,*/
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 );
193 local,
194 object,
195 odl,
196 dual,
197 /*nonextensible,*/
198 oleautomation,
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,
237 [in] BSTR data,
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,
254 [in] BSTR name,
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)]
283 HRESULT 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 );
321 local,
322 object,
323 odl,
324 dual,
325 /*nonextensible,*/
326 oleautomation,
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)]
343 HRESULT reset();
345 [id(DISPID_NEWENUM)]
346 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
350 local,
351 object,
352 odl,
353 dual,
354 /*nonextensible,*/
355 oleautomation,
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)]
394 HRESULT reset();
396 [id(DISPID_NEWENUM)]
397 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
401 local,
402 object,
403 odl,
404 dual,
405 /*nonextensible,*/
406 oleautomation,
407 uuid(3efaa413-272f-11d2-836f-0000f87a7782),
408 pointer_default(unique)
410 interface IXMLDOMDocumentFragment : IXMLDOMNode
412 /* empty */
416 local,
417 object,
418 odl,
419 dual,
420 /*nonextensible,*/
421 oleautomation,
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,
438 [in] LONG count,
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,
446 [in] BSTR data );
448 [id(DISPID_DOM_DATA_DELETE)]
449 HRESULT deleteData( [in] LONG offset,
450 [in] LONG count );
452 [id(DISPID_DOM_DATA_REPLACE)]
453 HRESULT replaceData( [in] LONG offset,
454 [in] LONG count,
455 [in] BSTR data );
459 local,
460 object,
461 odl,
462 dual,
463 /*nonextensible,*/
464 oleautomation,
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 );
481 local,
482 object,
483 odl,
484 dual,
485 /*nonextensible,*/
486 oleautomation,
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)]
523 HRESULT normalize();
527 local,
528 object,
529 odl,
530 dual,
531 /*nonextensible,*/
532 oleautomation,
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 );
544 local,
545 object,
546 odl,
547 dual,
548 /*nonextensible,*/
549 oleautomation,
550 uuid(2933bf88-7b36-11d2-b20e-00c04f983e60),
551 pointer_default(unique)
553 interface IXMLDOMComment : IXMLDOMCharacterData
555 /* empty */
559 local,
560 object,
561 odl,
562 dual,
563 /*nonextensible,*/
564 oleautomation,
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 );
581 local,
582 object,
583 odl,
584 dual,
585 /*nonextensible,*/
586 oleautomation,
587 uuid(2933bf8a-7b36-11d2-b20e-00c04f983e60),
588 pointer_default(unique)
590 interface IXMLDOMCDATASection : IXMLDOMText
592 /* empty */
596 local,
597 object,
598 odl,
599 dual,
600 /*nonextensible,*/
601 oleautomation,
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 );
618 local,
619 object,
620 odl,
621 dual,
622 nonextensible,
623 oleautomation,
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);
637 local,
638 object,
639 odl,
640 dual,
641 nonextensible,
642 oleautomation,
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);
659 local,
660 object,
661 odl,
662 dual,
663 nonextensible,
664 oleautomation,
665 uuid(2933bf8e-7b36-11d2-b20e-00c04f983e60),
666 pointer_default(unique)
668 interface IXMLDOMEntityReference : IXMLDOMNode
673 local,
674 object,
675 odl,
676 dual,
677 nonextensible,
678 oleautomation,
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);
689 local,
690 object,
691 odl,
692 dual,
693 oleautomation,
694 /*nonextensible,*/
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);
724 hidden,
725 uuid(3efaa427-272f-11d2-836f-0000f87a7782)
727 dispinterface XMLDOMDocumentEvents
729 properties:
730 methods:
731 [id(DISPID_XMLDOMEVENT_ONDATAAVAILABLE)]
732 HRESULT ondataavailable();
734 [id(DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)]
735 HRESULT onreadystatechange();
739 uuid(2933bf90-7b36-11d2-b20e-00c04f983e60)
741 coclass DOMDocument
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;
757 object,
758 uuid(ed8c108d-4349-11d2-91a4-00c04f7969e8),
759 odl,
760 dual,
761 oleautomation,
762 pointer_default(unique)
764 interface IXMLHttpRequest : IDispatch
766 [id(1)]
767 HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl,
768 [in, optional] VARIANT varAsync,
769 [in, optional] VARIANT varUser,
770 [in, optional] VARIANT varPassword);
771 [id(2)]
772 HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue);
774 [id(3)]
775 HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR *pbstrValue);
777 [id(4)]
778 HRESULT getAllResponseHeaders([out, retval] BSTR *pbstrHeaders);
780 [id(5)]
781 HRESULT send([in, optional] VARIANT varBody);
783 [id(6)]
784 HRESULT abort();
786 [propget, id(7)]
787 HRESULT status([out, retval] LONG *plStatus);
789 [propget, id(8)]
790 HRESULT statusText([out, retval] BSTR *bstrStatus);
792 [propget, id(9)]
793 HRESULT responseXML([out, retval] IDispatch **ppBody);
795 [propget, id(10)]
796 HRESULT responseText([out, retval] BSTR *pbstrBody);
798 [propget, id(11)]
799 HRESULT responseBody([out, retval] VARIANT *pvarBody);
801 [propget, id(12)]
802 HRESULT responseStream([out, retval] VARIANT *pvarBody);
804 [propget, id(13)]
805 HRESULT readyState([out, retval] LONG *plState);
807 [propput, id(14)]
808 HRESULT onreadystatechange([in] IDispatch *pReadyStateSink);
812 uuid(ed8c108e-4349-11d2-91a4-00c04f7969e8)
814 coclass XMLHTTPRequest
816 [default] interface IXMLHttpRequest;