xref: /reactos/sdk/include/psdk/msxml6.idl (revision c2c66aff)
1/*
2 * Copyright (C) 2005 Vijay Kiran Kamuju
3 * Copyright (C) 2008 Alistair Leslie-Hughes
4 * Copyright (C) 2010 Nikolay Sivov for CodeWeavers
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21#include <msxml6did.h>
22#include <idispids.h>
23
24import "unknwn.idl";
25import "objidl.idl";
26import "oaidl.idl";
27
28#ifndef __WIDL__
29#define threading(model)
30#define progid(str)
31#define vi_progid(str)
32#endif
33
34[
35    uuid(f5078f18-c551-11d3-89b9-0000f81fe221),
36    version(6.0),
37    helpstring("Microsoft XML, v6.0")
38]
39library MSXML2
40{
41
42importlib("stdole2.tlb");
43
44interface IXMLDOMImplementation;
45interface IXMLDOMNode;
46interface IXMLDOMDocumentFragment;
47interface IXMLDOMDocument;
48interface IXMLDOMSchemaCollection;
49interface IXMLDOMDocument2;
50interface IXMLDOMNodeList;
51interface IXMLDOMNamedNodeMap;
52interface IXMLDOMCharacterData;
53interface IXMLDOMAttribute;
54interface IXMLDOMElement;
55interface IXMLDOMText;
56interface IXMLDOMComment;
57interface IXMLDOMProcessingInstruction;
58interface IXMLDOMCDATASection;
59interface IXMLDOMDocumentType;
60interface IXMLDOMNotation;
61interface IXMLDOMEntity;
62interface IXMLDOMEntityReference;
63interface IXMLDOMParseError;
64interface IXMLDOMParseErrorCollection;
65interface IXTLRuntime;
66interface IXSLTemplate;
67interface IXSLProcessor;
68
69/* SAX Interfaces */
70interface ISAXAttributes;
71interface ISAXContentHandler;
72interface ISAXDeclHandler;
73interface ISAXDTDHandler;
74interface ISAXEntityResolver;
75interface ISAXErrorHandler;
76interface ISAXLexicalHandler;
77interface ISAXLocator;
78interface ISAXXMLReader;
79interface ISAXXMLFilter;
80
81interface IVBSAXAttributes;
82interface IVBSAXContentHandler;
83interface IVBSAXDeclHandler;
84interface IVBSAXDTDHandler;
85interface IVBSAXEntityResolver;
86interface IVBSAXErrorHandler;
87interface IVBSAXLexicalHandler;
88interface IVBSAXLocator;
89interface IVBSAXXMLFilter;
90interface IVBSAXXMLReader;
91
92interface IMXAttributes;
93interface IMXReaderControl;
94interface IMXWriter;
95
96interface IXMLDOMSchemaCollection2;
97interface ISchemaStringCollection;
98interface ISchemaItemCollection;
99interface ISchemaItem;
100interface ISchema;
101interface ISchemaParticle;
102interface ISchemaAttribute;
103interface ISchemaElement;
104interface ISchemaType;
105interface ISchemaComplexType;
106interface ISchemaAttributeGroup;
107interface ISchemaModelGroup;
108interface ISchemaAny;
109interface ISchemaIdentityConstraint;
110interface ISchemaNotation;
111
112
113cpp_quote("#define DOMDocument DOMDocument2")
114cpp_quote("#define CLSID_DOMDocument CLSID_DOMDocument2")
115
116cpp_quote("#ifndef __MSXML_DOMNODETYPE_DEFINED")
117cpp_quote("#define __MSXML_DOMNODETYPE_DEFINED")
118typedef enum tagDOMNodeType
119{
120    NODE_INVALID  		= 0,
121    NODE_ELEMENT  		= 1,
122    NODE_ATTRIBUTE		= 2,
123    NODE_TEXT			= 3,
124    NODE_CDATA_SECTION		= 4,
125    NODE_ENTITY_REFERENCE 	= 5,
126    NODE_ENTITY 		= 6,
127    NODE_PROCESSING_INSTRUCTION = 7,
128    NODE_COMMENT		= 8,
129    NODE_DOCUMENT		= 9,
130    NODE_DOCUMENT_TYPE		= 10,
131    NODE_DOCUMENT_FRAGMENT 	= 11,
132    NODE_NOTATION 		= 12
133} DOMNodeType;
134cpp_quote("#endif")
135
136typedef enum _SOMITEMTYPE
137{
138    SOMITEM_SCHEMA                      = 0x1000,
139    SOMITEM_ATTRIBUTE                   = 0x1001,
140    SOMITEM_ATTRIBUTEGROUP              = 0x1002,
141    SOMITEM_NOTATION                    = 0x1003,
142    SOMITEM_IDENTITYCONSTRAINT          = 0x1100,
143    SOMITEM_KEY                         = 0x1101,
144    SOMITEM_KEYREF                      = 0x1102,
145    SOMITEM_UNIQUE                      = 0x1103,
146    SOMITEM_ANYTYPE                     = 0x2000,
147    SOMITEM_DATATYPE                    = 0x2100,
148    SOMITEM_DATATYPE_ANYTYPE            = 0x2101,
149    SOMITEM_DATATYPE_ANYURI             = 0x2102,
150    SOMITEM_DATATYPE_BASE64BINARY       = 0x2103,
151    SOMITEM_DATATYPE_BOOLEAN            = 0x2104,
152    SOMITEM_DATATYPE_BYTE               = 0x2105,
153    SOMITEM_DATATYPE_DATE               = 0x2106,
154    SOMITEM_DATATYPE_DATETIME           = 0x2107,
155    SOMITEM_DATATYPE_DAY                = 0x2108,
156    SOMITEM_DATATYPE_DECIMAL            = 0x2109,
157    SOMITEM_DATATYPE_DOUBLE             = 0x210A,
158    SOMITEM_DATATYPE_DURATION           = 0x210B,
159    SOMITEM_DATATYPE_ENTITIES           = 0x210C,
160    SOMITEM_DATATYPE_ENTITY             = 0x210D,
161    SOMITEM_DATATYPE_FLOAT              = 0x210E,
162    SOMITEM_DATATYPE_HEXBINARY          = 0x210F,
163    SOMITEM_DATATYPE_ID                 = 0x2110,
164    SOMITEM_DATATYPE_IDREF              = 0x2111,
165    SOMITEM_DATATYPE_IDREFS             = 0x2112,
166    SOMITEM_DATATYPE_INT                = 0x2113,
167    SOMITEM_DATATYPE_INTEGER            = 0x2114,
168    SOMITEM_DATATYPE_LANGUAGE           = 0x2115,
169    SOMITEM_DATATYPE_LONG               = 0x2116,
170    SOMITEM_DATATYPE_MONTH              = 0x2117,
171    SOMITEM_DATATYPE_MONTHDAY           = 0x2118,
172    SOMITEM_DATATYPE_NAME               = 0x2119,
173    SOMITEM_DATATYPE_NCNAME             = 0x211A,
174    SOMITEM_DATATYPE_NEGATIVEINTEGER    = 0x211B,
175    SOMITEM_DATATYPE_NMTOKEN            = 0x211C,
176    SOMITEM_DATATYPE_NMTOKENS           = 0x211D,
177    SOMITEM_DATATYPE_NONNEGATIVEINTEGER = 0x211E,
178    SOMITEM_DATATYPE_NONPOSITIVEINTEGER = 0x211F,
179    SOMITEM_DATATYPE_NORMALIZEDSTRING   = 0x2120,
180    SOMITEM_DATATYPE_NOTATION           = 0x2121,
181    SOMITEM_DATATYPE_POSITIVEINTEGER    = 0x2122,
182    SOMITEM_DATATYPE_QNAME              = 0x2123,
183    SOMITEM_DATATYPE_SHORT              = 0x2124,
184    SOMITEM_DATATYPE_STRING             = 0x2125,
185    SOMITEM_DATATYPE_TIME               = 0x2126,
186    SOMITEM_DATATYPE_TOKEN              = 0x2127,
187    SOMITEM_DATATYPE_UNSIGNEDBYTE       = 0x2128,
188    SOMITEM_DATATYPE_UNSIGNEDINT        = 0x2129,
189    SOMITEM_DATATYPE_UNSIGNEDLONG       = 0x212A,
190    SOMITEM_DATATYPE_UNSIGNEDSHORT      = 0x212B,
191    SOMITEM_DATATYPE_YEAR               = 0x212C,
192    SOMITEM_DATATYPE_YEARMONTH          = 0x212D,
193    SOMITEM_DATATYPE_ANYSIMPLETYPE      = 0x21FF,
194    SOMITEM_SIMPLETYPE                  = 0x2200,
195    SOMITEM_COMPLEXTYPE                 = 0x2400,
196    SOMITEM_PARTICLE                    = 0x4000,
197    SOMITEM_ANY                         = 0x4001,
198    SOMITEM_ANYATTRIBUTE                = 0x4002,
199    SOMITEM_ELEMENT                     = 0x4003,
200    SOMITEM_GROUP                       = 0x4100,
201    SOMITEM_ALL                         = 0x4101,
202    SOMITEM_CHOICE                      = 0x4102,
203    SOMITEM_SEQUENCE                    = 0x4103,
204    SOMITEM_EMPTYPARTICLE               = 0x4104,
205    SOMITEM_NULL                        = 0x0800,
206    SOMITEM_NULL_TYPE                   = 0x2800,
207    SOMITEM_NULL_ANY                    = 0x4801,
208    SOMITEM_NULL_ANYATTRIBUTE           = 0x4802,
209    SOMITEM_NULL_ELEMENT                = 0x4803,
210} SOMITEMTYPE;
211
212typedef enum _SCHEMAUSE
213{
214    SCHEMAUSE_OPTIONAL,
215    SCHEMAUSE_PROHIBITED,
216    SCHEMAUSE_REQUIRED,
217} SCHEMAUSE;
218
219typedef enum _SCHEMADERIVATIONMETHOD
220{
221    SCHEMADERIVATIONMETHOD_EMPTY        = 0x0000,
222    SCHEMADERIVATIONMETHOD_SUBSTITUTION = 0x0001,
223    SCHEMADERIVATIONMETHOD_EXTENSION    = 0x0002,
224    SCHEMADERIVATIONMETHOD_RESTRICTION  = 0x0004,
225    SCHEMADERIVATIONMETHOD_LIST         = 0x0008,
226    SCHEMADERIVATIONMETHOD_UNION        = 0x0010,
227    SCHEMADERIVATIONMETHOD_ALL          = 0x00FF,
228    SCHEMADERIVATIONMETHOD_NONE         = 0x0100,
229} SCHEMADERIVATIONMETHOD;
230
231typedef enum _SCHEMACONTENTTYPE
232{
233    SCHEMACONTENTTYPE_EMPTY,
234    SCHEMACONTENTTYPE_TEXTONLY,
235    SCHEMACONTENTTYPE_ELEMENTONLY,
236    SCHEMACONTENTTYPE_MIXED,
237} SCHEMACONTENTTYPE;
238
239typedef enum _SCHEMAPROCESSCONTENTS
240{
241    SCHEMAPROCESSCONTENTS_NONE,
242    SCHEMAPROCESSCONTENTS_SKIP,
243    SCHEMAPROCESSCONTENTS_LAX,
244    SCHEMAPROCESSCONTENTS_STRICT,
245} SCHEMAPROCESSCONTENTS;
246
247typedef enum _SCHEMAWHITESPACE
248{
249    SCHEMAWHITESPACE_NONE       = -1,
250    SCHEMAWHITESPACE_PRESERVE   =  0,
251    SCHEMAWHITESPACE_REPLACE    =  1,
252    SCHEMAWHITESPACE_COLLAPSE   =  2,
253} SCHEMAWHITESPACE;
254
255
256typedef enum _SCHEMATYPEVARIETY
257{
258    SCHEMATYPEVARIETY_NONE      = -1,
259    SCHEMATYPEVARIETY_ATOMIC    =  0,
260    SCHEMATYPEVARIETY_LIST      =  1,
261    SCHEMATYPEVARIETY_UNION     =  2,
262} SCHEMATYPEVARIETY;
263
264[
265local,
266object,
267dual,
268oleautomation,
269uuid (2933BF80-7B36-11d2-B20E-00C04F983E60)
270]
271interface IXMLDOMNode : IDispatch
272{
273    [propget, id(DISPID_DOM_NODE_NODENAME)]
274    HRESULT nodeName([retval, out] BSTR *p);
275
276    [propget, id(DISPID_DOM_NODE_NODEVALUE)]
277    HRESULT nodeValue([retval, out] VARIANT *var1);
278
279    [propput, id(DISPID_DOM_NODE_NODEVALUE)]
280    HRESULT nodeValue([in] VARIANT var1);
281
282    [propget, id(DISPID_DOM_NODE_NODETYPE)]
283    HRESULT nodeType([retval, out] DOMNodeType *domNodeType);
284
285    [propget, id(DISPID_DOM_NODE_PARENTNODE)]
286    HRESULT parentNode([retval, out] IXMLDOMNode **parent);
287
288    [propget, id(DISPID_DOM_NODE_CHILDNODES)]
289    HRESULT childNodes([retval, out] IXMLDOMNodeList **outList);
290
291    [propget, id(DISPID_DOM_NODE_FIRSTCHILD)]
292    HRESULT firstChild([retval, out] IXMLDOMNode **domNode);
293
294    [propget, id(DISPID_DOM_NODE_LASTCHILD)]
295    HRESULT lastChild([retval, out] IXMLDOMNode **domNode);
296
297    [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING)]
298    HRESULT previousSibling([retval, out] IXMLDOMNode **domNode);
299
300    [propget, id(DISPID_DOM_NODE_NEXTSIBLING)]
301    HRESULT nextSibling([retval, out] IXMLDOMNode **domNode);
302
303    [propget, id(DISPID_DOM_NODE_ATTRIBUTES)]
304    HRESULT attributes([retval, out] IXMLDOMNamedNodeMap **attributeMap);
305
306    [id(DISPID_DOM_NODE_INSERTBEFORE)]
307    HRESULT insertBefore(
308        [in] IXMLDOMNode *newNode,
309        [in] VARIANT var1,
310        [retval, out] IXMLDOMNode **outOldNode);
311
312    [id(DISPID_DOM_NODE_REPLACECHILD)]
313    HRESULT replaceChild(
314        [in] IXMLDOMNode *newNode,
315        [in] IXMLDOMNode *oldNode,
316        [retval, out] IXMLDOMNode **outOldNode);
317
318    [id(DISPID_DOM_NODE_REMOVECHILD)]
319    HRESULT removeChild(
320        [in] IXMLDOMNode *domNode,
321        [retval, out] IXMLDOMNode **oldNode);
322
323    [id(DISPID_DOM_NODE_APPENDCHILD)]
324    HRESULT appendChild(
325        [in] IXMLDOMNode *newNode,
326        [retval, out] IXMLDOMNode **outNewNode);
327
328    [id(DISPID_DOM_NODE_HASCHILDNODES)]
329    HRESULT hasChildNodes(
330        [retval, out] VARIANT_BOOL *pbool);
331
332    [propget, id(DISPID_DOM_NODE_OWNERDOC)]
333    HRESULT ownerDocument([retval, out] IXMLDOMDocument **domDocument);
334
335    [id(DISPID_DOM_NODE_CLONENODE)]
336    HRESULT cloneNode(
337        [in] VARIANT_BOOL pbool,
338        [retval, out] IXMLDOMNode **outNode);
339
340    [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE)]
341    HRESULT nodeTypeString([retval, out] BSTR *p);
342
343    [propget, id(DISPID_XMLDOM_NODE_TEXT)]
344    HRESULT text([retval, out] BSTR *p);
345
346    [propput, id(DISPID_XMLDOM_NODE_TEXT)]
347    HRESULT text([in] BSTR p);
348
349    [propget, id(DISPID_XMLDOM_NODE_SPECIFIED)]
350    HRESULT specified([retval, out] VARIANT_BOOL *pbool);
351
352    [propget, id(DISPID_XMLDOM_NODE_DEFINITION)]
353    HRESULT definition([retval,out] IXMLDOMNode **domNode);
354
355    [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
356    HRESULT nodeTypedValue([retval, out] VARIANT *var1);
357
358    [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
359    HRESULT nodeTypedValue([in] VARIANT var1);
360
361    [propget, id(DISPID_XMLDOM_NODE_DATATYPE)]
362    HRESULT dataType([retval, out] VARIANT *var1);
363
364    [propput, id(DISPID_XMLDOM_NODE_DATATYPE)]
365    HRESULT dataType([in] BSTR p);
366
367    [propget, id(DISPID_XMLDOM_NODE_XML)]
368    HRESULT xml([retval, out] BSTR *p);
369
370    [id(DISPID_XMLDOM_NODE_TRANSFORMNODE)]
371    HRESULT transformNode(
372        [in] IXMLDOMNode *domNode,
373        [retval, out] BSTR *p);
374
375    [id(DISPID_XMLDOM_NODE_SELECTNODES)]
376    HRESULT selectNodes(
377        [in] BSTR p,
378        [retval, out] IXMLDOMNodeList **outList);
379
380    [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE)]
381    HRESULT selectSingleNode(
382        [in] BSTR p,
383        [retval, out] IXMLDOMNode **outNode);
384
385    [propget,id(DISPID_XMLDOM_NODE_PARSED)]
386    HRESULT parsed([retval, out] VARIANT_BOOL *pbool);
387
388    [propget, id(DISPID_XMLDOM_NODE_NAMESPACE)]
389    HRESULT namespaceURI([retval, out] BSTR *p);
390
391    [propget, id(DISPID_XMLDOM_NODE_PREFIX)]
392    HRESULT prefix([retval, out] BSTR *p);
393
394    [propget, id(DISPID_XMLDOM_NODE_BASENAME)]
395    HRESULT baseName([retval, out] BSTR *p);
396
397    [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT)]
398    HRESULT transformNodeToObject(
399        [in] IXMLDOMNode *domNode,
400        [in] VARIANT var1);
401}
402
403[
404local,
405object,
406dual,
407oleautomation,
408uuid (2933BF81-7B36-11d2-B20E-00C04F983E60)
409]
410interface IXMLDOMDocument : IXMLDOMNode
411{
412    [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE)]
413    HRESULT doctype([retval, out] IXMLDOMDocumentType **docType);
414
415    [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION)]
416    HRESULT implementation([retval, out] IXMLDOMImplementation **impl);
417
418    [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
419    HRESULT documentElement([retval, out] IXMLDOMElement **domElement);
420
421    [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
422    HRESULT documentElement([in] IXMLDOMElement *domElement);
423
424    [id(DISPID_DOM_DOCUMENT_CREATEELEMENT)]
425    HRESULT createElement(
426        [in] BSTR p,
427        [retval, out] IXMLDOMElement **domElement);
428
429    [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT)]
430    HRESULT createDocumentFragment(
431        [retval, out] IXMLDOMDocumentFragment **docFrag);
432
433    [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE)]
434    HRESULT createTextNode(
435        [in] BSTR p,
436        [retval, out] IXMLDOMText **text);
437
438    [id(DISPID_DOM_DOCUMENT_CREATECOMMENT)]
439    HRESULT createComment(
440        [in] BSTR p,
441        [retval, out] IXMLDOMComment **comment);
442
443    [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION)]
444    HRESULT createCDATASection(
445        [in] BSTR p,
446        [retval, out] IXMLDOMCDATASection **cdata);
447
448    [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION)]
449    HRESULT createProcessingInstruction(
450        [in] BSTR target,
451        [in] BSTR data,
452        [retval, out] IXMLDOMProcessingInstruction **pi);
453
454    [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE)]
455    HRESULT createAttribute(
456        [in] BSTR p,
457        [retval, out] IXMLDOMAttribute **attribute);
458
459    [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE)]
460    HRESULT createEntityReference(
461        [in] BSTR p,
462        [retval, out] IXMLDOMEntityReference **entityRef);
463
464    [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME)]
465    HRESULT getElementsByTagName(
466        [in] BSTR p,
467        [retval, out] IXMLDOMNodeList **resultList);
468
469    [id(DISPID_XMLDOM_DOCUMENT_CREATENODE)]
470    HRESULT createNode(
471        [in] VARIANT var,
472        [in] BSTR name,
473        [in] BSTR uri,
474        [retval, out] IXMLDOMNode **node);
475
476    [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID)]
477    HRESULT nodeFromID(
478        [in] BSTR id,
479        [retval, out] IXMLDOMNode **node);
480
481    [id(DISPID_XMLDOM_DOCUMENT_LOAD)]
482    HRESULT load(
483        [in] VARIANT var1,
484        [retval, out] VARIANT_BOOL *pbool);
485
486    [propget, id(DISPID_READYSTATE)]
487    HRESULT readyState([retval, out] LONG *value);
488
489    [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR)]
490    HRESULT parseError([retval, out] IXMLDOMParseError **err);
491
492    [propget, id(DISPID_XMLDOM_DOCUMENT_URL)]
493    HRESULT url([retval, out] BSTR *p);
494
495    [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
496    HRESULT async([retval, out] VARIANT_BOOL *pbool);
497
498    [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
499    HRESULT async([in] VARIANT_BOOL pbool);
500
501    [id(DISPID_XMLDOM_DOCUMENT_ABORT)]
502    HRESULT abort();
503
504    [id(DISPID_XMLDOM_DOCUMENT_LOADXML)]
505    HRESULT loadXML(
506        [in] BSTR p,
507        [out, retval] VARIANT_BOOL *pbool);
508
509    [id(DISPID_XMLDOM_DOCUMENT_SAVE)]
510    HRESULT save(
511        [in] VARIANT var1);
512
513    [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
514    HRESULT validateOnParse([retval, out] VARIANT_BOOL *pbool);
515
516    [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
517    HRESULT validateOnParse([in] VARIANT_BOOL pbool);
518
519    [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
520    HRESULT resolveExternals([retval,out] VARIANT_BOOL *pbool);
521
522    [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
523    HRESULT resolveExternals([in] VARIANT_BOOL pbool);
524
525    [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
526    HRESULT preserveWhiteSpace([retval,out] VARIANT_BOOL *pbool);
527
528    [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
529    HRESULT preserveWhiteSpace([in] VARIANT_BOOL pbool);
530
531    [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE)]
532    HRESULT onreadystatechange([in] VARIANT var1);
533
534    [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE)]
535    HRESULT ondataavailable([in] VARIANT var1);
536
537    [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE)]
538    HRESULT ontransformnode([in] VARIANT var1);
539}
540
541[
542local,
543object,
544dual,
545oleautomation,
546uuid (373984c8-b845-449b-91e7-45ac83036ade)
547]
548interface IXMLDOMSchemaCollection : IDispatch
549{
550    [id(DISPID_XMLDOM_SCHEMACOLLECTION_ADD)]
551    HRESULT add(
552        [in] BSTR uri,
553        [in] VARIANT var);
554
555    [id(DISPID_XMLDOM_SCHEMACOLLECTION_GET)]
556    HRESULT get(
557        [in] BSTR uri,
558        [retval, out] IXMLDOMNode **node);
559
560    [id(DISPID_XMLDOM_SCHEMACOLLECTION_REMOVE)]
561    HRESULT remove(
562        [in] BSTR uri);
563
564    [propget, id(DISPID_XMLDOM_SCHEMACOLLECTION_LENGTH)]
565    HRESULT length(
566        [retval, out] LONG *length);
567
568    [propget, id(DISPID_VALUE)]
569    HRESULT namespaceURI([in] LONG index, [out, retval] BSTR *len);
570
571    [id(DISPID_XMLDOM_SCHEMACOLLECTION_ADDCOLLECTION)]
572    HRESULT addCollection(
573        [in] IXMLDOMSchemaCollection *otherCollection);
574
575    [propget, id(DISPID_NEWENUM)]
576    HRESULT _newEnum([retval, out] IUnknown **ppUnk);
577}
578
579[
580    local,
581    object,
582    dual,
583    oleautomation,
584    uuid(50ea08b0-dd1b-4664-9a50-c2f40f4bd79a),
585]
586interface IXMLDOMSchemaCollection2 : IXMLDOMSchemaCollection
587{
588    [id(DISPID_SOM_VALIDATE)]
589    HRESULT validate();
590
591    [propput, id(DISPID_SOM_VALIDATEONLOAD)]
592    HRESULT validateOnLoad(
593        [in] VARIANT_BOOL validateOnLoad);
594
595    [propget, id(DISPID_SOM_VALIDATEONLOAD)]
596    HRESULT validateOnLoad(
597        [out,retval] VARIANT_BOOL* validateOnLoad);
598
599    [id(DISPID_SOM_GETSCHEMA)]
600    HRESULT getSchema(
601        [in] BSTR namespaceURI,
602        [out,retval] ISchema** schema);
603
604    [id(DISPID_SOM_GETDECLARATION)]
605    HRESULT getDeclaration(
606        [in] IXMLDOMNode* node,
607        [out,retval]ISchemaItem** item);
608};
609
610[
611local,
612object,
613dual,
614oleautomation,
615uuid (2933BF95-7B36-11d2-B20E-00C04F983E60)
616]
617interface IXMLDOMDocument2 : IXMLDOMDocument
618{
619    [propget, id(DISPID_XMLDOM_DOCUMENT2_NAMESPACES)]
620    HRESULT namespaces([retval, out] IXMLDOMSchemaCollection **schemaCollection);
621
622    [propget, id(DISPID_XMLDOM_DOCUMENT2_SCHEMAS)]
623    HRESULT schemas([retval, out] VARIANT *var1);
624
625    [propputref, id(DISPID_XMLDOM_DOCUMENT2_SCHEMAS)]
626    HRESULT schemas([in] VARIANT var1);
627
628    [id(DISPID_XMLDOM_DOCUMENT2_VALIDATE)]
629    HRESULT validate(
630        [retval, out] IXMLDOMParseError **err);
631
632    [id(DISPID_XMLDOM_DOCUMENT2_SETPROPERTY)]
633    HRESULT setProperty(
634        [in] BSTR p,
635        [in] VARIANT var);
636
637    [id(DISPID_XMLDOM_DOCUMENT2_GETPROPERTY)]
638    HRESULT getProperty(
639        [in] BSTR p,
640        [retval, out] VARIANT *var);
641}
642
643[
644    local,
645    object,
646    dual,
647    uuid(2933bf96-7b36-11d2-b20e-00c04f983e60),
648    oleautomation,
649]
650interface IXMLDOMDocument3 : IXMLDOMDocument2
651{
652    [id(DISPID_XMLDOM_DOCUMENT3_VALIDATENODE)]
653    HRESULT validateNode(
654        [in] IXMLDOMNode *node,
655        [out, retval] IXMLDOMParseError **error);
656
657    [id(DISPID_XMLDOM_DOCUMENT3_IMPORTNODE)]
658    HRESULT importNode(
659        [in] IXMLDOMNode *node,
660        [in] VARIANT_BOOL deep,
661        [out, retval] IXMLDOMNode **clone);
662}
663
664[
665local,
666object,
667dual,
668oleautomation,
669uuid (2933BF82-7B36-11d2-B20E-00C04F983E60)
670]
671interface IXMLDOMNodeList : IDispatch
672{
673    [propget, id(DISPID_VALUE)]
674    HRESULT item([in] LONG lIndex, [retval, out] IXMLDOMNode **outNode);
675
676    [propget, id(DISPID_DOM_NODELIST_LENGTH)]
677    HRESULT length([retval, out] LONG *lLength);
678
679    [id(DISPID_XMLDOM_NODELIST_NEXTNODE)]
680    HRESULT nextNode(
681        [retval, out] IXMLDOMNode **outNode);
682
683    [id(DISPID_XMLDOM_NODELIST_RESET)]
684    HRESULT reset();
685
686    [propget, id(DISPID_NEWENUM)]
687    HRESULT _newEnum([retval, out] IUnknown **ppUnk);
688}
689
690[
691local,
692object,
693dual,
694oleautomation,
695uuid (AA634FC7-5888-44a7-A257-3A47150D3A0E)
696]
697interface IXMLDOMSelection : IXMLDOMNodeList
698{
699    [propget, id(DISPID_XMLDOM_SELECTION_EXPR)]
700    HRESULT expr([retval, out] BSTR *p);
701
702    [propput, id(DISPID_XMLDOM_SELECTION_EXPR)]
703    HRESULT expr([in] BSTR p);
704
705    [propget, id(DISPID_XMLDOM_SELECTION_CONTEXT)]
706    HRESULT context([retval, out] IXMLDOMNode **ppNode);
707
708    [propputref, id(DISPID_XMLDOM_SELECTION_CONTEXT)]
709    HRESULT context([in] IXMLDOMNode * pNode);
710
711    [id(DISPID_XMLDOM_SELECTION_PEEKNODE)]
712    HRESULT peekNode(
713        [retval, out] IXMLDOMNode **ppNode);
714
715    [id(DISPID_XMLDOM_SELECTION_MATCHES)]
716    HRESULT matches(
717        [in] IXMLDOMNode *pNode,
718        [retval, out] IXMLDOMNode **ppNode);
719
720    [id(DISPID_XMLDOM_SELECTION_REMOVENEXT)]
721    HRESULT removeNext(
722        [retval, out] IXMLDOMNode **ppNode);
723
724    [id(DISPID_XMLDOM_SELECTION_REMOVEALL)]
725    HRESULT removeAll();
726
727    [id(DISPID_XMLDOM_SELECTION_CLONE)]
728    HRESULT clone(
729        [retval, out] IXMLDOMSelection **ppNode);
730
731    [id(DISPID_XMLDOM_SELECTION_GETPROPERTY)]
732    HRESULT getProperty(
733        [in] BSTR p,
734        [retval, out] VARIANT * var);
735
736    [id(DISPID_XMLDOM_SELECTION_SETPROPERTY)]
737    HRESULT setProperty(
738        [in] BSTR p,
739        [in] VARIANT var);
740}
741
742[
743local,
744object,
745dual,
746oleautomation,
747uuid (2933BF83-7B36-11d2-B20E-00C04F983E60)
748]
749interface IXMLDOMNamedNodeMap : IDispatch
750{
751    [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM)]
752    HRESULT getNamedItem(
753        [in] BSTR p,
754        [retval, out] IXMLDOMNode **outNode);
755
756    [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM)]
757    HRESULT setNamedItem(
758        [in] IXMLDOMNode *newNode,
759        [retval, out] IXMLDOMNode **outNode);
760
761    [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM)]
762    HRESULT removeNamedItem(
763        [in] BSTR p,
764        [retval, out] IXMLDOMNode **outNode);
765
766    [propget, id(DISPID_VALUE)]
767    HRESULT item([in] LONG lIndex, [retval, out] IXMLDOMNode **outNode);
768
769    [propget, id(DISPID_DOM_NODELIST_LENGTH)]
770    HRESULT length([retval, out] LONG *lLength);
771
772    [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM)]
773    HRESULT getQualifiedItem(
774        [in] BSTR name,
775        [in] BSTR uri,
776        [retval, out] IXMLDOMNode **outNode);
777
778    [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM)]
779    HRESULT removeQualifiedItem(
780        [in] BSTR name,
781        [in] BSTR uri,
782        [retval, out] IXMLDOMNode **outNode);
783
784    [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE)]
785    HRESULT nextNode(
786        [retval, out] IXMLDOMNode **outNode);
787
788    [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET)]
789    HRESULT reset();
790
791    [propget, id(DISPID_NEWENUM)]
792    HRESULT _newEnum([retval, out] IUnknown **ppUnk);
793}
794
795[
796local,
797object,
798dual,
799oleautomation,
800uuid (3efaa413-272f-11d2-836f-0000f87a7782)
801]
802interface IXMLDOMDocumentFragment : IXMLDOMNode
803{
804}
805
806[
807local,
808object,
809dual,
810oleautomation,
811uuid (2933BF84-7B36-11d2-B20E-00C04F983E60)
812]
813interface IXMLDOMCharacterData : IXMLDOMNode
814{
815    [propget, id(DISPID_DOM_DATA_DATA)]
816    HRESULT data([retval, out] BSTR *p);
817
818    [propput, id(DISPID_DOM_DATA_DATA)]
819    HRESULT data([in] BSTR data);
820
821    [propget, id(DISPID_DOM_DATA_LENGTH)]
822    HRESULT length([retval, out] LONG *len);
823
824    [id(DISPID_DOM_DATA_SUBSTRING)]
825    HRESULT substringData(
826        [in] LONG offset,
827        [in] LONG count,
828        [retval, out] BSTR *p);
829
830    [id(DISPID_DOM_DATA_APPEND)]
831    HRESULT appendData(
832        [in] BSTR p);
833
834    [id(DISPID_DOM_DATA_INSERT)]
835    HRESULT insertData(
836        [in] LONG offset,
837        [in] BSTR p);
838
839    [id(DISPID_DOM_DATA_DELETE)]
840    HRESULT deleteData(
841        [in] LONG offset,
842        [in] LONG count);
843
844    [id(DISPID_DOM_DATA_REPLACE)]
845    HRESULT replaceData(
846        [in] LONG offset,
847        [in] LONG count,
848        [in] BSTR p);
849}
850
851[
852local,
853object,
854dual,
855oleautomation,
856uuid (2933BF85-7B36-11d2-B20E-00C04F983E60)
857]
858interface IXMLDOMAttribute : IXMLDOMNode
859{
860    [propget, id(DISPID_DOM_ATTRIBUTE_GETNAME)]
861    HRESULT name([retval, out] BSTR *p);
862
863    [propget, id(DISPID_DOM_ATTRIBUTE_VALUE)]
864    HRESULT value([retval, out] VARIANT *var1);
865
866    [propput, id(DISPID_DOM_ATTRIBUTE_VALUE)]
867    HRESULT value([in] VARIANT var1);
868}
869
870[
871local,
872object,
873dual,
874oleautomation,
875uuid (2933BF86-7B36-11d2-B20E-00C04F983E60)
876]
877interface IXMLDOMElement : IXMLDOMNode
878{
879    [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME)]
880    HRESULT tagName([retval, out] BSTR *p);
881
882    [id(DISPID_DOM_ELEMENT_GETATTRIBUTE)]
883    HRESULT getAttribute(
884        [in] BSTR p,
885        [retval, out] VARIANT *var);
886
887    [id(DISPID_DOM_ELEMENT_SETATTRIBUTE)]
888    HRESULT setAttribute(
889        [in] BSTR p,
890        [in] VARIANT var);
891
892    [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE)]
893    HRESULT removeAttribute(
894        [in] BSTR p);
895
896    [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE)]
897    HRESULT getAttributeNode(
898        [in] BSTR p,
899        [retval, out] IXMLDOMAttribute **attributeNode);
900
901    [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE)]
902    HRESULT setAttributeNode(
903        [in] IXMLDOMAttribute *domAttribute,
904        [retval, out] IXMLDOMAttribute **attributeNode);
905
906    [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE)]
907    HRESULT removeAttributeNode(
908        [in] IXMLDOMAttribute *domAttribute,
909        [retval, out] IXMLDOMAttribute **attributeNode);
910
911    [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME)]
912    HRESULT getElementsByTagName(
913        [in] BSTR p,
914        [retval, out] IXMLDOMNodeList **resultList);
915
916    [id(DISPID_DOM_ELEMENT_NORMALIZE)]
917    HRESULT normalize();
918}
919
920[
921local,
922object,
923dual,
924oleautomation,
925uuid (2933BF87-7B36-11d2-B20E-00C04F983E60)
926]
927interface IXMLDOMText : IXMLDOMCharacterData
928{
929    [id(DISPID_DOM_TEXT_SPLITTEXT)]
930    HRESULT splitText(
931        [in] LONG offset,
932        [retval, out] IXMLDOMText **txtNode);
933}
934
935[
936local,
937object,
938dual,
939oleautomation,
940uuid (2933BF88-7B36-11d2-B20E-00C04F983E60)
941]
942interface IXMLDOMComment : IXMLDOMCharacterData
943{
944}
945
946[
947local,
948object,
949dual,
950oleautomation,
951uuid (2933BF89-7B36-11d2-B20E-00C04F983E60)
952]
953interface IXMLDOMProcessingInstruction : IXMLDOMNode
954{
955    [propget, id(DISPID_DOM_PI_TARGET)]
956    HRESULT target([retval, out] BSTR *p);
957
958    [propget, id(DISPID_DOM_PI_DATA)]
959    HRESULT data([retval, out] BSTR *p);
960
961    [propput, id(DISPID_DOM_PI_DATA)]
962    HRESULT data([in] BSTR p);
963}
964
965[
966local,
967object,
968dual,
969oleautomation,
970uuid (2933BF8A-7B36-11d2-B20E-00C04F983E60)
971]
972interface IXMLDOMCDATASection : IXMLDOMText
973{
974}
975
976[
977local,
978object,
979dual,
980oleautomation,
981uuid (2933BF8B-7B36-11d2-B20E-00C04F983E60)
982]
983interface IXMLDOMDocumentType : IXMLDOMNode
984{
985    [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME)]
986    HRESULT name([retval, out] BSTR *p);
987
988    [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES)]
989    HRESULT entities([retval, out] IXMLDOMNamedNodeMap **entityMap);
990
991    [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS)]
992    HRESULT notations([retval, out] IXMLDOMNamedNodeMap **notationMap);
993}
994
995[
996local,
997object,
998dual,
999oleautomation,
1000uuid (2933BF8C-7B36-11d2-B20E-00C04F983E60)
1001]
1002interface IXMLDOMNotation : IXMLDOMNode
1003{
1004    [propget, id(DISPID_DOM_NOTATION_PUBLICID)]
1005    HRESULT publicId([retval, out] VARIANT *id);
1006
1007    [propget, id(DISPID_DOM_NOTATION_SYSTEMID)]
1008    HRESULT systemId([retval, out] VARIANT *id);
1009}
1010
1011[
1012local,
1013object,
1014dual,
1015oleautomation,
1016uuid (2933BF8D-7B36-11d2-B20E-00C04F983E60)
1017]
1018interface IXMLDOMEntity : IXMLDOMNode
1019{
1020    [propget, id(DISPID_DOM_ENTITY_PUBLICID)]
1021    HRESULT publicId([retval, out] VARIANT *id1);
1022
1023    [propget, id(DISPID_DOM_ENTITY_SYSTEMID)]
1024    HRESULT systemId([retval, out] VARIANT *id1);
1025
1026    [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME)]
1027    HRESULT notationName([retval, out] BSTR *p);
1028}
1029
1030[
1031local,
1032object,
1033dual,
1034oleautomation,
1035uuid (2933BF8E-7B36-11d2-B20E-00C04F983E60)
1036]
1037interface IXMLDOMEntityReference : IXMLDOMNode
1038{
1039}
1040
1041[
1042local,
1043object,
1044dual,
1045oleautomation,
1046uuid (2933BF8F-7B36-11d2-B20E-00C04F983E60)
1047]
1048interface IXMLDOMImplementation : IDispatch
1049{
1050    [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE)]
1051    HRESULT hasFeature(
1052        [in] BSTR feature,
1053        [in] BSTR version,
1054        [retval, out] VARIANT_BOOL *pbool);
1055}
1056
1057[
1058local,
1059object,
1060dual,
1061oleautomation,
1062uuid (3efaa425-272f-11d2-836f-0000f87a7782)
1063]
1064interface IXTLRuntime : IXMLDOMNode
1065{
1066    [id(DISPID_XTLRUNTIME_UNIQUEID)]
1067    HRESULT uniqueID(
1068        [in]IXMLDOMNode *pNode,
1069        [retval, out]LONG *pID);
1070
1071    [id(DISPID_XTLRUNTIME_DEPTH)]
1072    HRESULT depth(
1073        [in] IXMLDOMNode *pNode,
1074        [retval, out]LONG * pDepth);
1075
1076    [id(DISPID_XTLRUNTIME_CHILDNUMBER)]
1077    HRESULT childNumber(
1078        [in]IXMLDOMNode *pNode,
1079        [retval, out] LONG *pNumber);
1080
1081    [id(DISPID_XTLRUNTIME_ANCESTORCHILDNUMBER)]
1082    HRESULT ancestorChildNumber(
1083        [in]BSTR bstr,
1084        [in]IXMLDOMNode *pNode,
1085        [retval, out]LONG *pNumber);
1086
1087    [id(DISPID_XTLRUNTIME_ABSOLUTECHILDNUMBER)]
1088    HRESULT absoluteChildNumber(
1089        [in]IXMLDOMNode *pNode,
1090        [retval, out]LONG *pNumber);
1091
1092    [id(DISPID_XTLRUNTIME_FORMATINDEX)]
1093    HRESULT formatIndex(
1094        [in] LONG lIndex,
1095        [in] BSTR bstr,
1096        [retval, out]BSTR *pbstr);
1097
1098    [id(DISPID_XTLRUNTIME_FORMATNUMBER)]
1099    HRESULT formatNumber(
1100        [in] double dblNumber,
1101        [in] BSTR bstr,
1102        [retval, out]BSTR *pbstr);
1103
1104    [id(DISPID_XTLRUNTIME_FORMATDATE)]
1105    HRESULT formatDate(
1106        [in] VARIANT var1,
1107        [in] BSTR bstr,
1108        [optional, in] VARIANT var2,
1109        [retval, out]BSTR *pbstr);
1110
1111    [id(DISPID_XTLRUNTIME_FORMATTIME)]
1112    HRESULT formatTime(
1113        [in] VARIANT var1,
1114        [in] BSTR bstr,
1115        [optional, in] VARIANT var2,
1116        [retval, out]BSTR *pbstr);
1117
1118}
1119
1120[
1121    uuid(3efaa427-272f-11d2-836f-0000f87a7782)
1122]
1123dispinterface XMLDOMDocumentEvents
1124{
1125    properties:
1126    methods:
1127    [id (DISPID_XMLDOMEVENT_ONDATAAVAILABLE)]
1128    HRESULT ondataavailable();
1129
1130    [id (DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)]
1131    HRESULT onreadystatechange();
1132}
1133
1134[
1135local,
1136object,
1137dual,
1138oleautomation,
1139uuid (2933BF92-7B36-11d2-B20E-00C04F983E60)
1140]
1141interface IXSLProcessor : IDispatch
1142{
1143    [propput, id(DISPID_XMLDOM_PROCESSOR_INPUT)]
1144    HRESULT input([in] VARIANT var);
1145
1146    [propget, id(DISPID_XMLDOM_PROCESSOR_INPUT)]
1147    HRESULT input([retval, out] VARIANT *var);
1148
1149    [propget, id(DISPID_XMLDOM_PROCESSOR_XSLTEMPLATE)]
1150    HRESULT ownerTemplate([retval, out] IXSLTemplate **ppTemplate);
1151
1152    [id(DISPID_XMLDOM_PROCESSOR_SETSTARTMODE)]
1153    HRESULT setStartMode(
1154        [in] BSTR p,
1155        [in, defaultvalue("")] BSTR uri);
1156
1157    [propget, id(DISPID_XMLDOM_PROCESSOR_STARTMODE)]
1158    HRESULT startMode([retval, out] BSTR *p);
1159
1160    [propget, id(DISPID_XMLDOM_PROCESSOR_STARTMODEURI)]
1161    HRESULT startModeURI([retval, out] BSTR *uri);
1162
1163    [propput, id(DISPID_XMLDOM_PROCESSOR_OUTPUT)]
1164    HRESULT output([in] VARIANT var);
1165
1166    [propget, id(DISPID_XMLDOM_PROCESSOR_OUTPUT)]
1167    HRESULT output([retval, out] VARIANT *var);
1168
1169    [id(DISPID_XMLDOM_PROCESSOR_TRANSFORM)]
1170    HRESULT transform(
1171        [retval, out] VARIANT_BOOL *pbool);
1172
1173    [id(DISPID_XMLDOM_PROCESSOR_RESET)]
1174    HRESULT reset();
1175
1176    [propget, id(DISPID_XMLDOM_PROCESSOR_READYSTATE)]
1177    HRESULT readyState([retval, out] LONG *pstate);
1178
1179    [id(DISPID_XMLDOM_PROCESSOR_ADDPARAMETER)]
1180    HRESULT addParameter(
1181        [in] BSTR p,
1182        [in] VARIANT var,
1183        [in, defaultvalue("")] BSTR uri);
1184
1185    [id(DISPID_XMLDOM_PROCESSOR_ADDOBJECT)]
1186    HRESULT addObject(
1187        [in] IDispatch* obj,
1188        [in] BSTR uri);
1189
1190    [propget, id(DISPID_XMLDOM_PROCESSOR_STYLESHEET)]
1191    HRESULT stylesheet([retval, out] IXMLDOMNode **node);
1192}
1193
1194[
1195local,
1196object,
1197dual,
1198oleautomation,
1199uuid (2933BF93-7B36-11d2-B20E-00C04F983E60)
1200]
1201interface IXSLTemplate : IDispatch
1202{
1203    [propputref, id(DISPID_XMLDOM_TEMPLATE_STYLESHEET)]
1204    HRESULT stylesheet([in] IXMLDOMNode *node);
1205
1206    [propget, id(DISPID_XMLDOM_TEMPLATE_STYLESHEET)]
1207    HRESULT stylesheet([retval, out] IXMLDOMNode **node);
1208
1209    [id(DISPID_XMLDOM_TEMPLATE_CREATEPROCESSOR)]
1210    HRESULT createProcessor(
1211        [retval, out] IXSLProcessor **ppProcessor);
1212}
1213
1214[
1215    object,
1216    uuid(ED8C108D-4349-11D2-91A4-00C04F7969E8),
1217    odl,
1218    dual,
1219    oleautomation,
1220    pointer_default(unique)
1221]
1222interface IXMLHTTPRequest : IDispatch
1223{
1224    [id(1)]
1225    HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl, [in, optional] VARIANT varAsync,
1226                 [in,optional] VARIANT username, [in,optional] VARIANT password);
1227
1228    [id(2)]
1229    HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue);
1230
1231    [id(3)]
1232    HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR * value);
1233
1234    [id(4)]
1235    HRESULT getAllResponseHeaders([out, retval] BSTR * pbstrHeaders);
1236
1237    [id(5)]
1238    HRESULT send([in, optional] VARIANT body);
1239
1240    [id(6)]
1241    HRESULT abort();
1242
1243    [propget, id(7)]
1244    HRESULT status([out, retval] LONG *pStatus);
1245
1246    [propget, id(8)]
1247    HRESULT statusText([out, retval] BSTR *pStatus);
1248
1249    [propget, id(9)]
1250    HRESULT responseXML([out, retval] IDispatch **pBody);
1251
1252    [propget, id(10)]
1253    HRESULT responseText([out, retval] BSTR *pBody);
1254
1255    [propget, id(11)]
1256    HRESULT responseBody([out, retval] VARIANT *pBody);
1257
1258    [propget, id(12)]
1259    HRESULT responseStream([out, retval] VARIANT *pBody);
1260
1261    [propget, id(13)]
1262    HRESULT readyState([out, retval] LONG *pState);
1263
1264    [propput, id(14)]
1265    HRESULT onreadystatechange([in] IDispatch *pReadyStateSink);
1266};
1267
1268[
1269object,
1270dual,
1271oleautomation,
1272uuid(2e9196bf-13ba-4dd4-91ca-6c571f281495)
1273]
1274interface IServerXMLHTTPRequest : IXMLHTTPRequest
1275{
1276    typedef enum _SERVERXMLHTTP_OPTION
1277    {
1278        SXH_OPTION_URL = -1,
1279        SXH_OPTION_URL_CODEPAGE,
1280        SXH_OPTION_ESCAPE_PERCENT_IN_URL,
1281        SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS,
1282        SXH_OPTION_SELECT_CLIENT_SSL_CERT
1283    } SERVERXMLHTTP_OPTION;
1284
1285    [id(15)]
1286    HRESULT setTimeouts(
1287        [in] long resolveTimeout,
1288        [in] long connectTimeout,
1289        [in] long sendTimeout,
1290        [in] long receiveTimeout);
1291
1292    [id(16)]
1293    HRESULT waitForResponse(
1294        [in, optional] VARIANT timeoutInSeconds,
1295        [out, retval] VARIANT_BOOL * isSuccessful);
1296
1297    [id(17)]
1298    HRESULT getOption(
1299        [in] SERVERXMLHTTP_OPTION option,
1300        [out, retval] VARIANT * value);
1301
1302    [id(18)]
1303    HRESULT setOption(
1304        [in] SERVERXMLHTTP_OPTION option,
1305        [in] VARIANT value);
1306}
1307
1308[
1309object,
1310dual,
1311oleautomation,
1312uuid(2e01311b-c322-4b0a-bd77-b90cfdc8dce7)
1313]
1314interface IServerXMLHTTPRequest2 : IServerXMLHTTPRequest
1315{
1316    typedef enum _SXH_PROXY_SETTING
1317    {
1318        SXH_PROXY_SET_DEFAULT = 0,
1319        SXH_PROXY_SET_PRECONFIG = 0,
1320        SXH_PROXY_SET_DIRECT,
1321        SXH_PROXY_SET_PROXY
1322    } SXH_PROXY_SETTING;
1323
1324    [id(19)]
1325    HRESULT setProxy(
1326        [in] SXH_PROXY_SETTING proxySetting,
1327        [in, optional] VARIANT varProxyServer,
1328        [in, optional] VARIANT varBypassList);
1329
1330    [id(20)]
1331    HRESULT setProxyCredentials(
1332        [in] BSTR bstrUserName,
1333        [in] BSTR bstrPassword);
1334}
1335
1336[
1337local,
1338object,
1339dual,
1340oleautomation,
1341uuid (3efaa426-272f-11d2-836f-0000f87a7782)
1342]
1343interface IXMLDOMParseError : IDispatch
1344{
1345    [propget, id(DISPID_VALUE)]
1346    HRESULT errorCode([retval, out] LONG *errCode);
1347
1348    [propget, id(DISPID_DOM_ERROR_URL)]
1349    HRESULT url([retval, out] BSTR *p);
1350
1351    [propget, id(DISPID_DOM_ERROR_REASON)]
1352    HRESULT reason([retval, out] BSTR *p);
1353
1354    [propget, id(DISPID_DOM_ERROR_SRCTEXT)]
1355    HRESULT srcText([retval, out] BSTR *p);
1356
1357    [propget, id(DISPID_DOM_ERROR_LINE)]
1358    HRESULT line([retval, out] LONG *lineNo);
1359
1360    [propget, id(DISPID_DOM_ERROR_LINEPOS)]
1361    HRESULT linepos([retval, out] LONG * linePos);
1362
1363    [propget, id(DISPID_DOM_ERROR_FILEPOS)]
1364    HRESULT filepos([retval, out] LONG * filePos);
1365}
1366
1367[
1368local,
1369object,
1370dual,
1371oleautomation,
1372uuid (3efaa428-272f-11d2-836f-0000f87a7782)
1373]
1374interface IXMLDOMParseError2 : IXMLDOMParseError
1375{
1376    [propget, id(DISPID_DOM_ERROR2_ERRORXPATH)]
1377    HRESULT errorXPath([retval, out] BSTR *xpathexpr);
1378
1379    [propget, id(DISPID_DOM_ERROR2_ALLERRORS)]
1380    HRESULT allErrors([retval, out] IXMLDOMParseErrorCollection **allErrors);
1381
1382    [id(DISPID_DOM_ERROR2_ERRORPARAMETERS)]
1383    HRESULT errorParameters(
1384        [in] long index,
1385        [retval, out] BSTR *param);
1386
1387    [propget, id(DISPID_DOM_ERROR2_ERRORPARAMETERSCOUNT)]
1388    HRESULT errorParametersCount([retval, out] long *count);
1389}
1390
1391[
1392local,
1393object,
1394dual,
1395oleautomation,
1396uuid (3efaa429-272f-11d2-836f-0000f87a7782)
1397]
1398interface IXMLDOMParseErrorCollection : IDispatch
1399{
1400    [propget, id(DISPID_VALUE)]
1401    HRESULT item(
1402        [in] long index,
1403        [retval, out] IXMLDOMParseError2 **error);
1404
1405    [propget, id(DISPID_DOM_ERRORCOLLECTION_LENGTH)]
1406    HRESULT length( [retval, out] long *length);
1407
1408    [propget, id(DISPID_DOM_ERRORCOLLECTION_NEXT)]
1409    HRESULT next( [retval, out] IXMLDOMParseError2 **error);
1410
1411    [id(DISPID_DOM_ERRORCOLLECTION_RESET)]
1412    HRESULT reset();
1413
1414    [propget, hidden, restricted, id(DISPID_NEWENUM)]
1415    HRESULT _newEnum( [retval, out] IUnknown **ppunk);
1416}
1417
1418[
1419    uuid(F6D90F11-9C73-11D3-B32E-00C04F990BB4)
1420]
1421coclass DOMDocument
1422{
1423    [default] interface IXMLDOMDocument2;
1424    [default, source] dispinterface XMLDOMDocumentEvents;
1425}
1426
1427[
1428    uuid(f5078f1b-c551-11d3-89b9-0000f81fe221)
1429]
1430coclass DOMDocument26
1431{
1432    [default] interface IXMLDOMDocument2;
1433    [default, source] dispinterface XMLDOMDocumentEvents;
1434}
1435
1436[
1437    uuid(f5078f32-c551-11d3-89b9-0000f81fe221)
1438]
1439coclass DOMDocument30
1440{
1441    [default] interface IXMLDOMDocument2;
1442    [default, source] dispinterface XMLDOMDocumentEvents;
1443}
1444
1445[
1446    uuid(88d969c0-f192-11d4-a65f-0040963251e5)
1447]
1448coclass DOMDocument40
1449{
1450    [default] interface IXMLDOMDocument2;
1451    [default, source] dispinterface XMLDOMDocumentEvents;
1452}
1453
1454[
1455    helpstring("XML DOM Document 6.0"),
1456    progid("Msxml2.DOMDocument.6.0"),
1457    threading(both),
1458    uuid(88d96a05-f192-11d4-a65f-0040963251e5)
1459]
1460coclass DOMDocument60
1461{
1462    [default] interface IXMLDOMDocument3;
1463    [default, source] dispinterface XMLDOMDocumentEvents;
1464}
1465
1466[
1467    uuid(F6D90F12-9C73-11D3-B32E-00C04F990BB4)
1468]
1469coclass FreeThreadedDOMDocument
1470{
1471    [default] interface IXMLDOMDocument2;
1472    [default, source] dispinterface XMLDOMDocumentEvents;
1473}
1474
1475[
1476    uuid(f5078f1c-c551-11d3-89b9-0000f81fe221)
1477]
1478coclass FreeThreadedDOMDocument26
1479{
1480    [default] interface IXMLDOMDocument2;
1481    [default, source] dispinterface XMLDOMDocumentEvents;
1482}
1483
1484[
1485    uuid(f5078f33-c551-11d3-89b9-0000f81fe221)
1486]
1487coclass FreeThreadedDOMDocument30
1488{
1489    [default] interface IXMLDOMDocument2;
1490    [default, source] dispinterface XMLDOMDocumentEvents;
1491}
1492
1493[
1494    uuid(88d969c1-f192-11d4-a65f-0040963251e5)
1495]
1496coclass FreeThreadedDOMDocument40
1497{
1498    [default] interface IXMLDOMDocument2;
1499    [default, source] dispinterface XMLDOMDocumentEvents;
1500}
1501
1502[
1503    helpstring("Free threaded XML DOM Document 6.0"),
1504    progid("Msxml2.FreeThreadedDOMDocument.6.0"),
1505    threading(both),
1506    uuid(88d96a06-f192-11d4-a65f-0040963251e5),
1507]
1508coclass FreeThreadedDOMDocument60
1509{
1510    [default] interface IXMLDOMDocument3;
1511    [default, source] dispinterface XMLDOMDocumentEvents;
1512}
1513
1514[
1515    uuid(f6d90f16-9c73-11d3-b32e-00c04f990bb4)
1516]
1517coclass XMLHTTP
1518{
1519    [default] interface IXMLHTTPRequest;
1520}
1521
1522[
1523    uuid(f5078f1e-c551-11d3-89b9-0000f81fe221)
1524]
1525coclass XMLHTTP26
1526{
1527    [default] interface IXMLHTTPRequest;
1528}
1529
1530[
1531    uuid(f5078f35-c551-11d3-89b9-0000f81fe221)
1532]
1533coclass XMLHTTP30
1534{
1535    [default] interface IXMLHTTPRequest;
1536}
1537
1538[
1539    uuid(88d969c5-f192-11d4-a65f-0040963251e5)
1540]
1541coclass XMLHTTP40
1542{
1543    [default] interface IXMLHTTPRequest;
1544}
1545
1546[
1547    helpstring("XML HTTP 6.0"),
1548    progid("Msxml2.XMLHTTP.6.0"),
1549    threading(apartment),
1550    uuid(88d96a0a-f192-11d4-a65f-0040963251e5)
1551]
1552coclass XMLHTTP60
1553{
1554    [default] interface IXMLHTTPRequest;
1555}
1556
1557[
1558    uuid(afba6b42-5692-48ea-8141-dc517dcf0ef1)
1559]
1560coclass ServerXMLHTTP
1561{
1562    [default] interface IServerXMLHTTPRequest;
1563}
1564
1565[
1566    uuid(afb40ffd-b609-40a3-9828-f88bbe11e4e3)
1567]
1568coclass ServerXMLHTTP30
1569{
1570    [default] interface IServerXMLHTTPRequest;
1571}
1572
1573[
1574    uuid(88d969c6-f192-11d4-a65f-0040963251e5)
1575]
1576coclass ServerXMLHTTP40
1577{
1578    [default] interface IServerXMLHTTPRequest2;
1579}
1580
1581[
1582    helpstring("Server XML HTTP 6.0"),
1583    progid("Msxml2.ServerXMLHTTP.6.0"),
1584    threading(apartment),
1585    uuid(88d96a0b-f192-11d4-a65f-0040963251e5)
1586]
1587coclass ServerXMLHTTP60
1588{
1589    [default] interface IServerXMLHTTPRequest2;
1590}
1591
1592[
1593    uuid(373984c9-b845-449b-91e7-45ac83036ade)
1594]
1595coclass XMLSchemaCache
1596{
1597    [default] interface IXMLDOMSchemaCollection;
1598}
1599
1600[
1601    uuid(f5078f1d-c551-11d3-89b9-0000f81fe221)
1602]
1603coclass XMLSchemaCache26
1604{
1605    [default] interface IXMLDOMSchemaCollection;
1606}
1607
1608[
1609    uuid(f5078f34-c551-11d3-89b9-0000f81fe221)
1610]
1611coclass XMLSchemaCache30
1612{
1613    [default] interface IXMLDOMSchemaCollection;
1614}
1615
1616[
1617    uuid(88d969c2-f192-11d4-a65f-0040963251e5)
1618]
1619coclass XMLSchemaCache40
1620{
1621    [default] interface IXMLDOMSchemaCollection2;
1622}
1623
1624[
1625    helpstring("XML Schema Cache 6.0"),
1626    progid("Msxml2.XMLSchemaCache.6.0"),
1627    threading(both),
1628    uuid(88d96a07-f192-11d4-a65f-0040963251e5)
1629]
1630coclass XMLSchemaCache60
1631{
1632    [default] interface IXMLDOMSchemaCollection2;
1633}
1634
1635[
1636    uuid(2933BF94-7B36-11d2-B20E-00C04F983E60)
1637]
1638coclass XSLTemplate
1639{
1640    [default] interface IXSLTemplate;
1641}
1642
1643[
1644    uuid(f5078f21-c551-11d3-89b9-0000f81fe221)
1645]
1646coclass XSLTemplate26
1647{
1648    [default] interface IXSLTemplate;
1649}
1650
1651[
1652    uuid(f5078f36-c551-11d3-89b9-0000f81fe221)
1653]
1654coclass XSLTemplate30
1655{
1656    [default] interface IXSLTemplate;
1657}
1658
1659[
1660    uuid(88d969c3-f192-11d4-a65f-0040963251e5)
1661]
1662coclass XSLTemplate40
1663{
1664    [default] interface IXSLTemplate;
1665}
1666
1667[
1668    helpstring("XSL Template 6.0"),
1669    progid("Msxml2.XSLTemplate.6.0"),
1670    threading(both),
1671    uuid(88d96a08-f192-11d4-a65f-0040963251e5)
1672]
1673coclass XSLTemplate60
1674{
1675    [default] interface IXSLTemplate;
1676}
1677
1678/*
1679 * Sax Interfaces
1680 */
1681[
1682    object,
1683    local,
1684    uuid(f078abe1-45d2-4832-91ea-4466ce2f25c9)
1685]
1686interface ISAXAttributes : IUnknown
1687{
1688    HRESULT getLength(
1689        [out, retval] int *length);
1690
1691    HRESULT getURI(
1692        [in] int nIndex,
1693        [out] const WCHAR **pUrl,
1694        [out] int *pUriSize);
1695
1696    HRESULT getLocalName(
1697        [in] int nIndex,
1698        [out] const WCHAR **pLocalName,
1699        [out] int *pLocalNameLength);
1700
1701    HRESULT getQName(
1702        [in] int nIndex,
1703        [out] const WCHAR **pQName,
1704        [out] int *pQNameLength);
1705
1706    HRESULT getName(
1707        [in] int nIndex,
1708        [out] const WCHAR **pUri,
1709        [out] int * pUriLength,
1710        [out] const WCHAR ** pLocalName,
1711        [out] int * pLocalNameSize,
1712        [out] const WCHAR ** pQName,
1713        [out] int * pQNameLength);
1714
1715    HRESULT getIndexFromName(
1716        [in] const WCHAR * pUri,
1717        [in] int cUriLength,
1718        [in] const WCHAR * pLocalName,
1719        [in] int cocalNameLength,
1720        [out, retval] int * index);
1721
1722    HRESULT getIndexFromQName(
1723        [in] const WCHAR * pQName,
1724        [in] int nQNameLength,
1725        [out, retval] int * index);
1726
1727    HRESULT getType(
1728        [in] int nIndex,
1729        [out] const WCHAR ** pType,
1730        [out] int * pTypeLength);
1731
1732    HRESULT getTypeFromName(
1733        [in] const WCHAR * pUri,
1734        [in] int nUri,
1735        [in] const WCHAR * pLocalName,
1736        [in] int nLocalName,
1737        [out] const WCHAR ** pType,
1738        [out] int * nType);
1739
1740    HRESULT getTypeFromQName(
1741        [in] const WCHAR * pQName,
1742        [in] int nQName,
1743        [out] const WCHAR ** pType,
1744        [out] int * nType);
1745
1746    HRESULT getValue(
1747        [in] int nIndex,
1748        [out] const WCHAR ** pValue,
1749        [out] int * nValue);
1750
1751    HRESULT getValueFromName(
1752        [in] const WCHAR * pUri,
1753        [in] int nUri,
1754        [in] const WCHAR * pLocalName,
1755        [in] int nLocalName,
1756        [out] const WCHAR ** pValue,
1757        [out] int * nValue);
1758
1759    HRESULT getValueFromQName(
1760        [in] const WCHAR * pQName,
1761        [in] int nQName,
1762        [out] const WCHAR ** pValue,
1763        [out] int * nValue);
1764};
1765
1766[
1767    object,
1768    local,
1769    uuid(1545cdfa-9e4e-4497-a8a4-2bf7d0112c44)
1770]
1771interface ISAXContentHandler : IUnknown
1772{
1773    HRESULT putDocumentLocator(
1774        [in] ISAXLocator * pLocator);
1775
1776    HRESULT startDocument();
1777
1778    HRESULT endDocument();
1779
1780    HRESULT startPrefixMapping(
1781        [in] const WCHAR * pPrefix,
1782        [in] int nPrefix,
1783        [in] const WCHAR * pUri,
1784        [in] int nUri);
1785
1786    HRESULT endPrefixMapping(
1787        [in] const WCHAR * pPrefix,
1788        [in] int nPrefix);
1789
1790    HRESULT startElement(
1791        [in] const WCHAR * pNamespaceUri,
1792        [in] int nNamespaceUri,
1793        [in] const WCHAR * pLocalName,
1794        [in] int nLocalName,
1795        [in] const WCHAR * pQName,
1796        [in] int nQName,
1797        [in] ISAXAttributes * pAttr);
1798
1799    HRESULT endElement(
1800        [in] const WCHAR * pNamespaceUri,
1801        [in] int nNamespaceUri,
1802        [in] const WCHAR * pLocalName,
1803        [in] int nLocalName,
1804        [in] const WCHAR * pQName,
1805        [in] int nQName);
1806
1807    HRESULT characters(
1808        [in] const WCHAR * pChars,
1809        [in] int nChars);
1810
1811    HRESULT ignorableWhitespace(
1812        [in] const WCHAR * pChars,
1813        [in] int nChars);
1814
1815    HRESULT processingInstruction(
1816        [in] const WCHAR * pTarget,
1817        [in] int nTarget,
1818        [in] const WCHAR * pData,
1819        [in] int nData);
1820
1821    HRESULT skippedEntity(
1822        [in] const WCHAR * pName,
1823        [in] int nName);
1824};
1825
1826[
1827    object,
1828    local,
1829    uuid(862629ac-771a-47b2-8337-4e6843c1be90)
1830]
1831interface ISAXDeclHandler : IUnknown
1832{
1833    HRESULT elementDecl(
1834        [in] const WCHAR * pName,
1835        [in] int nName,
1836        [in] const WCHAR * pModel,
1837        [in] int nModel);
1838
1839    HRESULT attributeDecl(
1840        [in] const WCHAR * pElementName,
1841        [in] int nElementName,
1842        [in] const WCHAR * pAttributeName,
1843        [in] int nAttributeName,
1844        [in] const WCHAR * pType,
1845        [in] int nType,
1846        [in] const WCHAR * pValueDefault,
1847        [in] int nValueDefault,
1848        [in] const WCHAR * pValue,
1849        [in] int nValue);
1850
1851    HRESULT internalEntityDecl(
1852        [in] const WCHAR * pName,
1853        [in] int nName,
1854        [in] const WCHAR * pValue,
1855        [in] int nValue);
1856
1857    HRESULT externalEntityDecl(
1858        [in] const WCHAR * pName,
1859        [in] int nName,
1860        [in] const WCHAR * pPublicId,
1861        [in] int nPublicId,
1862        [in] const WCHAR * pSystemId,
1863        [in] int nSystemId);
1864};
1865
1866[
1867    object,
1868    local,
1869    uuid(e15c1baf-afb3-4d60-8c36-19a8c45defed)
1870]
1871interface ISAXDTDHandler : IUnknown
1872{
1873    HRESULT notationDecl(
1874        [in] const WCHAR * pName,
1875        [in] int nName,
1876        [in] const WCHAR * pPublicId,
1877        [in] int nPublicId,
1878        [in] const WCHAR * pSystemId,
1879        [in] int nSystemId);
1880
1881    HRESULT unparsedEntityDecl(
1882        [in] const WCHAR * pName,
1883        [in] int nName,
1884        [in] const WCHAR * pPublicId,
1885        [in] int nPublicId,
1886        [in] const WCHAR * pSystemId,
1887        [in] int nSystemId,
1888        [in] const WCHAR * pNotationName,
1889        [in] int nNotationName);
1890};
1891
1892[
1893    object,
1894    local,
1895    uuid(99bca7bd-e8c4-4d5f-a0cf-6d907901ff07),
1896]
1897interface ISAXEntityResolver : IUnknown
1898{
1899    HRESULT resolveEntity(
1900        [in] const WCHAR * pPublicId,
1901        [in] const WCHAR * pSystemId,
1902        [out, retval] VARIANT * ret);
1903};
1904
1905[
1906    object,
1907    local,
1908    uuid(a60511c4-ccf5-479e-98a3-dc8dc545b7d0)
1909]
1910interface ISAXErrorHandler : IUnknown
1911{
1912    HRESULT error(
1913        [in] ISAXLocator * pLocator,
1914        [in] const WCHAR * pErrorMessage,
1915        [in] HRESULT hrErrorCode);
1916
1917    HRESULT fatalError(
1918        [in] ISAXLocator * pLocator,
1919        [in] const WCHAR * pErrorMessage,
1920        [in] HRESULT hrErrorCode);
1921
1922    HRESULT ignorableWarning(
1923        [in] ISAXLocator * pLocator,
1924        [in] const WCHAR * pErrorMessage,
1925        [in] HRESULT hrErrorCode);
1926};
1927
1928[
1929    object,
1930    local,
1931    uuid(7f85d5f5-47a8-4497-bda5-84ba04819ea6)
1932]
1933interface ISAXLexicalHandler : IUnknown
1934{
1935    HRESULT startDTD(
1936        [in] const WCHAR * pName,
1937        [in] int nName,
1938        [in] const WCHAR * pPublicId,
1939        [in] int nPublicId,
1940        [in] const WCHAR * pSystemId,
1941        [in] int nSystemId);
1942
1943    HRESULT endDTD();
1944
1945    HRESULT startEntity(
1946        [in] const WCHAR * pName,
1947        [in] int nName);
1948
1949    HRESULT endEntity(
1950        [in] const WCHAR * pName,
1951        [in] int nName);
1952
1953    HRESULT startCDATA();
1954
1955    HRESULT endCDATA();
1956
1957    HRESULT comment(
1958        [in] const WCHAR * pChars,
1959        [in] int nChars);
1960};
1961
1962[
1963    object,
1964    local,
1965    uuid(9b7e472a-0de4-4640-bff3-84d38a051c31)
1966]
1967interface ISAXLocator : IUnknown
1968{
1969    HRESULT getColumnNumber(
1970        [out, retval] int * nColumn);
1971
1972    HRESULT getLineNumber(
1973        [out, retval] int * nLine);
1974
1975    HRESULT getPublicId(
1976        [out, retval] const WCHAR ** publicId);
1977
1978    HRESULT getSystemId(
1979        [out, retval] const WCHAR ** systemId);
1980};
1981
1982[
1983    local,
1984    object,
1985    uuid(70409222-ca09-4475-acb8-40312fe8d145)
1986]
1987interface ISAXXMLFilter : ISAXXMLReader
1988{
1989    HRESULT getParent(
1990        [out, retval] ISAXXMLReader ** pReader);
1991    HRESULT putParent(
1992        [in] ISAXXMLReader * reader);
1993};
1994
1995[
1996local,
1997object,
1998uuid (a4f96ed0-f829-476e-81c0-cdc7bd2a0802)
1999]
2000interface ISAXXMLReader : IUnknown
2001{
2002    HRESULT getFeature(
2003        [in] const WCHAR * pFeature,
2004        [out, retval] VARIANT_BOOL * pValue);
2005    HRESULT putFeature(
2006        [in] const WCHAR * pFeature,
2007        [in] VARIANT_BOOL vfValue);
2008
2009    HRESULT getProperty(
2010        [in] const WCHAR * pProp,
2011        [out, retval] VARIANT * pValue);
2012    HRESULT putProperty(
2013        [in] const WCHAR * pProp,
2014        [in] VARIANT value);
2015
2016    HRESULT getEntityResolver(
2017        [out, retval] ISAXEntityResolver ** ppEntityResolver);
2018    HRESULT putEntityResolver(
2019        [in] ISAXEntityResolver * pEntityResolver);
2020
2021    HRESULT getContentHandler(
2022        [out, retval] ISAXContentHandler ** pContentHandler);
2023    HRESULT putContentHandler(
2024        [in] ISAXContentHandler * contentHandler);
2025
2026    HRESULT getDTDHandler(
2027        [out, retval] ISAXDTDHandler ** pDTDHandler);
2028    HRESULT putDTDHandler(
2029        [in] ISAXDTDHandler * pDTDHandler);
2030
2031    HRESULT getErrorHandler(
2032        [out, retval] ISAXErrorHandler ** pErrorHandler);
2033    HRESULT putErrorHandler(
2034        [in] ISAXErrorHandler * errorHandler);
2035
2036    HRESULT getBaseURL(
2037        [out, retval] const WCHAR ** pBaseUrl);
2038    HRESULT putBaseURL(
2039        [in] const WCHAR * pBaseUrl);
2040
2041    HRESULT getSecureBaseURL(
2042        [out, retval] const WCHAR ** pSecureBaseUrl);
2043    HRESULT putSecureBaseURL(
2044        [in] const WCHAR * secureBaseUrl);
2045
2046    HRESULT parse(
2047        [in] VARIANT varInput);
2048    HRESULT parseURL(
2049        [in] const WCHAR * url);
2050}
2051
2052[
2053    object,
2054    dual,
2055    oleautomation,
2056    uuid(10dc0586-132b-4cac-8bb3-db00ac8b7ee0)
2057]
2058interface IVBSAXAttributes : IDispatch
2059{
2060    [propget, id(DISPID_SAX_ATTRIBUTES_LENGTH)]
2061    HRESULT length( [out, retval] int * nLength);
2062
2063    [id(DISPID_SAX_ATTRIBUTES_GETURI)]
2064    HRESULT getURI( [in] int nIndex, [out, retval] BSTR * uri);
2065
2066    [id(DISPID_SAX_ATTRIBUTES_GETLOCALNAME)]
2067    HRESULT getLocalName( [in] int nIndex, [out, retval] BSTR * localName);
2068
2069    [id(DISPID_SAX_ATTRIBUTES_GETQNAME)]
2070    HRESULT getQName( [in] int nIndex, [out, retval] BSTR * QName);
2071
2072    [id(DISPID_SAX_ATTRIBUTES_GETINDEXFROMNAME)]
2073    HRESULT getIndexFromName( [in] BSTR uri,
2074                              [in] BSTR localName, [out, retval] int * nIndex);
2075
2076    [id(DISPID_SAX_ATTRIBUTES_GETINDEXFROMQNAME)]
2077    HRESULT getIndexFromQName( [in] BSTR QName, [out, retval] int * nIndex);
2078
2079    [id(DISPID_SAX_ATTRIBUTES_GETTYPE)]
2080    HRESULT getType( [in] int nIndex, [out, retval] BSTR * type);
2081
2082    [id(DISPID_SAX_ATTRIBUTES_GETTYPEFROMNAME)]
2083    HRESULT getTypeFromName( [in] BSTR uri, [in] BSTR localName,
2084                             [out, retval] BSTR * type);
2085
2086    [id(DISPID_SAX_ATTRIBUTES_GETTYPEFROMQNAME)]
2087    HRESULT getTypeFromQName( [in] BSTR QName, [out, retval] BSTR * type);
2088
2089    [id(DISPID_SAX_ATTRIBUTES_GETVALUE)]
2090    HRESULT getValue( [in] int nIndex, [out, retval] BSTR * value);
2091
2092    [id(DISPID_SAX_ATTRIBUTES_GETVALUEFROMNAME)]
2093    HRESULT getValueFromName( [in] BSTR uri,
2094                              [in] BSTR localName,
2095                              [out, retval] BSTR * value);
2096
2097    [id(DISPID_SAX_ATTRIBUTES_GETVALUEFROMQNAME)]
2098    HRESULT getValueFromQName( [in] BSTR QName, [out, retval] BSTR * value);
2099};
2100
2101[
2102    object,
2103    dual,
2104    oleautomation,
2105    uuid(2ed7290a-4dd5-4b46-bb26-4e4155e77faa)
2106]
2107interface IVBSAXContentHandler : IDispatch
2108{
2109    [propputref, id(DISPID_SAX_CONTENTHANDLER_DOCUMENTLOCATOR)]
2110    HRESULT documentLocator( [in] IVBSAXLocator * oLocator);
2111
2112    [id(DISPID_SAX_CONTENTHANDLER_STARTDOCUMENT)]
2113    HRESULT startDocument();
2114
2115    [id(DISPID_SAX_CONTENTHANDLER_ENDDOCUMENT)]
2116    HRESULT endDocument();
2117
2118    [id(DISPID_SAX_CONTENTHANDLER_STARTPREFIXMAPPING)]
2119    HRESULT startPrefixMapping( [in, out] BSTR * prefix, [in, out] BSTR * uri);
2120
2121    [id(DISPID_SAX_CONTENTHANDLER_ENDPREFIXMAPPING)]
2122    HRESULT endPrefixMapping( [in, out] BSTR * prefix);
2123
2124    [id(DISPID_SAX_CONTENTHANDLER_STARTELEMENT)]
2125    HRESULT startElement( [in, out] BSTR * namespaceURI,
2126                          [in, out] BSTR * localName,
2127                          [in, out] BSTR * QName,
2128                          [in] IVBSAXAttributes * oAttributes);
2129
2130    [id(DISPID_SAX_CONTENTHANDLER_ENDELEMENT)]
2131    HRESULT endElement( [in, out] BSTR * namespaceURI,
2132                        [in, out] BSTR * localName, [in, out] BSTR * strQName);
2133
2134    [id(DISPID_SAX_CONTENTHANDLER_CHARACTERS)]
2135    HRESULT characters( [in, out] BSTR * chars);
2136
2137    [id(DISPID_SAX_CONTENTHANDLER_IGNORABLEWHITESPACE)]
2138    HRESULT ignorableWhitespace( [in, out] BSTR * chars);
2139
2140    [id(DISPID_SAX_CONTENTHANDLER_PROCESSINGINSTRUCTION)]
2141    HRESULT processingInstruction( [in, out] BSTR * target,
2142                                   [in, out] BSTR * data);
2143
2144    [id(DISPID_SAX_CONTENTHANDLER_SKIPPEDENTITY)]
2145    HRESULT skippedEntity( [in, out] BSTR * name);
2146};
2147
2148[
2149    object,
2150    dual,
2151    oleautomation,
2152    uuid(e8917260-7579-4be1-b5dd-7afbfa6f077b)
2153]
2154interface IVBSAXDeclHandler : IDispatch
2155{
2156    [id(DISPID_SAX_DECLHANDLER_ELEMENTDECL)]
2157    HRESULT elementDecl(
2158        [in, out] BSTR * name,
2159        [in, out] BSTR * model);
2160
2161    [id(DISPID_SAX_DECLHANDLER_ATTRIBUTEDECL)]
2162    HRESULT attributeDecl(
2163        [in, out] BSTR * elementName,
2164        [in, out] BSTR * attributeName,
2165        [in, out] BSTR * type,
2166        [in, out] BSTR * valueDefault,
2167        [in, out] BSTR * value);
2168
2169    [id(DISPID_SAX_DECLHANDLER_INTERNALENTITYDECL)]
2170    HRESULT internalEntityDecl(
2171        [in, out] BSTR * name,
2172        [in, out] BSTR * value);
2173
2174    [id(DISPID_SAX_DECLHANDLER_EXTERNALENTITYDECL)]
2175    HRESULT externalEntityDecl(
2176        [in, out] BSTR * name,
2177        [in, out] BSTR * publicId,
2178        [in, out] BSTR * systemId);
2179};
2180
2181[
2182    object,
2183    dual,
2184    oleautomation,
2185    uuid(24fb3297-302d-4620-ba39-3a732d850558)
2186]
2187interface IVBSAXDTDHandler : IDispatch
2188{
2189    [id(DISPID_SAX_DTDHANDLER_NOTATIONDECL)]
2190    HRESULT notationDecl(
2191        [in, out] BSTR * name,
2192        [in, out] BSTR * publicId,
2193        [in, out] BSTR * systemId);
2194
2195    [id(DISPID_SAX_DTDHANDLER_UNPARSEDENTITYDECL)]
2196    HRESULT unparsedEntityDecl(
2197        [in, out] BSTR * name,
2198        [in, out] BSTR * publicId,
2199        [in, out] BSTR * systemId,
2200        [in, out] BSTR * notationName);
2201};
2202
2203[
2204    object,
2205    dual,
2206    oleautomation,
2207    uuid(0c05d096-f45b-4aca-ad1a-aa0bc25518dc)
2208]
2209interface IVBSAXEntityResolver : IDispatch
2210{
2211    [id(DISPID_SAX_ENTITYRESOLVER_RESOLVEENTITY)]
2212    HRESULT resolveEntity(
2213        [in, out] BSTR * publicId,
2214        [in, out] BSTR * systemId,
2215        [out, retval] VARIANT * ret);
2216};
2217
2218[
2219    object,
2220    dual,
2221    oleautomation,
2222    uuid(d963d3fe-173c-4862-9095-b92f66995f52)
2223]
2224interface IVBSAXErrorHandler : IDispatch
2225{
2226    [id(DISPID_SAX_ERRORHANDLER_ERROR)]
2227    HRESULT error(
2228            [in] IVBSAXLocator * locator,
2229	    [in, out] BSTR * errorMessage,
2230            [in] LONG errorCode);
2231
2232    [id(DISPID_SAX_ERRORHANDLER_FATALERROR)]
2233    HRESULT fatalError(
2234	    [in] IVBSAXLocator * locator,
2235	    [in, out] BSTR * errorMessage,
2236            [in] LONG errorCode);
2237
2238    [id(DISPID_SAX_ERRORHANDLER_IGNORABLEWARNING)]
2239    HRESULT ignorableWarning(
2240	    [in] IVBSAXLocator * locator,
2241	    [in, out] BSTR * errorMessage,
2242            [in] LONG errorCode);
2243};
2244
2245[
2246    object,
2247    dual,
2248    oleautomation,
2249    uuid(032aac35-8c0e-4d9d-979f-e3b702935576)
2250]
2251interface IVBSAXLexicalHandler : IDispatch
2252{
2253    [id(DISPID_SAX_LEXICALHANDLER_STARTDTD)]
2254    HRESULT startDTD(
2255        [in, out] BSTR * name,
2256        [in, out] BSTR * publicId,
2257        [in, out] BSTR * systemId);
2258    [id(DISPID_SAX_LEXICALHANDLER_ENDDTD)]
2259    HRESULT endDTD();
2260
2261    [id(DISPID_SAX_LEXICALHANDLER_STARTENTITY)]
2262    HRESULT startEntity([in, out] BSTR * name);
2263    [id(DISPID_SAX_LEXICALHANDLER_ENDENTITY)]
2264    HRESULT endEntity([in, out] BSTR * name);
2265
2266    [id(DISPID_SAX_LEXICALHANDLER_STARTCDATA)]
2267    HRESULT startCDATA();
2268    [id(DISPID_SAX_LEXICALHANDLER_ENDCDATA)]
2269    HRESULT endCDATA();
2270
2271    [id(DISPID_SAX_LEXICALHANDLER_COMMENT)]
2272    HRESULT comment( [in, out] BSTR * chars);
2273};
2274
2275[
2276    object,
2277    dual,
2278    oleautomation,
2279    uuid(796e7ac5-5aa2-4eff-acad-3faaf01a3288)
2280]
2281interface IVBSAXLocator : IDispatch
2282{
2283    [propget, id(DISPID_SAX_LOCATOR_COLUMNNUMBER)]
2284    HRESULT columnNumber( [out, retval] int * column);
2285
2286    [propget, id(DISPID_SAX_LOCATOR_LINENUMBER)]
2287    HRESULT lineNumber( [out, retval] int * line);
2288
2289    [propget, id(DISPID_SAX_LOCATOR_PUBLICID)]
2290    HRESULT publicId( [out, retval] BSTR * publicId);
2291
2292    [propget, id(DISPID_SAX_LOCATOR_SYSTEMID)]
2293    HRESULT systemId( [out, retval] BSTR * systemId);
2294};
2295
2296[
2297    object,
2298    dual,
2299    oleautomation,
2300    uuid(1299eb1b-5b88-433e-82de-82ca75ad4e04)
2301]
2302interface IVBSAXXMLFilter : IDispatch
2303{
2304    [propget, id(DISPID_SAX_XMLFILTER_PARENT)]
2305    HRESULT parent( [out, retval] IVBSAXXMLReader ** reader);
2306    [propputref, id(DISPID_SAX_XMLFILTER_PARENT)]
2307    HRESULT parent( [in] IVBSAXXMLReader * reader);
2308
2309};
2310
2311[
2312    dual,
2313    oleautomation,
2314    object,
2315    uuid (8c033caa-6cd6-4f73-b728-4531af74945f)
2316]
2317interface IVBSAXXMLReader : IDispatch
2318{
2319    [id(DISPID_SAX_XMLREADER_GETFEATURE)]
2320    HRESULT getFeature( [in] BSTR pFeature,
2321                        [out, retval] VARIANT_BOOL * pValue);
2322    [id(DISPID_SAX_XMLREADER_PUTFEATURE)]
2323    HRESULT putFeature( [in] BSTR pFeature,
2324                        [in] VARIANT_BOOL vfValue);
2325
2326    [id(DISPID_SAX_XMLREADER_GETPROPERTY)]
2327    HRESULT getProperty( [in] BSTR pProp,
2328                         [out, retval] VARIANT * pValue);
2329    [id(DISPID_SAX_XMLREADER_PUTPROPERTY)]
2330    HRESULT putProperty( [in] BSTR pProp, [in] VARIANT value);
2331
2332    [propget, id(DISPID_SAX_XMLREADER_ENTITYRESOLVER)]
2333    HRESULT entityResolver(
2334                    [out, retval] IVBSAXEntityResolver ** ppEntityResolver);
2335    [propputref, id(DISPID_SAX_XMLREADER_ENTITYRESOLVER)]
2336    HRESULT entityResolver( [in] IVBSAXEntityResolver * pEntityResolver);
2337
2338    [propget, id(DISPID_SAX_XMLREADER_CONTENTHANDLER)]
2339    HRESULT contentHandler(
2340                        [out, retval] IVBSAXContentHandler ** pContentHandler);
2341    [propputref, id(DISPID_SAX_XMLREADER_CONTENTHANDLER)]
2342    HRESULT contentHandler([in] IVBSAXContentHandler * contentHandler);
2343
2344    [propget, id(DISPID_SAX_XMLREADER_DTDHANDLER)]
2345    HRESULT dtdHandler([out, retval] IVBSAXDTDHandler ** pDTDHandler);
2346    [propputref, id(DISPID_SAX_XMLREADER_DTDHANDLER)]
2347    HRESULT dtdHandler([in] IVBSAXDTDHandler * pDTDHandler);
2348
2349    [propget, id(DISPID_SAX_XMLREADER_ERRORHANDLER)]
2350    HRESULT errorHandler([out, retval] IVBSAXErrorHandler ** pErrorHandler);
2351    [propputref, id(DISPID_SAX_XMLREADER_ERRORHANDLER)]
2352    HRESULT errorHandler([in] IVBSAXErrorHandler * errorHandler);
2353
2354    [propget, id(DISPID_SAX_XMLREADER_BASEURL)]
2355    HRESULT baseURL([out, retval] BSTR *pBaseUrl);
2356    [propput, id(DISPID_SAX_XMLREADER_BASEURL)]
2357    HRESULT baseURL([in] BSTR pBaseUrl);
2358
2359    [propget, id(DISPID_SAX_XMLREADER_SECUREBASEURL)]
2360    HRESULT secureBaseURL([out, retval] BSTR *pSecureBaseUrl);
2361    [propput, id(DISPID_SAX_XMLREADER_SECUREBASEURL)]
2362    HRESULT secureBaseURL([in] BSTR secureBaseUrl);
2363
2364    [id(DISPID_SAX_XMLREADER_PARSE)]
2365    HRESULT parse( [in] VARIANT varInput);
2366    [id(DISPID_SAX_XMLREADER_PARSEURL)]
2367    HRESULT parseURL([in] BSTR url);
2368}
2369
2370[
2371    object,
2372    dual,
2373    oleautomation,
2374    uuid(f10d27cc-3ec0-415c-8ed8-77ab1c5e7262)
2375]
2376interface IMXAttributes : IDispatch
2377{
2378    [id(DISPID_MX_ATTRIBUTES_ADDATTRIBUTE)]
2379    HRESULT addAttribute(
2380        [in] BSTR uri,
2381        [in] BSTR localName,
2382        [in] BSTR QName,
2383        [in] BSTR type,
2384        [in] BSTR value);
2385
2386    [id(DISPID_MX_ATTRIBUTES_ADDATTRIBUTEFROMINDEX)]
2387    HRESULT addAttributeFromIndex( [in] VARIANT atts,
2388                                   [in] int index);
2389
2390    [id(DISPID_MX_ATTRIBUTES_CLEAR)]
2391    HRESULT clear();
2392
2393    [id(DISPID_MX_ATTRIBUTES_REMOVEATTRIBUTE)]
2394    HRESULT removeAttribute( [in] int index);
2395
2396    [id(DISPID_MX_ATTRIBUTES_SETATTRIBUTE)]
2397    HRESULT setAttribute(
2398        [in] int index,
2399        [in] BSTR uri,
2400        [in] BSTR localName,
2401        [in] BSTR QName,
2402        [in] BSTR type,
2403        [in] BSTR value);
2404
2405    [id(DISPID_MX_ATTRIBUTES_SETATTRIBUTES)]
2406    HRESULT setAttributes( [in] VARIANT atts);
2407
2408    [id(DISPID_MX_ATTRIBUTES_SETLOCALNAME)]
2409    HRESULT setLocalName( [in] int index,
2410        [in] BSTR localName);
2411
2412    [id(DISPID_MX_ATTRIBUTES_SETQNAME)]
2413    HRESULT setQName(
2414        [in] int index,
2415        [in] BSTR QName);
2416
2417    [id(DISPID_MX_ATTRIBUTES_SETTYPE)]
2418    HRESULT setType( [in] int index, [in] BSTR type);
2419
2420    [id(DISPID_MX_ATTRIBUTES_SETURI)]
2421    HRESULT setURI( [in] int index,  [in] BSTR uri);
2422
2423    [id(DISPID_MX_ATTRIBUTES_SETVALUE)]
2424    HRESULT setValue([in] int index, [in] BSTR value);
2425};
2426
2427[
2428    local,
2429    object,
2430    dual,
2431    oleautomation,
2432    uuid(fa4bb38c-faf9-4cca-9302-d1dd0fe520db)
2433]
2434interface IMXSchemaDeclHandler : IDispatch
2435{
2436    [id(DISPID_MX_SCHEMADECLHANDLER_SCHEMAELEMENTDECL)]
2437    HRESULT schemaElementDecl( [in] ISchemaElement *oSchemaElement );
2438}
2439
2440[
2441    object,
2442    dual,
2443    oleautomation,
2444    uuid(808f4e35-8d5a-4fbe-8466-33a41279ed30)
2445]
2446interface IMXReaderControl : IDispatch
2447{
2448    [id(DISPID_MX_READER_CONTROL_ABORT)]
2449    HRESULT abort();
2450
2451    [id(DISPID_MX_READER_CONTROL_RESUME)]
2452    HRESULT resume();
2453
2454    [id(DISPID_MX_READER_CONTROL_SUSPEND)]
2455    HRESULT suspend();
2456};
2457
2458[
2459    object,
2460    dual,
2461    oleautomation,
2462    uuid(4d7ff4ba-1565-4ea8-94e1-6e724a46f98d)
2463]
2464interface IMXWriter :  IDispatch
2465{
2466    [propput, id(DISPID_MX_WRITER_OUTPUT)]
2467    HRESULT output ( [in] VARIANT Destination);
2468    [propget, id(DISPID_MX_WRITER_OUTPUT)]
2469    HRESULT output ( [out, retval] VARIANT * Destination);
2470
2471    [propput, id(DISPID_MX_WRITER_ENCODING)]
2472    HRESULT encoding ([in] BSTR encoding);
2473    [propget, id(DISPID_MX_WRITER_ENCODING)]
2474    HRESULT encoding ([out, retval] BSTR * encoding);
2475
2476    [propput, id(DISPID_MX_WRITER_BYTEORDERMARK)]
2477    HRESULT byteOrderMark ([in] VARIANT_BOOL writeByteOrderMark);
2478    [propget, id(DISPID_MX_WRITER_BYTEORDERMARK)]
2479    HRESULT byteOrderMark ([out, retval] VARIANT_BOOL * writeByteOrderMark);
2480
2481    [propput, id(DISPID_MX_WRITER_INDENT)]
2482    HRESULT indent ([in] VARIANT_BOOL indentMode);
2483    [propget, id(DISPID_MX_WRITER_INDENT)]
2484    HRESULT indent ([out, retval] VARIANT_BOOL * indentMode);
2485
2486    [propput, id(DISPID_MX_WRITER_STANDALONE)]
2487    HRESULT standalone ([in] VARIANT_BOOL value);
2488    [propget, id(DISPID_MX_WRITER_STANDALONE)]
2489    HRESULT standalone ([out, retval] VARIANT_BOOL * value);
2490
2491    [propput, id(DISPID_MX_WRITER_OMITXMLDECLARATION)]
2492    HRESULT omitXMLDeclaration ([in] VARIANT_BOOL value);
2493    [propget, id(DISPID_MX_WRITER_OMITXMLDECLARATION)]
2494    HRESULT omitXMLDeclaration ([out, retval] VARIANT_BOOL * value);
2495
2496    [propput, id(DISPID_MX_WRITER_VERSION)]
2497    HRESULT version ([in] BSTR version);
2498    [propget, id(DISPID_MX_WRITER_VERSION)]
2499    HRESULT version ([out, retval] BSTR * version);
2500
2501    [propput, id(DISPID_MX_WRITER_DISABLEOUTPUTESCAPING)]
2502    HRESULT disableOutputEscaping([in] VARIANT_BOOL value);
2503    [propget, id(DISPID_MX_WRITER_DISABLEOUTPUTESCAPING)]
2504    HRESULT disableOutputEscaping([out, retval] VARIANT_BOOL * value);
2505
2506    [id(DISPID_MX_WRITER_FLUSH)]
2507    HRESULT flush();
2508};
2509
2510[
2511    local,
2512    object,
2513    dual,
2514    oleautomation,
2515    uuid(c90352f4-643c-4fbc-bb23-e996eb2d51fd)
2516]
2517interface IMXNamespacePrefixes : IDispatch
2518{
2519    [propget, id(DISPID_VALUE)]
2520    HRESULT item(
2521        [in] long index,
2522        [out, retval] BSTR *prefix);
2523
2524    [propget, id(DISPID_MX_NSMGR_LENGTH)]
2525    HRESULT length( [out,retval] long *length );
2526
2527    [propget, restricted, hidden, id(DISPID_NEWENUM)]
2528    HRESULT _newEnum( [out, retval] IUnknown **ppUnk );
2529}
2530
2531[
2532    local,
2533    object,
2534    hidden,
2535    uuid(c90352f6-643c-4fbc-bb23-e996eb2d51fd)
2536]
2537interface IMXNamespaceManager : IUnknown
2538{
2539    HRESULT putAllowOverride([in] VARIANT_BOOL fOverride);
2540
2541    HRESULT getAllowOverride([out, retval] VARIANT_BOOL *fOverride);
2542
2543    HRESULT reset();
2544
2545    HRESULT pushContext();
2546
2547    HRESULT pushNodeContext(
2548        [in] IXMLDOMNode *contextNode,
2549        [in] VARIANT_BOOL fDeep);
2550
2551    HRESULT popContext();
2552
2553    HRESULT declarePrefix(
2554        [in] const WCHAR *prefix,
2555        [in] const WCHAR *namespaceURI);
2556
2557    HRESULT getDeclaredPrefix(
2558        [in] long nIndex,
2559        [in, out] WCHAR *pwchPrefix,
2560        [in, out] int *pcchPrefix);
2561
2562    HRESULT getPrefix(
2563        [in] const WCHAR *pwszNamespaceURI,
2564        [in] long nIndex,
2565        [in, out] WCHAR *pwchPrefix,
2566        [in, out] int *pcchPrefix);
2567
2568    HRESULT getURI(
2569        [in] const WCHAR *pwchPrefix,
2570        [in] IXMLDOMNode* pContextNode,
2571        [in, out] WCHAR *pwchUri,
2572        [in, out] int *pcchUri);
2573}
2574
2575[
2576    local,
2577    object,
2578    dual,
2579    oleautomation,
2580    uuid(c90352f5-643c-4fbc-bb23-e996eb2d51fd)
2581]
2582interface IVBMXNamespaceManager : IDispatch
2583{
2584    [propput, id(DISPID_MX_NSMGR_ALLOWOVERRIDE)]
2585    HRESULT allowOverride([in] VARIANT_BOOL fOverride);
2586
2587    [propget, id(DISPID_MX_NSMGR_ALLOWOVERRIDE)]
2588    HRESULT allowOverride([out,retval] VARIANT_BOOL* fOverride);
2589
2590    [id(DISPID_MX_NSMGR_RESET)]
2591    HRESULT reset();
2592
2593    [id(DISPID_MX_NSMGR_PUSHCONTEXT)]
2594    HRESULT pushContext();
2595
2596    [id(DISPID_MX_NSMGR_PUSHNODECONTEXT)]
2597    HRESULT pushNodeContext(
2598        [in] IXMLDOMNode* contextNode,
2599        [in, defaultvalue(-1)] VARIANT_BOOL fDeep);
2600
2601    [id(DISPID_MX_NSMGR_POPCONTEXT)]
2602    HRESULT popContext();
2603
2604    [id(DISPID_MX_NSMGR_DECLAREPREFIX)]
2605    HRESULT declarePrefix(
2606        [in] BSTR prefix,
2607        [in] BSTR namespaceURI);
2608
2609    [id(DISPID_MX_NSMGR_GETDECLAREDPREFIXES)]
2610    HRESULT getDeclaredPrefixes([out, retval] IMXNamespacePrefixes** prefixes);
2611
2612    [id(DISPID_MX_NSMGR_GETPREFIXES)]
2613    HRESULT getPrefixes(
2614        [in] BSTR namespaceURI,
2615        [out, retval] IMXNamespacePrefixes** prefixes);
2616
2617    [id(DISPID_MX_NSMGR_GETURI)]
2618    HRESULT getURI(
2619        [in] BSTR prefix,
2620        [out, retval] VARIANT* uri);
2621
2622    [id(DISPID_MX_NSMGR_GETURIFROMNODE)]
2623    HRESULT getURIFromNode(
2624        [in] BSTR strPrefix,
2625        [in] IXMLDOMNode* contextNode,
2626        [out, retval] VARIANT* uri);
2627}
2628
2629[
2630    local,
2631    object,
2632    dual,
2633    oleautomation,
2634    uuid(c90352f7-643c-4fbc-bb23-e996eb2d51fd)
2635]
2636interface IMXXMLFilter : IDispatch
2637{
2638    [id(DISPID_MXXML_FILTER_GETFEATURE)]
2639    HRESULT getFeature(
2640        [in] BSTR strName,
2641        [out, retval] VARIANT_BOOL * fValue);
2642
2643    [id(DISPID_MXXML_FILTER_PUTFEATURE)]
2644    HRESULT putFeature(
2645        [in] BSTR strName,
2646        [in] VARIANT_BOOL fValue);
2647
2648    [id(DISPID_MXXML_FILTER_GETPROPERTY)]
2649    HRESULT getProperty(
2650        [in] BSTR strName,
2651        [out, retval] VARIANT * varValue);
2652
2653    [id(DISPID_MXXML_FILTER_PUTPROPERTY)]
2654    HRESULT putProperty(
2655        [in] BSTR strName,
2656        [in] VARIANT varValue);
2657
2658    [id(DISPID_MXXML_FILTER_ENTITYRESOLVER), propget]
2659    HRESULT entityResolver( [out, retval] IUnknown **oResolver );
2660
2661    [id(DISPID_MXXML_FILTER_ENTITYRESOLVER), propputref]
2662    HRESULT entityResolver( [in] IUnknown *oResolver );
2663
2664    [id(DISPID_MXXML_FILTER_CONTENTHANDLER), propget]
2665    HRESULT contentHandler( [out, retval] IUnknown **oHandler );
2666
2667    [id(DISPID_MXXML_FILTER_CONTENTHANDLER), propputref]
2668    HRESULT contentHandler( [in] IUnknown *oHandler );
2669
2670    [id(DISPID_MXXML_FILTER_DTDHANDLER), propget]
2671    HRESULT dtdHandler( [out, retval] IUnknown **oHandler );
2672
2673    [id(DISPID_MXXML_FILTER_DTDHANDLER), propputref]
2674    HRESULT dtdHandler( [in] IUnknown *oHandler );
2675
2676    [id(DISPID_MXXML_FILTER_ERRORHANDLER), propget]
2677    HRESULT errorHandler( [out, retval] IUnknown **oHandler );
2678
2679    [id(DISPID_MXXML_FILTER_ERRORHANDLER), propputref]
2680    HRESULT errorHandler( [in] IUnknown *oHandler );
2681}
2682
2683[
2684    local,
2685    object,
2686    uuid(50ea08b1-dd1b-4664-9a50-c2f40f4bd79a),
2687    oleautomation,
2688    dual
2689]
2690interface ISchemaStringCollection : IDispatch
2691{
2692    [id(DISPID_VALUE), propget]
2693    HRESULT item(
2694        [in] long index,
2695        [out,retval] BSTR* bstr);
2696
2697    [id(DISPID_SOM_LENGTH), propget]
2698    HRESULT length(
2699        [out,retval] long* length);
2700
2701    [id(DISPID_NEWENUM), hidden, restricted, propget]
2702    HRESULT _newEnum(
2703        [out,retval] IUnknown** ppunk);
2704};
2705
2706[
2707    local,
2708    object,
2709    uuid(50ea08b2-dd1b-4664-9a50-c2f40f4bd79a),
2710    oleautomation,
2711    dual
2712]
2713interface ISchemaItemCollection : IDispatch
2714{
2715    [id(DISPID_VALUE), propget]
2716    HRESULT item(
2717        [in] long index,
2718        [out,retval]ISchemaItem** item);
2719
2720    [id(DISPID_SOM_ITEMBYNAME)]
2721    HRESULT itemByName(
2722        [in] BSTR name,
2723        [out,retval] ISchemaItem** item);
2724
2725    [id(DISPID_SOM_ITEMBYQNAME)]
2726    HRESULT itemByQName(
2727        [in] BSTR name,
2728        [in] BSTR namespaceURI,
2729        [out,retval] ISchemaItem** item);
2730
2731    [id(DISPID_SOM_LENGTH), propget]
2732    HRESULT length(
2733        [out,retval]long* length);
2734
2735    [id(DISPID_NEWENUM), hidden, restricted, propget]
2736    HRESULT _newEnum(
2737        [out,retval]IUnknown** ppunk);
2738};
2739
2740[
2741    local,
2742    object,
2743    uuid(50ea08b3-dd1b-4664-9a50-c2f40f4bd79a),
2744    oleautomation,
2745    dual
2746]
2747interface ISchemaItem : IDispatch
2748{
2749    [id(DISPID_SOM_NAME), propget]
2750    HRESULT name(
2751        [out,retval] BSTR* name);
2752
2753    [id(DISPID_SOM_NAMESPACEURI), propget]
2754    HRESULT namespaceURI(
2755        [out,retval] BSTR* namespaceURI);
2756
2757    [id(DISPID_SOM_SCHEMA), propget]
2758    HRESULT schema(
2759        [out,retval] ISchema** schema);
2760
2761    [id(DISPID_SOM_ID), propget]
2762    HRESULT id(
2763        [out,retval] BSTR* id);
2764
2765    [id(DISPID_SOM_ITEMTYPE), propget]
2766    HRESULT itemType(
2767        [out,retval] SOMITEMTYPE* itemType);
2768
2769    [id(DISPID_SOM_UNHANDLEDATTRS), propget]
2770    HRESULT unhandledAttributes(
2771        [out,retval] IVBSAXAttributes** attributes);
2772
2773    [id(DISPID_SOM_WRITEANNOTATION)]
2774    HRESULT writeAnnotation(
2775        [in] IUnknown* annotationSink,
2776        [out,retval] VARIANT_BOOL* isWritten);
2777};
2778
2779[
2780    local,
2781    object,
2782    uuid(50ea08b4-dd1b-4664-9a50-c2f40f4bd79a),
2783    oleautomation,
2784    dual
2785]
2786interface ISchema : ISchemaItem
2787{
2788    [id(DISPID_SOM_TARGETNAMESPACE), propget]
2789    HRESULT targetNamespace(
2790        [out,retval] BSTR* targetNamespace);
2791
2792    [id(DISPID_SOM_VERSION), propget]
2793    HRESULT version(
2794        [out,retval] BSTR* version);
2795
2796    [id(DISPID_SOM_TYPES), propget]
2797    HRESULT types(
2798        [out,retval] ISchemaItemCollection** types);
2799
2800    [id(DISPID_SOM_ELEMENTS), propget]
2801    HRESULT elements(
2802        [out,retval] ISchemaItemCollection** elements);
2803
2804    [id(DISPID_SOM_ATTRIBUTES), propget]
2805    HRESULT attributes(
2806        [out,retval] ISchemaItemCollection** attributes);
2807
2808    [id(DISPID_SOM_ATTRIBUTEGROUPS), propget]
2809    HRESULT attributeGroups(
2810        [out,retval] ISchemaItemCollection** attributeGroups);
2811
2812    [id(DISPID_SOM_MODELGROUPS), propget]
2813    HRESULT modelGroups(
2814        [out,retval] ISchemaItemCollection** modelGroups);
2815
2816    [id(DISPID_SOM_NOTATIONS), propget]
2817    HRESULT notations(
2818        [out,retval] ISchemaItemCollection** notations);
2819
2820    [id(DISPID_SOM_SCHEMALOCATIONS), propget]
2821    HRESULT schemaLocations(
2822        [out,retval] ISchemaStringCollection** schemaLocations);
2823};
2824
2825[
2826    local,
2827    object,
2828    uuid(50ea08b5-dd1b-4664-9a50-c2f40f4bd79a),
2829    oleautomation,
2830    dual
2831]
2832interface ISchemaParticle : ISchemaItem
2833{
2834    [id(DISPID_SOM_MINOCCURS), propget]
2835    HRESULT minOccurs(
2836        [out,retval] VARIANT* minOccurs);
2837
2838    [id(DISPID_SOM_MAXOCCURS), propget]
2839    HRESULT maxOccurs(
2840        [out,retval] VARIANT* maxOccurs);
2841};
2842
2843[
2844    object,
2845    uuid(50ea08b6-dd1b-4664-9a50-c2f40f4bd79a),
2846    oleautomation,
2847    dual,
2848]
2849interface ISchemaAttribute : ISchemaItem
2850{
2851    [id(DISPID_SOM_TYPE), propget]
2852    HRESULT type(
2853        [out,retval] ISchemaType** type);
2854
2855    [id(DISPID_SOM_SCOPE), propget]
2856    HRESULT scope(
2857        [out,retval] ISchemaComplexType** scope);
2858
2859    [id(DISPID_SOM_DEFAULTVALUE), propget]
2860    HRESULT defaultValue(
2861        [out,retval]BSTR* defaultValue);
2862
2863    [id(DISPID_SOM_FIXEDVALUE), propget]
2864    HRESULT fixedValue(
2865        [out,retval] BSTR* fixedValue);
2866
2867    [id(DISPID_SOM_USE), propget]
2868    HRESULT use(
2869        [out,retval] SCHEMAUSE* use);
2870
2871    [id(DISPID_SOM_ISREFERENCE), propget]
2872    HRESULT isReference(
2873        [out,retval] VARIANT_BOOL* reference);
2874};
2875
2876[
2877    local,
2878    object,
2879    uuid(50ea08b7-dd1b-4664-9a50-c2f40f4bd79a),
2880    oleautomation,
2881    dual
2882]
2883interface ISchemaElement : ISchemaParticle
2884{
2885    [id(DISPID_SOM_TYPE), propget]
2886    HRESULT type(
2887        [out,retval] ISchemaType** type);
2888
2889    [id(DISPID_SOM_SCOPE), propget]
2890    HRESULT scope(
2891        [out,retval] ISchemaComplexType** scope);
2892
2893    [id(DISPID_SOM_DEFAULTVALUE), propget]
2894    HRESULT defaultValue(
2895        [out,retval] BSTR* defaultValue);
2896
2897    [id(DISPID_SOM_FIXEDVALUE), propget]
2898    HRESULT fixedValue(
2899        [out,retval] BSTR* fixedValue);
2900
2901    [id(DISPID_SOM_ISNILLABLE), propget]
2902    HRESULT isNillable(
2903        [out,retval] VARIANT_BOOL* nillable);
2904
2905    [id(DISPID_SOM_IDCONSTRAINTS), propget]
2906    HRESULT identityConstraints(
2907        [out,retval] ISchemaItemCollection** constraints);
2908
2909    [id(DISPID_SOM_SUBSTITUTIONGROUP), propget]
2910    HRESULT substitutionGroup(
2911        [out,retval] ISchemaElement** element);
2912
2913    [id(DISPID_SOM_EXCLUSIONS), propget]
2914    HRESULT substitutionGroupExclusions(
2915        [out,retval] SCHEMADERIVATIONMETHOD* exclusions);
2916
2917    [id(DISPID_SOM_DISALLOWED), propget]
2918    HRESULT disallowedSubstitutions(
2919        [out,retval] SCHEMADERIVATIONMETHOD* disallowed);
2920
2921    [id(DISPID_SOM_ISABSTRACT), propget]
2922    HRESULT isAbstract(
2923        [out,retval] VARIANT_BOOL* abstract);
2924
2925    [id(DISPID_SOM_ISREFERENCE), propget]
2926    HRESULT isReference(
2927        [out,retval] VARIANT_BOOL* reference);
2928};
2929
2930[
2931    local,
2932    object,
2933    uuid(50ea08b8-dd1b-4664-9a50-c2f40f4bd79a),
2934    oleautomation,
2935    dual
2936]
2937interface ISchemaType : ISchemaItem
2938{
2939    [id(DISPID_SOM_BASETYPES), propget]
2940    HRESULT baseTypes(
2941        [out,retval] ISchemaItemCollection** baseTypes);
2942
2943    [id(DISPID_SOM_FINAL), propget]
2944    HRESULT final(
2945        [out,retval] SCHEMADERIVATIONMETHOD* final);
2946
2947    [id(DISPID_SOM_VARIETY), propget]
2948    HRESULT variety(
2949        [out,retval] SCHEMATYPEVARIETY* variety);
2950
2951    [id(DISPID_SOM_DERIVEDBY), propget]
2952    HRESULT derivedBy(
2953        [out,retval] SCHEMADERIVATIONMETHOD* derivedBy);
2954
2955    [id(DISPID_SOM_ISVALID)]
2956    HRESULT isValid(
2957        [in] BSTR data,
2958        [out,retval] VARIANT_BOOL* valid);
2959
2960    [id(DISPID_SOM_MINEXCLUSIVE), propget]
2961    HRESULT minExclusive(
2962        [out,retval]BSTR* minExclusive);
2963
2964    [id(DISPID_SOM_MININCLUSIVE), propget]
2965    HRESULT minInclusive(
2966        [out,retval] BSTR* minInclusive);
2967
2968    [id(DISPID_SOM_MAXEXCLUSIVE), propget]
2969    HRESULT maxExclusive(
2970        [out,retval] BSTR* maxExclusive);
2971
2972    [id(DISPID_SOM_MAXINCLUSIVE), propget]
2973    HRESULT maxInclusive(
2974        [out,retval] BSTR* maxInclusive);
2975
2976    [id(DISPID_SOM_TOTALDIGITS), propget]
2977    HRESULT totalDigits(
2978        [out,retval] VARIANT* totalDigits);
2979
2980    [id(DISPID_SOM_FRACTIONDIGITS), propget]
2981    HRESULT fractionDigits(
2982        [out,retval] VARIANT* fractionDigits);
2983
2984    [id(DISPID_SOM_LENGTH), propget]
2985    HRESULT length(
2986        [out,retval] VARIANT* length);
2987
2988    [id(DISPID_SOM_MINLENGTH), propget]
2989    HRESULT minLength(
2990        [out,retval]VARIANT* minLength);
2991
2992    [id(DISPID_SOM_MAXLENGTH), propget]
2993    HRESULT maxLength(
2994        [out,retval]VARIANT* maxLength);
2995
2996    [id(DISPID_SOM_ENUMERATION), propget]
2997    HRESULT enumeration(
2998        [out,retval] ISchemaStringCollection** enumeration);
2999
3000    [id(DISPID_SOM_WHITESPACE), propget]
3001    HRESULT whitespace(
3002        [out,retval]SCHEMAWHITESPACE* whitespace);
3003
3004    [id(DISPID_SOM_PATTERNS), propget]
3005    HRESULT patterns(
3006        [out,retval] ISchemaStringCollection** patterns);
3007};
3008
3009[
3010    local,
3011    object,
3012    uuid(50ea08b9-dd1b-4664-9a50-c2f40f4bd79a),
3013    oleautomation,
3014    dual,
3015]
3016interface ISchemaComplexType : ISchemaType
3017{
3018    [id(DISPID_SOM_ISABSTRACT), propget]
3019    HRESULT isAbstract(
3020        [out,retval] VARIANT_BOOL* abstract);
3021
3022    [id(DISPID_SOM_ANYATTRIBUTE), propget]
3023    HRESULT anyAttribute(
3024        [out,retval] ISchemaAny** anyAttribute);
3025
3026    [id(DISPID_SOM_ATTRIBUTES), propget]
3027    HRESULT attributes(
3028        [out,retval] ISchemaItemCollection** attributes);
3029
3030    [id(DISPID_SOM_CONTENTTYPE), propget]
3031    HRESULT contentType(
3032        [out,retval] SCHEMACONTENTTYPE* contentType);
3033
3034    [id(DISPID_SOM_CONTENTMODEL), propget]
3035    HRESULT contentModel(
3036        [out,retval] ISchemaModelGroup** contentModel);
3037
3038    [id(DISPID_SOM_PROHIBITED), propget]
3039    HRESULT prohibitedSubstitutions(
3040        [out,retval] SCHEMADERIVATIONMETHOD* prohibited);
3041};
3042
3043[
3044    local,
3045    object,
3046    uuid(50ea08ba-dd1b-4664-9a50-c2f40f4bd79a),
3047    oleautomation,
3048    dual,
3049]
3050interface ISchemaAttributeGroup : ISchemaItem
3051{
3052    [id(DISPID_SOM_ANYATTRIBUTE), propget]
3053    HRESULT anyAttribute(
3054        [out,retval] ISchemaAny** anyAttribute);
3055
3056    [id(DISPID_SOM_ATTRIBUTES), propget]
3057        HRESULT attributes(
3058            [out,retval] ISchemaItemCollection** attributes);
3059};
3060
3061[
3062    local,
3063    object,
3064    uuid(50ea08bb-dd1b-4664-9a50-c2f40f4bd79a),
3065    oleautomation,
3066    dual,
3067]
3068interface ISchemaModelGroup : ISchemaParticle
3069{
3070    [id(DISPID_SOM_PARTICLES), propget]
3071    HRESULT particles(
3072        [out,retval] ISchemaItemCollection** particles);
3073};
3074
3075[
3076    local,
3077    object,
3078    uuid(50ea08bc-dd1b-4664-9a50-c2f40f4bd79a),
3079    oleautomation,
3080    dual
3081]
3082interface ISchemaAny : ISchemaParticle
3083{
3084    [id(DISPID_SOM_NAMESPACES), propget]
3085    HRESULT namespaces(
3086        [out,retval] ISchemaStringCollection** namespaces);
3087
3088    [id(DISPID_SOM_PROCESSCONTENTS), propget]
3089    HRESULT processContents(
3090        [out,retval] SCHEMAPROCESSCONTENTS* processContents);
3091};
3092
3093[
3094    local,
3095    object,
3096    uuid(50ea08bd-dd1b-4664-9a50-c2f40f4bd79a),
3097    oleautomation,
3098    dual
3099]
3100interface ISchemaIdentityConstraint : ISchemaItem
3101{
3102    [id(DISPID_SOM_SELECTOR), propget]
3103    HRESULT selector(
3104        [out,retval] BSTR* selector);
3105
3106    [id(DISPID_SOM_FIELDS), propget]
3107        HRESULT fields(
3108            [out,retval] ISchemaStringCollection** fields);
3109
3110    [id(DISPID_SOM_REFERENCEDKEY), propget]
3111    HRESULT referencedKey(
3112        [out,retval] ISchemaIdentityConstraint** key);
3113};
3114
3115[
3116    local,
3117    object,
3118    uuid(50ea08be-dd1b-4664-9a50-c2f40f4bd79a),
3119    oleautomation,
3120    dual
3121]
3122interface ISchemaNotation : ISchemaItem
3123{
3124    [id(DISPID_SOM_SYSTEMIDENTIFIER), propget]
3125    HRESULT systemIdentifier(
3126        [out,retval] BSTR* uri);
3127
3128    [id(DISPID_SOM_PUBLICIDENTIFIER), propget]
3129    HRESULT publicIdentifier(
3130        [out,retval] BSTR* uri);
3131};
3132
3133
3134[
3135    uuid(079aa557-4a18-424a-8eee-e39f0a8d41b9)
3136]
3137coclass SAXXMLReader
3138{
3139    [default] interface IVBSAXXMLReader;
3140    interface ISAXXMLReader;
3141    interface IMXReaderControl;
3142};
3143
3144[
3145    uuid(3124c396-fb13-4836-a6ad-1317f1713688)
3146]
3147coclass SAXXMLReader30
3148{
3149    [default] interface IVBSAXXMLReader;
3150    interface ISAXXMLReader;
3151    interface IMXReaderControl;
3152};
3153
3154[
3155    uuid(7c6e29bc-8b8b-4c3d-859e-af6cd158be0f)
3156]
3157coclass SAXXMLReader40
3158{
3159    [default] interface IVBSAXXMLReader;
3160    interface ISAXXMLReader;
3161}
3162
3163[
3164    helpstring("SAX XML Reader 6.0"),
3165    progid("Msxml2.SAXXMLReader.6.0"),
3166    threading(both),
3167    uuid(88d96a0c-f192-11d4-a65f-0040963251e5)
3168]
3169coclass SAXXMLReader60
3170{
3171    [default] interface IVBSAXXMLReader;
3172    interface ISAXXMLReader;
3173}
3174
3175[
3176    uuid(a4c23ec3-6b70-4466-9127-550077239978)
3177]
3178coclass MXHTMLWriter
3179{
3180    [default] interface IMXWriter;
3181
3182    interface ISAXContentHandler;
3183    interface ISAXErrorHandler;
3184    interface ISAXDTDHandler;
3185    interface ISAXLexicalHandler;
3186    interface ISAXDeclHandler;
3187
3188    interface IVBSAXContentHandler;
3189    interface IVBSAXDeclHandler;
3190    interface IVBSAXDTDHandler;
3191    interface IVBSAXErrorHandler;
3192    interface IVBSAXLexicalHandler;
3193}
3194
3195[
3196    uuid(853d1540-c1a7-4aa9-a226-4d3bd301146d)
3197]
3198coclass MXHTMLWriter30
3199{
3200    [default] interface IMXWriter;
3201
3202    interface ISAXContentHandler;
3203    interface ISAXDeclHandler;
3204    interface ISAXDTDHandler;
3205    interface ISAXErrorHandler;
3206    interface ISAXLexicalHandler;
3207
3208    interface IVBSAXContentHandler;
3209    interface IVBSAXDeclHandler;
3210    interface IVBSAXDTDHandler;
3211    interface IVBSAXErrorHandler;
3212    interface IVBSAXLexicalHandler;
3213}
3214
3215[
3216    uuid(88d969c9-f192-11d4-a65f-0040963251e5)
3217]
3218coclass MXHTMLWriter40
3219{
3220    [default] interface IMXWriter;
3221
3222    interface ISAXContentHandler;
3223    interface ISAXDeclHandler;
3224    interface ISAXDTDHandler;
3225    interface ISAXErrorHandler;
3226    interface ISAXLexicalHandler;
3227
3228    interface IVBSAXContentHandler;
3229    interface IVBSAXDeclHandler;
3230    interface IVBSAXDTDHandler;
3231    interface IVBSAXErrorHandler;
3232    interface IVBSAXLexicalHandler;
3233}
3234
3235[
3236    helpstring("MXHTMLWriter 6.0"),
3237    progid("Msxml2.MXHTMLWriter.6.0"),
3238    threading(both),
3239    uuid(88d96a10-f192-11d4-a65f-0040963251e5)
3240]
3241coclass MXHTMLWriter60
3242{
3243    [default] interface IMXWriter;
3244
3245    interface ISAXContentHandler;
3246    interface ISAXDeclHandler;
3247    interface ISAXDTDHandler;
3248    interface ISAXErrorHandler;
3249    interface ISAXLexicalHandler;
3250
3251    interface IVBSAXContentHandler;
3252    interface IVBSAXDeclHandler;
3253    interface IVBSAXDTDHandler;
3254    interface IVBSAXErrorHandler;
3255    interface IVBSAXLexicalHandler;
3256}
3257
3258[
3259    uuid(fc220ad8-a72a-4ee8-926e-0b7ad152a020)
3260]
3261coclass MXXMLWriter
3262{
3263    [default] interface IMXWriter;
3264
3265    interface ISAXContentHandler;
3266    interface ISAXErrorHandler;
3267    interface ISAXDTDHandler;
3268    interface ISAXLexicalHandler;
3269    interface ISAXDeclHandler;
3270
3271    interface IVBSAXContentHandler;
3272    interface IVBSAXDeclHandler;
3273    interface IVBSAXDTDHandler;
3274    interface IVBSAXErrorHandler;
3275    interface IVBSAXLexicalHandler;
3276};
3277
3278[
3279    uuid(3d813dfe-6c91-4a4e-8f41-04346a841d9c)
3280]
3281coclass MXXMLWriter30
3282{
3283    [default] interface IMXWriter;
3284
3285    interface ISAXContentHandler;
3286    interface ISAXDeclHandler;
3287    interface ISAXDTDHandler;
3288    interface ISAXErrorHandler;
3289    interface ISAXLexicalHandler;
3290
3291    interface IVBSAXContentHandler;
3292    interface IVBSAXDeclHandler;
3293    interface IVBSAXDTDHandler;
3294    interface IVBSAXErrorHandler;
3295    interface IVBSAXLexicalHandler;
3296};
3297
3298[
3299    uuid(88d969c8-f192-11d4-a65f-0040963251e5),
3300]
3301coclass MXXMLWriter40
3302{
3303    [default] interface IMXWriter;
3304
3305    interface ISAXContentHandler;
3306    interface ISAXDeclHandler;
3307    interface ISAXDTDHandler;
3308    interface ISAXErrorHandler;
3309    interface ISAXLexicalHandler;
3310
3311    interface IVBSAXContentHandler;
3312    interface IVBSAXDeclHandler;
3313    interface IVBSAXDTDHandler;
3314    interface IVBSAXErrorHandler;
3315    interface IVBSAXLexicalHandler;
3316}
3317
3318[
3319    helpstring("MXXMLWriter 6.0"),
3320    progid("Msxml2.MXXMLWriter.6.0"),
3321    threading(both),
3322    uuid(88d96a0f-f192-11d4-a65f-0040963251e5)
3323]
3324coclass MXXMLWriter60
3325{
3326    [default] interface IMXWriter;
3327
3328    interface ISAXContentHandler;
3329    interface ISAXDeclHandler;
3330    interface ISAXDTDHandler;
3331    interface ISAXErrorHandler;
3332    interface ISAXLexicalHandler;
3333
3334    interface IVBSAXContentHandler;
3335    interface IVBSAXDeclHandler;
3336    interface IVBSAXDTDHandler;
3337    interface IVBSAXErrorHandler;
3338    interface IVBSAXLexicalHandler;
3339}
3340
3341[
3342    uuid(88d969d5-f192-11d4-a65f-0040963251e5)
3343]
3344coclass MXNamespaceManager
3345{
3346    [default] interface IVBMXNamespaceManager;
3347    interface IMXNamespaceManager;
3348}
3349
3350[
3351    uuid(88d969d6-f192-11d4-a65f-0040963251e5)
3352]
3353coclass MXNamespaceManager40
3354{
3355    [default] interface IVBMXNamespaceManager;
3356    interface IMXNamespaceManager;
3357}
3358
3359[
3360    helpstring("MXNamespaceManager 6.0"),
3361    progid("Msxml2.MXNamespaceManager.6.0"),
3362    threading(both),
3363    uuid(88d96a11-f192-11d4-a65f-0040963251e5)
3364]
3365coclass MXNamespaceManager60
3366{
3367    [default] interface IVBMXNamespaceManager;
3368    interface IMXNamespaceManager;
3369}
3370
3371[
3372    uuid(4dd441ad-526d-4a77-9f1b-9841ed802fb0)
3373]
3374coclass SAXAttributes
3375{
3376    [default] interface IMXAttributes;
3377    interface IVBSAXAttributes;
3378    interface ISAXAttributes;
3379}
3380
3381[
3382    uuid(3e784a01-f3ae-4dc0-9354-9526b9370eba)
3383]
3384coclass SAXAttributes30
3385{
3386    [default] interface IMXAttributes;
3387    interface IVBSAXAttributes;
3388    interface ISAXAttributes;
3389}
3390
3391[
3392    uuid(88d969ca-f192-11d4-a65f-0040963251e5),
3393]
3394coclass SAXAttributes40
3395{
3396    [default] interface IMXAttributes;
3397    interface IVBSAXAttributes;
3398    interface ISAXAttributes;
3399}
3400
3401[
3402    helpstring("SAXAttributes 6.0"),
3403    progid("Msxml2.SAXAttributes.6.0"),
3404    threading(both),
3405    uuid(88d96a0e-f192-11d4-a65f-0040963251e5)
3406]
3407coclass SAXAttributes60
3408{
3409    [default] interface IMXAttributes;
3410    interface IVBSAXAttributes;
3411    interface ISAXAttributes;
3412}
3413
3414/*
3415 * Error Codes
3416 */
3417cpp_quote("#define E_XML_NOTWF              0xC00CE223")
3418cpp_quote("#define E_XML_NODTD              0xC00CE224")
3419cpp_quote("#define E_XML_INVALID            0xC00CE225")
3420cpp_quote("#define E_XML_BUFFERTOOSMALL     0xC00CE226")
3421
3422} /* Library MSXML */
3423