ieframe/tests: Fixed tests on IE11.
[wine.git] / include / xmldom.idl
bloba38859252a217266cabc28dbe2f109160b51d19d
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 #if !defined(progid) && !defined(__WIDL__)
23 #define threading(model)
24 #define progid(str)
25 #define vi_progid(str)
26 #endif
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 {
50 NODE_INVALID,
51 NODE_ELEMENT,
52 NODE_ATTRIBUTE,
53 NODE_TEXT,
54 NODE_CDATA_SECTION,
55 NODE_ENTITY_REFERENCE,
56 NODE_ENTITY,
57 NODE_PROCESSING_INSTRUCTION,
58 NODE_COMMENT,
59 NODE_DOCUMENT,
60 NODE_DOCUMENT_TYPE,
61 NODE_DOCUMENT_FRAGMENT,
62 NODE_NOTATION
63 } DOMNodeType;
64 cpp_quote("#endif")
67 local,
68 object,
69 odl,
70 dual,
71 oleautomation,
72 /*nonextensible,*/
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 );
199 local,
200 object,
201 odl,
202 dual,
203 /*nonextensible,*/
204 oleautomation,
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,
243 [in] BSTR data,
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,
260 [in] BSTR name,
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)]
289 HRESULT 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 );
327 local,
328 object,
329 odl,
330 dual,
331 /*nonextensible,*/
332 oleautomation,
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)]
349 HRESULT reset();
351 [id(DISPID_NEWENUM)]
352 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
356 local,
357 object,
358 odl,
359 dual,
360 /*nonextensible,*/
361 oleautomation,
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)]
400 HRESULT reset();
402 [id(DISPID_NEWENUM)]
403 HRESULT _newEnum( [out,retval] IUnknown **ppUnk );
407 local,
408 object,
409 odl,
410 dual,
411 /*nonextensible,*/
412 oleautomation,
413 uuid(3efaa413-272f-11d2-836f-0000f87a7782),
414 pointer_default(unique)
416 interface IXMLDOMDocumentFragment : IXMLDOMNode
418 /* empty */
422 local,
423 object,
424 odl,
425 dual,
426 /*nonextensible,*/
427 oleautomation,
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,
444 [in] LONG count,
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,
452 [in] BSTR data );
454 [id(DISPID_DOM_DATA_DELETE)]
455 HRESULT deleteData( [in] LONG offset,
456 [in] LONG count );
458 [id(DISPID_DOM_DATA_REPLACE)]
459 HRESULT replaceData( [in] LONG offset,
460 [in] LONG count,
461 [in] BSTR data );
465 local,
466 object,
467 odl,
468 dual,
469 /*nonextensible,*/
470 oleautomation,
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 );
487 local,
488 object,
489 odl,
490 dual,
491 /*nonextensible,*/
492 oleautomation,
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)]
529 HRESULT normalize();
533 local,
534 object,
535 odl,
536 dual,
537 /*nonextensible,*/
538 oleautomation,
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 );
550 local,
551 object,
552 odl,
553 dual,
554 /*nonextensible,*/
555 oleautomation,
556 uuid(2933bf88-7b36-11d2-b20e-00c04f983e60),
557 pointer_default(unique)
559 interface IXMLDOMComment : IXMLDOMCharacterData
561 /* empty */
565 local,
566 object,
567 odl,
568 dual,
569 /*nonextensible,*/
570 oleautomation,
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 );
587 local,
588 object,
589 odl,
590 dual,
591 /*nonextensible,*/
592 oleautomation,
593 uuid(2933bf8a-7b36-11d2-b20e-00c04f983e60),
594 pointer_default(unique)
596 interface IXMLDOMCDATASection : IXMLDOMText
598 /* empty */
602 local,
603 object,
604 odl,
605 dual,
606 /*nonextensible,*/
607 oleautomation,
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 );
624 local,
625 object,
626 odl,
627 dual,
628 nonextensible,
629 oleautomation,
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);
643 local,
644 object,
645 odl,
646 dual,
647 nonextensible,
648 oleautomation,
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);
665 local,
666 object,
667 odl,
668 dual,
669 nonextensible,
670 oleautomation,
671 uuid(2933bf8e-7b36-11d2-b20e-00c04f983e60),
672 pointer_default(unique)
674 interface IXMLDOMEntityReference : IXMLDOMNode
679 local,
680 object,
681 odl,
682 dual,
683 nonextensible,
684 oleautomation,
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);
695 local,
696 object,
697 odl,
698 dual,
699 oleautomation,
700 /*nonextensible,*/
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);
730 hidden,
731 uuid(3efaa427-272f-11d2-836f-0000f87a7782)
733 dispinterface XMLDOMDocumentEvents
735 properties:
736 methods:
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"),
748 threading(both),
749 version(1.0),
750 uuid(2933bf90-7b36-11d2-b20e-00c04f983e60)
752 coclass DOMDocument
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"),
762 threading(both),
763 version(1.0),
764 uuid(2933bf91-7b36-11d2-b20e-00c04f983e60)
766 coclass DOMFreeThreadedDocument
768 [default] interface IXMLDOMDocument;
769 [default, source] dispinterface XMLDOMDocumentEvents;
773 object,
774 uuid(ed8c108d-4349-11d2-91a4-00c04f7969e8),
775 odl,
776 dual,
777 oleautomation,
778 pointer_default(unique)
780 interface IXMLHttpRequest : IDispatch
782 [id(1)]
783 HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl,
784 [in, optional] VARIANT varAsync,
785 [in, optional] VARIANT varUser,
786 [in, optional] VARIANT varPassword);
787 [id(2)]
788 HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue);
790 [id(3)]
791 HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR *pbstrValue);
793 [id(4)]
794 HRESULT getAllResponseHeaders([out, retval] BSTR *pbstrHeaders);
796 [id(5)]
797 HRESULT send([in, optional] VARIANT varBody);
799 [id(6)]
800 HRESULT abort();
802 [propget, id(7)]
803 HRESULT status([out, retval] LONG *plStatus);
805 [propget, id(8)]
806 HRESULT statusText([out, retval] BSTR *bstrStatus);
808 [propget, id(9)]
809 HRESULT responseXML([out, retval] IDispatch **ppBody);
811 [propget, id(10)]
812 HRESULT responseText([out, retval] BSTR *pbstrBody);
814 [propget, id(11)]
815 HRESULT responseBody([out, retval] VARIANT *pvarBody);
817 [propget, id(12)]
818 HRESULT responseStream([out, retval] VARIANT *pvarBody);
820 [propget, id(13)]
821 HRESULT readyState([out, retval] LONG *plState);
823 [propput, id(14)]
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),
832 version(1.0),
833 uuid(ed8c108e-4349-11d2-91a4-00c04f7969e8)
835 coclass XMLHTTPRequest
837 [default] interface IXMLHttpRequest;