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