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