b2cf4030c697de88dc4add76a594a523c662247a
[reactos.git] / reactos / include / psdk / msxml2.idl
1 /*
2 * Copyright (C) 2005 Vijay Kiran Kamuju
3 *
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.
8 *
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.
13 *
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
17 */
18
19 #include <msxml2did.h>
20 #include <olectl.h>
21
22 import "unknwn.idl";
23 import "objidl.idl";
24 import "oaidl.idl";
25
26 interface IXMLDOMImplementation;
27 interface IXMLDOMNode;
28 interface IXMLDOMDocumentFragment;
29 interface IXMLDOMDocument;
30 interface IXMLDOMSchemaCollection;
31 interface IXMLDOMDocument2;
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;
47 interface IXSLTemplate;
48 interface IXSLProcessor;
49
50 cpp_quote("#define DOMDocument DOMDocument2")
51 cpp_quote("#define CLSID_DOMDocument CLSID_DOMDocument2")
52
53 cpp_quote("#ifndef __WIDL_XMLDOM_H")
54 typedef enum tagDOMNodeType
55 {
56 NODE_INVALID = 0,
57 NODE_ELEMENT = 1,
58 NODE_ATTRIBUTE = 2,
59 NODE_TEXT = 3,
60 NODE_CDATA_SECTION = 4,
61 NODE_ENTITY_REFERENCE = 5,
62 NODE_ENTITY = 6,
63 NODE_PROCESSING_INSTRUCTION = 7,
64 NODE_COMMENT = 8,
65 NODE_DOCUMENT = 9,
66 NODE_DOCUMENT_TYPE = 10,
67 NODE_DOCUMENT_FRAGMENT = 11,
68 NODE_NOTATION = 12
69 } DOMNodeType;
70 cpp_quote("#endif /* __WIDL_XMLDOM_H */")
71
72 [
73 local,
74 object,
75 uuid (2933BF80-7B36-11d2-B20E-00C04F983E60)
76 ]
77 interface IXMLDOMNode : IDispatch
78 {
79 [propget, id(DISPID_DOM_NODE_NODENAME)]
80 HRESULT nodeName([retval, out] BSTR *p);
81
82 [propget, id(DISPID_DOM_NODE_NODEVALUE)]
83 HRESULT nodeValue([retval, out] VARIANT *var1);
84
85 [propput, id(DISPID_DOM_NODE_NODEVALUE)]
86 HRESULT nodeValue([in] VARIANT var1);
87
88 [propget, id(DISPID_DOM_NODE_NODETYPE)]
89 HRESULT nodeType([retval, out] DOMNodeType *domNodeType);
90
91 [propget, id(DISPID_DOM_NODE_PARENTNODE)]
92 HRESULT parentNode([retval, out] IXMLDOMNode **parent);
93
94 [propget, id(DISPID_DOM_NODE_CHILDNODES)]
95 HRESULT childNodes([retval, out] IXMLDOMNodeList **outList);
96
97 [propget, id(DISPID_DOM_NODE_FIRSTCHILD)]
98 HRESULT firstChild([retval, out] IXMLDOMNode **domNode);
99
100 [propget, id(DISPID_DOM_NODE_LASTCHILD)]
101 HRESULT lastChild([retval, out] IXMLDOMNode **domNode);
102
103 [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING)]
104 HRESULT previousSibling([retval, out] IXMLDOMNode **domNode);
105
106 [propget, id(DISPID_DOM_NODE_NEXTSIBLING)]
107 HRESULT nextSibling([retval, out] IXMLDOMNode **domNode);
108
109 [propget, id(DISPID_DOM_NODE_ATTRIBUTES)]
110 HRESULT attributes([retval, out] IXMLDOMNamedNodeMap **attributeMap);
111
112 [id(DISPID_DOM_NODE_INSERTBEFORE)]
113 HRESULT insertBefore(
114 [in] IXMLDOMNode *newNode,
115 [in] VARIANT var1,
116 [retval, out] IXMLDOMNode **outOldNode);
117
118 [id(DISPID_DOM_NODE_REPLACECHILD)]
119 HRESULT replaceChild(
120 [in] IXMLDOMNode *newNode,
121 [in] IXMLDOMNode *oldNode,
122 [retval, out] IXMLDOMNode **outOldNode);
123
124 [id(DISPID_DOM_NODE_REMOVECHILD)]
125 HRESULT removeChild(
126 [in] IXMLDOMNode *domNode,
127 [retval, out] IXMLDOMNode **oldNode);
128
129 [id(DISPID_DOM_NODE_APPENDCHILD)]
130 HRESULT appendChild(
131 [in] IXMLDOMNode *newNode,
132 [retval, out] IXMLDOMNode **outNewNode);
133
134 [id(DISPID_DOM_NODE_HASCHILDNODES)]
135 HRESULT hasChildNodes(
136 [retval, out] VARIANT_BOOL *pbool);
137
138 [propget, id(DISPID_DOM_NODE_OWNERDOC)]
139 HRESULT ownerDocument([retval, out] IXMLDOMDocument **domDocument);
140
141 [id(DISPID_DOM_NODE_CLONENODE)]
142 HRESULT cloneNode(
143 [in] VARIANT_BOOL pbool,
144 [retval, out] IXMLDOMNode **outNode);
145
146 [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE)]
147 HRESULT nodeTypeString([retval, out] BSTR *p);
148
149 [propget, id(DISPID_XMLDOM_NODE_TEXT)]
150 HRESULT text([retval, out] BSTR *p);
151
152 [propput, id(DISPID_XMLDOM_NODE_TEXT)]
153 HRESULT text([in] BSTR p);
154
155 [propget, id(DISPID_XMLDOM_NODE_SPECIFIED)]
156 HRESULT specified([retval, out] VARIANT_BOOL *pbool);
157
158 [propget, id(DISPID_XMLDOM_NODE_DEFINITION)]
159 HRESULT definition([retval,out] IXMLDOMNode **domNode);
160
161 [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
162 HRESULT nodeTypedValue([retval, out] VARIANT *var1);
163
164 [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
165 HRESULT nodeTypedValue([in] VARIANT var1);
166
167 [propget, id(DISPID_XMLDOM_NODE_DATATYPE)]
168 HRESULT dataType([retval, out] VARIANT *var1);
169
170 [propput, id(DISPID_XMLDOM_NODE_DATATYPE)]
171 HRESULT dataType([in] BSTR p);
172
173 [propget, id(DISPID_XMLDOM_NODE_XML)]
174 HRESULT xml([retval, out] BSTR *p);
175
176 [id(DISPID_XMLDOM_NODE_TRANSFORMNODE)]
177 HRESULT transformNode(
178 [in] IXMLDOMNode *domNode,
179 [retval, out] BSTR *p);
180
181 [id(DISPID_XMLDOM_NODE_SELECTNODES)]
182 HRESULT selectNodes(
183 [in] BSTR p,
184 [retval, out] IXMLDOMNodeList **outList);
185
186 [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE)]
187 HRESULT selectSingleNode(
188 [in] BSTR p,
189 [retval, out] IXMLDOMNode **outNode);
190
191 [propget,id(DISPID_XMLDOM_NODE_PARSED)]
192 HRESULT parsed([retval, out] VARIANT_BOOL *pbool);
193
194 [propget, id(DISPID_XMLDOM_NODE_NAMESPACE)]
195 HRESULT namespaceURI([retval, out] BSTR *p);
196
197 [propget, id(DISPID_XMLDOM_NODE_PREFIX)]
198 HRESULT prefix([retval, out] BSTR *p);
199
200 [propget, id(DISPID_XMLDOM_NODE_BASENAME)]
201 HRESULT baseName([retval, out] BSTR *p);
202
203 [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT)]
204 HRESULT transformNodeToObject(
205 [in] IXMLDOMNode *domNode,
206 [in] VARIANT var1);
207 }
208
209 [
210 local,
211 object,
212 uuid (2933BF81-7B36-11d2-B20E-00C04F983E60)
213 ]
214 interface IXMLDOMDocument : IXMLDOMNode
215 {
216 [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE)]
217 HRESULT doctype([retval, out] IXMLDOMDocumentType **docType);
218
219 [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION)]
220 HRESULT implementation([retval, out] IXMLDOMImplementation **impl);
221
222 [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
223 HRESULT documentElement([retval, out] IXMLDOMElement **domElement);
224
225 [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
226 HRESULT documentElement([in] IXMLDOMElement *domElement);
227
228 [id(DISPID_DOM_DOCUMENT_CREATEELEMENT)]
229 HRESULT createElement(
230 [in] BSTR p,
231 [retval, out] IXMLDOMElement **domElement);
232
233 [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT)]
234 HRESULT createDocumentFragment(
235 [retval, out] IXMLDOMDocumentFragment **docFrag);
236
237 [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE)]
238 HRESULT createTextNode(
239 [in] BSTR p,
240 [retval, out] IXMLDOMText **text);
241
242 [id(DISPID_DOM_DOCUMENT_CREATECOMMENT)]
243 HRESULT createComment(
244 [in] BSTR p,
245 [retval, out] IXMLDOMComment **comment);
246
247 [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION)]
248 HRESULT createCDATASection(
249 [in] BSTR p,
250 [retval, out] IXMLDOMCDATASection **cdata);
251
252 [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION)]
253 HRESULT createProcessingInstruction(
254 [in] BSTR target,
255 [in] BSTR data,
256 [retval, out] IXMLDOMProcessingInstruction **pi);
257
258 [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE)]
259 HRESULT createAttribute(
260 [in] BSTR p,
261 [retval, out] IXMLDOMAttribute **attribute);
262
263 [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE)]
264 HRESULT createEntityReference(
265 [in] BSTR p,
266 [retval, out] IXMLDOMEntityReference **entityRef);
267
268 [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME)]
269 HRESULT getElementsByTagName(
270 [in] BSTR p,
271 [retval, out] IXMLDOMNodeList **resultList);
272
273 [id(DISPID_XMLDOM_DOCUMENT_CREATENODE)]
274 HRESULT createNode(
275 [in] VARIANT var,
276 [in] BSTR name,
277 [in] BSTR uri,
278 [retval, out] IXMLDOMNode **node);
279
280 [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID)]
281 HRESULT nodeFromID(
282 [in] BSTR id,
283 [retval, out] IXMLDOMNode **node);
284
285 [id(DISPID_XMLDOM_DOCUMENT_LOAD)]
286 HRESULT load(
287 [in] VARIANT var1,
288 [retval, out] VARIANT_BOOL *pbool);
289
290 [propget, id(DISPID_READYSTATE)]
291 HRESULT readyState([retval, out] long *value);
292
293 [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR)]
294 HRESULT parseError([retval, out] IXMLDOMParseError **err);
295
296 [propget, id(DISPID_XMLDOM_DOCUMENT_URL)]
297 HRESULT url([retval, out] BSTR *p);
298
299 [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
300 HRESULT async([retval, out] VARIANT_BOOL *pbool);
301
302 [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
303 HRESULT async([in] VARIANT_BOOL pbool);
304
305 [id(DISPID_XMLDOM_DOCUMENT_ABORT)]
306 HRESULT abort();
307
308 [id(DISPID_XMLDOM_DOCUMENT_LOADXML)]
309 HRESULT loadXML(
310 [in] BSTR p,
311 [out, retval] VARIANT_BOOL *pbool);
312
313 [id(DISPID_XMLDOM_DOCUMENT_SAVE)]
314 HRESULT save(
315 [in] VARIANT var1);
316
317 [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
318 HRESULT validateOnParse([retval, out] VARIANT_BOOL *pbool);
319
320 [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
321 HRESULT validateOnParse([in] VARIANT_BOOL pbool);
322
323 [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
324 HRESULT resolveExternals([retval,out] VARIANT_BOOL *pbool);
325
326 [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
327 HRESULT resolveExternals([in] VARIANT_BOOL pbool);
328
329 [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
330 HRESULT preserveWhiteSpace([retval,out] VARIANT_BOOL *pbool);
331
332 [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
333 HRESULT preserveWhiteSpace([in] VARIANT_BOOL pbool);
334
335 [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE)]
336 HRESULT onreadystatechange([in] VARIANT var1);
337
338 [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE)]
339 HRESULT ondataavailable([in] VARIANT var1);
340
341 [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE)]
342 HRESULT ontransformnode([in] VARIANT var1);
343 }
344
345 [
346 local,
347 object,
348 uuid (373984c8-b845-449b-91e7-45ac83036ade)
349 ]
350 interface IXMLDOMSchemaCollection : IDispatch
351 {
352 [id(DISPID_XMLDOM_SCHEMACOLLECTION_ADD)]
353 HRESULT add(
354 [in] BSTR uri,
355 [in] VARIANT var);
356
357 [id(DISPID_XMLDOM_SCHEMACOLLECTION_GET)]
358 HRESULT get(
359 [in] BSTR uri,
360 [retval, out] IXMLDOMNode **node);
361
362 [id(DISPID_XMLDOM_SCHEMACOLLECTION_REMOVE)]
363 HRESULT remove(
364 [in] BSTR uri);
365
366 [propget, id(DISPID_XMLDOM_SCHEMACOLLECTION_LENGTH)]
367 HRESULT length(
368 [retval, out] long *length);
369
370 [propget, id(DISPID_VALUE)]
371 HRESULT namespaceURI([in] long index, [out, retval] BSTR *len);
372
373 [id(DISPID_XMLDOM_SCHEMACOLLECTION_ADDCOLLECTION)]
374 HRESULT addCollection(
375 [in] IXMLDOMSchemaCollection *otherCollection);
376
377 [propget, id(DISPID_NEWENUM)]
378 HRESULT _newEnum([retval, out] IUnknown **ppUnk);
379 }
380
381 [
382 local,
383 object,
384 uuid (2933BF95-7B36-11d2-B20E-00C04F983E60)
385 ]
386 interface IXMLDOMDocument2 : IXMLDOMDocument
387 {
388 [propget, id(DISPID_XMLDOM_DOCUMENT2_NAMESPACES)]
389 HRESULT namespaces([retval, out] IXMLDOMSchemaCollection **schemaCollection);
390
391 [propget, id(DISPID_XMLDOM_DOCUMENT2_SCHEMAS)]
392 HRESULT schemas([retval, out] VARIANT *var1);
393
394 [propputref, id(DISPID_XMLDOM_DOCUMENT2_SCHEMAS)]
395 HRESULT schemas([in] VARIANT var1);
396
397 [id(DISPID_XMLDOM_DOCUMENT2_VALIDATE)]
398 HRESULT validate(
399 [retval, out] IXMLDOMParseError **err);
400
401 [id(DISPID_XMLDOM_DOCUMENT2_SETPROPERTY)]
402 HRESULT setProperty(
403 [in] BSTR p,
404 [in] VARIANT var);
405
406 [id(DISPID_XMLDOM_DOCUMENT2_GETPROPERTY)]
407 HRESULT getProperty(
408 [in] BSTR p,
409 [retval, out] VARIANT *var);
410 }
411
412 [
413 local,
414 object,
415 uuid (2933BF82-7B36-11d2-B20E-00C04F983E60)
416 ]
417 interface IXMLDOMNodeList : IDispatch
418 {
419 [propget, id(DISPID_VALUE)]
420 HRESULT item([in] long lIndex, [retval, out] IXMLDOMNode **outNode);
421
422 [propget, id(DISPID_DOM_NODELIST_LENGTH)]
423 HRESULT length([retval, out] long *lLength);
424
425 [id(DISPID_XMLDOM_NODELIST_NEXTNODE)]
426 HRESULT nextNode(
427 [retval, out] IXMLDOMNode **outNode);
428
429 [id(DISPID_XMLDOM_NODELIST_RESET)]
430 HRESULT reset();
431
432 [propget, id(DISPID_NEWENUM)]
433 HRESULT _newEnum([retval, out] IUnknown **ppUnk);
434 }
435
436 [
437 local,
438 object,
439 uuid (AA634FC7-5888-44a7-A257-3A47150D3A0E)
440 ]
441 interface IXMLDOMSelection : IXMLDOMNodeList
442 {
443 [propget, id(DISPID_XMLDOM_SELECTION_EXPR)]
444 HRESULT expr([retval, out] BSTR *p);
445
446 [propput, id(DISPID_XMLDOM_SELECTION_EXPR)]
447 HRESULT expr([in] BSTR p);
448
449 [propget, id(DISPID_XMLDOM_SELECTION_CONTEXT)]
450 HRESULT context([retval, out] IXMLDOMNode **ppNode);
451
452 [propputref, id(DISPID_XMLDOM_SELECTION_CONTEXT)]
453 HRESULT context([in] IXMLDOMNode * pNode);
454
455 [id(DISPID_XMLDOM_SELECTION_PEEKNODE)]
456 HRESULT peekNode(
457 [retval, out] IXMLDOMNode **ppNode);
458
459 [id(DISPID_XMLDOM_SELECTION_MATCHES)]
460 HRESULT matches(
461 [in] IXMLDOMNode *pNode,
462 [retval, out] IXMLDOMNode **ppNode);
463
464 [id(DISPID_XMLDOM_SELECTION_REMOVENEXT)]
465 HRESULT removeNext(
466 [retval, out] IXMLDOMNode **ppNode);
467
468 [id(DISPID_XMLDOM_SELECTION_REMOVEALL)]
469 HRESULT removeAll();
470
471 [id(DISPID_XMLDOM_SELECTION_CLONE)]
472 HRESULT clone(
473 [retval, out] IXMLDOMSelection **ppNode);
474
475 [id(DISPID_XMLDOM_SELECTION_GETPROPERTY)]
476 HRESULT getProperty(
477 [in] BSTR p,
478 [retval, out] VARIANT * var);
479
480 [id(DISPID_XMLDOM_SELECTION_SETPROPERTY)]
481 HRESULT setProperty(
482 [in] BSTR p,
483 [in] VARIANT var);
484 }
485
486 [
487 local,
488 object,
489 uuid (2933BF83-7B36-11d2-B20E-00C04F983E60)
490 ]
491 interface IXMLDOMNamedNodeMap : IDispatch
492 {
493 [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM)]
494 HRESULT getNamedItem(
495 [in] BSTR p,
496 [retval, out] IXMLDOMNode **outNode);
497
498 [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM)]
499 HRESULT setNamedItem(
500 [in] IXMLDOMNode *newNode,
501 [retval, out] IXMLDOMNode **outNode);
502
503 [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM)]
504 HRESULT removeNamedItem(
505 [in] BSTR p,
506 [retval, out] IXMLDOMNode **outNode);
507
508 [propget, id(DISPID_VALUE)]
509 HRESULT item([in] long lIndex, [retval, out] IXMLDOMNode **outNode);
510
511 [propget, id(DISPID_DOM_NODELIST_LENGTH)]
512 HRESULT length([retval, out] long *lLength);
513
514 [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM)]
515 HRESULT getQualifiedItem(
516 [in] BSTR name,
517 [in] BSTR uri,
518 [retval, out] IXMLDOMNode **outNode);
519
520 [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM)]
521 HRESULT removeQualifiedItem(
522 [in] BSTR name,
523 [in] BSTR uri,
524 [retval, out] IXMLDOMNode **outNode);
525
526 [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE)]
527 HRESULT nextNode(
528 [retval, out] IXMLDOMNode **outNode);
529
530 [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET)]
531 HRESULT reset();
532
533 [propget, id(DISPID_NEWENUM)]
534 HRESULT _newEnum([retval, out] IUnknown **ppUnk);
535 }
536
537 [
538 local,
539 object,
540 uuid (3efaa413-272f-11d2-836f-0000f87a7782)
541 ]
542 interface IXMLDOMDocumentFragment : IXMLDOMNode
543 {
544 }
545
546 [
547 local,
548 object,
549 uuid (2933BF84-7B36-11d2-B20E-00C04F983E60)
550 ]
551 interface IXMLDOMCharacterData : IXMLDOMNode
552 {
553 [propget, id(DISPID_DOM_DATA_DATA)]
554 HRESULT data([retval, out] BSTR *p);
555
556 [propput, id(DISPID_DOM_DATA_DATA)]
557 HRESULT data([in] BSTR data);
558
559 [propget, id(DISPID_DOM_DATA_LENGTH)]
560 HRESULT length([retval, out] long *len);
561
562 [id(DISPID_DOM_DATA_SUBSTRING)]
563 HRESULT substringData(
564 [in] long offset,
565 [in] long count,
566 [retval, out] BSTR *p);
567
568 [id(DISPID_DOM_DATA_APPEND)]
569 HRESULT appendData(
570 [in] BSTR p);
571
572 [id(DISPID_DOM_DATA_INSERT)]
573 HRESULT insertData(
574 [in] long offset,
575 [in] BSTR p);
576
577 [id(DISPID_DOM_DATA_DELETE)]
578 HRESULT deleteData(
579 [in] long offset,
580 [in] long count);
581
582 [id(DISPID_DOM_DATA_REPLACE)]
583 HRESULT replaceData(
584 [in] long offset,
585 [in] long count,
586 [in] BSTR p);
587 }
588
589 [
590 local,
591 object,
592 uuid (2933BF85-7B36-11d2-B20E-00C04F983E60)
593 ]
594 interface IXMLDOMAttribute : IXMLDOMNode
595 {
596 [propget, id(DISPID_DOM_ATTRIBUTE_GETNAME)]
597 HRESULT name([retval, out] BSTR *p);
598
599 [propget, id(DISPID_DOM_ATTRIBUTE_VALUE)]
600 HRESULT value([retval, out] VARIANT *var1);
601
602 [propput, id(DISPID_DOM_ATTRIBUTE_VALUE)]
603 HRESULT value([in] VARIANT var1);
604 }
605
606 [
607 local,
608 object,
609 uuid (2933BF86-7B36-11d2-B20E-00C04F983E60)
610 ]
611 interface IXMLDOMElement : IXMLDOMNode
612 {
613 [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME)]
614 HRESULT tagName([retval, out] BSTR *p);
615
616 [id(DISPID_DOM_ELEMENT_GETATTRIBUTE)]
617 HRESULT getAttribute(
618 [in] BSTR p,
619 [retval, out] VARIANT *var);
620
621 [id(DISPID_DOM_ELEMENT_SETATTRIBUTE)]
622 HRESULT setAttribute(
623 [in] BSTR p,
624 [in] VARIANT var);
625
626 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE)]
627 HRESULT removeAttribute(
628 [in] BSTR p);
629
630 [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE)]
631 HRESULT getAttributeNode(
632 [in] BSTR p,
633 [retval, out] IXMLDOMAttribute **attributeNode);
634
635 [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE)]
636 HRESULT setAttributeNode(
637 [in] IXMLDOMAttribute *domAttribute,
638 [retval, out] IXMLDOMAttribute **attributeNode);
639
640 [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE)]
641 HRESULT removeAttributeNode(
642 [in] IXMLDOMAttribute *domAttribute,
643 [retval, out] IXMLDOMAttribute **attributeNode);
644
645 [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME)]
646 HRESULT getElementsByTagName(
647 [in] BSTR p,
648 [retval, out] IXMLDOMNodeList **resultList);
649
650 [id(DISPID_DOM_ELEMENT_NORMALIZE)]
651 HRESULT normalize();
652 }
653
654 [
655 local,
656 object,
657 uuid (2933BF87-7B36-11d2-B20E-00C04F983E60)
658 ]
659 interface IXMLDOMText : IXMLDOMCharacterData
660 {
661 [id(DISPID_DOM_TEXT_SPLITTEXT)]
662 HRESULT splitText(
663 [in] long offset,
664 [retval, out] IXMLDOMText **txtNode);
665 }
666
667 [
668 local,
669 object,
670 uuid (2933BF88-7B36-11d2-B20E-00C04F983E60)
671 ]
672 interface IXMLDOMComment : IXMLDOMCharacterData
673 {
674 }
675
676 [
677 local,
678 object,
679 uuid (2933BF89-7B36-11d2-B20E-00C04F983E60)
680 ]
681 interface IXMLDOMProcessingInstruction : IXMLDOMNode
682 {
683 [propget, id(DISPID_DOM_PI_TARGET)]
684 HRESULT target([retval, out] BSTR *p);
685
686 [propget, id(DISPID_DOM_PI_DATA)]
687 HRESULT data([retval, out] BSTR *p);
688
689 [propput, id(DISPID_DOM_PI_DATA)]
690 HRESULT data([in] BSTR p);
691 }
692
693 [
694 local,
695 object,
696 uuid (2933BF8A-7B36-11d2-B20E-00C04F983E60)
697 ]
698 interface IXMLDOMCDATASection : IXMLDOMText
699 {
700 }
701
702 [
703 local,
704 object,
705 uuid (2933BF8B-7B36-11d2-B20E-00C04F983E60)
706 ]
707 interface IXMLDOMDocumentType : IXMLDOMNode
708 {
709 [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME)]
710 HRESULT name([retval, out] BSTR *p);
711
712 [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES)]
713 HRESULT entities([retval, out] IXMLDOMNamedNodeMap **entityMap);
714
715 [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS)]
716 HRESULT notations([retval, out] IXMLDOMNamedNodeMap **notationMap);
717 }
718
719 [
720 local,
721 object,
722 uuid (2933BF8C-7B36-11d2-B20E-00C04F983E60)
723 ]
724 interface IXMLDOMNotation : IXMLDOMNode
725 {
726 [propget, id(DISPID_DOM_NOTATION_PUBLICID)]
727 HRESULT publicId([retval, out] VARIANT *id);
728
729 [propget, id(DISPID_DOM_NOTATION_SYSTEMID)]
730 HRESULT systemId([retval, out] VARIANT *id);
731 }
732
733 [
734 local,
735 object,
736 uuid (2933BF8D-7B36-11d2-B20E-00C04F983E60)
737 ]
738 interface IXMLDOMEntity : IXMLDOMNode
739 {
740 [propget, id(DISPID_DOM_ENTITY_PUBLICID)]
741 HRESULT publicId([retval, out] VARIANT *id1);
742
743 [propget, id(DISPID_DOM_ENTITY_SYSTEMID)]
744 HRESULT systemId([retval, out] VARIANT *id1);
745
746 [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME)]
747 HRESULT notationName([retval, out] BSTR *p);
748 }
749
750 [
751 local,
752 object,
753 uuid (2933BF8E-7B36-11d2-B20E-00C04F983E60)
754 ]
755 interface IXMLDOMEntityReference : IXMLDOMNode
756 {
757 }
758
759 [
760 local,
761 object,
762 uuid (2933BF8F-7B36-11d2-B20E-00C04F983E60)
763 ]
764 interface IXMLDOMImplementation : IDispatch
765 {
766 [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE)]
767 HRESULT hasFeature(
768 [in] BSTR feature,
769 [in] BSTR version,
770 [retval, out] VARIANT_BOOL *pbool);
771 }
772
773 [
774 local,
775 object,
776 uuid (3efaa425-272f-11d2-836f-0000f87a7782)
777 ]
778 interface IXTLRuntime : IXMLDOMNode
779 {
780 [id(DISPID_XTLRUNTIME_UNIQUEID)]
781 HRESULT uniqueID(
782 [in]IXMLDOMNode *pNode,
783 [retval, out]long *pID);
784
785 [id(DISPID_XTLRUNTIME_DEPTH)]
786 HRESULT depth(
787 [in] IXMLDOMNode *pNode,
788 [retval, out]long * pDepth);
789
790 [id(DISPID_XTLRUNTIME_CHILDNUMBER)]
791 HRESULT childNumber(
792 [in]IXMLDOMNode *pNode,
793 [retval, out] long *pNumber);
794
795 [id(DISPID_XTLRUNTIME_ANCESTORCHILDNUMBER)]
796 HRESULT ancestorChildNumber(
797 [in]BSTR bstr,
798 [in]IXMLDOMNode *pNode,
799 [retval, out]long *pNumber);
800
801 [id(DISPID_XTLRUNTIME_ABSOLUTECHILDNUMBER)]
802 HRESULT absoluteChildNumber(
803 [in]IXMLDOMNode *pNode,
804 [retval, out]long *pNumber);
805
806 [id(DISPID_XTLRUNTIME_FORMATINDEX)]
807 HRESULT formatIndex(
808 [in] long lIndex,
809 [in] BSTR bstr,
810 [retval, out]BSTR *pbstr);
811
812 [id(DISPID_XTLRUNTIME_FORMATNUMBER)]
813 HRESULT formatNumber(
814 [in] double dblNumber,
815 [in] BSTR bstr,
816 [retval, out]BSTR *pbstr);
817
818 [id(DISPID_XTLRUNTIME_FORMATDATE)]
819 HRESULT formatDate(
820 [in] VARIANT var1,
821 [in] BSTR bstr,
822 [optional, in] VARIANT var2,
823 [retval, out]BSTR *pbstr);
824
825 [id(DISPID_XTLRUNTIME_FORMATTIME)]
826 HRESULT formatTime(
827 [in] VARIANT var1,
828 [in] BSTR bstr,
829 [optional, in] VARIANT var2,
830 [retval, out]BSTR *pbstr);
831
832 }
833
834 [
835 uuid(3efaa427-272f-11d2-836f-0000f87a7782)
836 ]
837 dispinterface XMLDOMDocumentEvents
838 {
839 properties:
840 methods:
841 [id (DISPID_XMLDOMEVENT_ONDATAAVAILABLE)]
842 HRESULT ondataavailable();
843
844 [id (DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)]
845 HRESULT onreadystatechange();
846 }
847
848 [
849 local,
850 object,
851 uuid (2933BF92-7B36-11d2-B20E-00C04F983E60)
852 ]
853 interface IXSLProcessor : IDispatch
854 {
855 [propput, id(DISPID_XMLDOM_PROCESSOR_INPUT)]
856 HRESULT input([in] VARIANT var);
857
858 [propget, id(DISPID_XMLDOM_PROCESSOR_INPUT)]
859 HRESULT input([retval, out] VARIANT *var);
860
861 [propget, id(DISPID_XMLDOM_PROCESSOR_XSLTEMPLATE)]
862 HRESULT ownerTemplate([retval, out] IXSLTemplate **ppTemplate);
863
864 [id(DISPID_XMLDOM_PROCESSOR_SETSTARTMODE)]
865 HRESULT setStartMode(
866 [in] BSTR p,
867 [in, defaultvalue("")] BSTR uri);
868
869 [propget, id(DISPID_XMLDOM_PROCESSOR_STARTMODE)]
870 HRESULT startMode([retval, out] BSTR *p);
871
872 [propget, id(DISPID_XMLDOM_PROCESSOR_STARTMODEURI)]
873 HRESULT startModeURI([retval, out] BSTR *uri);
874
875 [propput, id(DISPID_XMLDOM_PROCESSOR_OUTPUT)]
876 HRESULT output([in] VARIANT var);
877
878 [propget, id(DISPID_XMLDOM_PROCESSOR_OUTPUT)]
879 HRESULT output([retval, out] VARIANT *var);
880
881 [id(DISPID_XMLDOM_PROCESSOR_TRANSFORM)]
882 HRESULT transform(
883 [retval, out] VARIANT_BOOL *pbool);
884
885 [id(DISPID_XMLDOM_PROCESSOR_RESET)]
886 HRESULT reset();
887
888 [propget, id(DISPID_XMLDOM_PROCESSOR_READYSTATE)]
889 HRESULT readyState([retval, out] long *pstate);
890
891 [id(DISPID_XMLDOM_PROCESSOR_ADDPARAMETER)]
892 HRESULT addParameter(
893 [in] BSTR p,
894 [in] VARIANT var,
895 [in, defaultvalue("")] BSTR uri);
896
897 [id(DISPID_XMLDOM_PROCESSOR_ADDOBJECT)]
898 HRESULT addObject(
899 [in] IDispatch* obj,
900 [in] BSTR uri);
901
902 [propget, id(DISPID_XMLDOM_PROCESSOR_STYLESHEET)]
903 HRESULT stylesheet([retval, out] IXMLDOMNode **node);
904 }
905
906 [
907 local,
908 object,
909 uuid (2933BF93-7B36-11d2-B20E-00C04F983E60)
910 ]
911 interface IXSLTemplate : IDispatch
912 {
913 [propputref, id(DISPID_XMLDOM_TEMPLATE_STYLESHEET)]
914 HRESULT stylesheet([in] IXMLDOMNode *node);
915
916 [propget, id(DISPID_XMLDOM_TEMPLATE_STYLESHEET)]
917 HRESULT stylesheet([retval, out] IXMLDOMNode **node);
918
919 [id(DISPID_XMLDOM_TEMPLATE_CREATEPROCESSOR)]
920 HRESULT createProcessor(
921 [retval, out] IXSLProcessor **ppProcessor);
922 }
923
924 [
925 local,
926 object,
927 uuid (3efaa426-272f-11d2-836f-0000f87a7782)
928 ]
929 interface IXMLDOMParseError : IDispatch
930 {
931 [propget, id(DISPID_VALUE)]
932 HRESULT errorCode([retval, out] long *errCode);
933
934 [propget, id(DISPID_DOM_ERROR_URL)]
935 HRESULT url([retval, out] BSTR *p);
936
937 [propget, id(DISPID_DOM_ERROR_REASON)]
938 HRESULT reason([retval, out] BSTR *p);
939
940 [propget, id(DISPID_DOM_ERROR_SRCTEXT)]
941 HRESULT srcText([retval, out] BSTR *p);
942
943 [propget, id(DISPID_DOM_ERROR_LINE)]
944 HRESULT line([retval, out] long *lineNo);
945
946 [propget, id(DISPID_DOM_ERROR_LINEPOS)]
947 HRESULT linepos([retval, out] long * linePos);
948
949 [propget, id(DISPID_DOM_ERROR_FILEPOS)]
950 HRESULT filepos([retval, out] long * filePos);
951 }
952
953 [
954 uuid(F6D90F11-9C73-11D3-B32E-00C04F990BB4)
955 ]
956 coclass DOMDocument
957 {
958 [default] interface IXMLDOMDocument2;
959 [default, source] dispinterface XMLDOMDocumentEvents;
960 }
961
962 [
963 uuid(f5078f1b-c551-11d3-89b9-0000f81fe221)
964 ]
965 coclass DOMDocument26
966 {
967 [default] interface IXMLDOMDocument2;
968 [default, source] dispinterface XMLDOMDocumentEvents;
969 }
970
971 [
972 uuid(f5078f32-c551-11d3-89b9-0000f81fe221)
973 ]
974 coclass DOMDocument30
975 {
976 [default] interface IXMLDOMDocument2;
977 [default, source] dispinterface XMLDOMDocumentEvents;
978 }
979
980
981 [
982 uuid(F6D90F12-9C73-11D3-B32E-00C04F990BB4)
983 ]
984 coclass FreeThreadedDOMDocument
985 {
986 [default] interface IXMLDOMDocument2;
987 [default, source] dispinterface XMLDOMDocumentEvents;
988 }
989
990 [
991 uuid(f5078f1c-c551-11d3-89b9-0000f81fe221)
992 ]
993 coclass FreeThreadedDOMDocument26
994 {
995 [default] interface IXMLDOMDocument2;
996 [default, source] dispinterface XMLDOMDocumentEvents;
997 }
998
999 [
1000 uuid(f5078f33-c551-11d3-89b9-0000f81fe221)
1001 ]
1002 coclass FreeThreadedDOMDocument30
1003 {
1004 [default] interface IXMLDOMDocument2;
1005 [default, source] dispinterface XMLDOMDocumentEvents;
1006 }
1007
1008 [
1009 uuid(373984c9-b845-449b-91e7-45ac83036ade)
1010 ]
1011 coclass XMLSchemaCache
1012 {
1013 [default] interface IXMLDOMSchemaCollection;
1014 }
1015
1016 [
1017 uuid(f5078f1d-c551-11d3-89b9-0000f81fe221)
1018 ]
1019 coclass XMLSchemaCache26
1020 {
1021 [default] interface IXMLDOMSchemaCollection;
1022 }
1023
1024 [
1025 uuid(f5078f34-c551-11d3-89b9-0000f81fe221)
1026 ]
1027 coclass XMLSchemaCache30
1028 {
1029 [default] interface IXMLDOMSchemaCollection;
1030 }
1031
1032 [
1033 uuid(2933BF94-7B36-11d2-B20E-00C04F983E60)
1034 ]
1035 coclass XSLTemplate
1036 {
1037 [default] interface IXSLTemplate;
1038 }
1039
1040 [
1041 uuid(f5078f21-c551-11d3-89b9-0000f81fe221)
1042 ]
1043 coclass XSLTemplate26
1044 {
1045 [default] interface IXSLTemplate;
1046 }
1047
1048 [
1049 uuid(f5078f36-c551-11d3-89b9-0000f81fe221)
1050 ]
1051 coclass XSLTemplate30
1052 {
1053 [default] interface IXSLTemplate;
1054 }