push 7b30519979490489283b8c9fd6a7de5d4bea772e
[wine/hacks.git] / include / msxml.idl
blobff5cc49898186c8000e43604f371f8adb399376a
1 /*
2 * Copyright (C) 2005 Mike McCormack
3 * Copyright (C) 2005 Vijay Kiran Kamuju
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #include <msxmldid.h>
22 #ifndef DO_NO_IMPORTS
23 import "unknwn.idl";
24 import "wtypes.idl";
25 import "objidl.idl";
26 import "oaidl.idl";
27 #endif
30 local,
31 object,
32 odl,
33 dual,
34 oleautomation,
35 uuid(65725580-9b5d-11d0-9bfe-00c04fc99c8e)
37 interface IXMLElementCollection : IDispatch
39 [propput, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)]
40 HRESULT length( [in] long v );
42 [propget, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)]
43 HRESULT length( [retval, out] long *p );
45 [propget, id(DISPID_XMLELEMENTCOLLECTION_NEWENUM)]
46 HRESULT _newEnum( [retval, out] IUnknown ** ppUnk );
48 [id(DISPID_XMLELEMENTCOLLECTION_ITEM)]
49 HRESULT item(
50 [optional, in] VARIANT var1,
51 [optional, in] VARIANT var2,
52 [retval, out] IDispatch ** ppDisp );
56 local,
57 object,
58 uuid(3f7f31ac-e15f-11d0-9c25-00c04fc99c8e)
60 interface IXMLElement : IDispatch
62 [propget, id(DISPID_XMLELEMENT_TAGNAME)]
63 HRESULT tagName( [retval, out] BSTR *p);
65 [propput, id(DISPID_XMLELEMENT_TAGNAME)]
66 HRESULT tagName( [in] BSTR p );
68 [propget, id(DISPID_XMLELEMENT_PARENT)]
69 HRESULT parent( [retval, out] IXMLElement **parent );
71 [id(DISPID_XMLELEMENT_SETATTRIBUTE)]
72 HRESULT setAttribute(
73 [in] BSTR strPropertyName,
74 [in] VARIANT PropertyValue );
76 [id(DISPID_XMLELEMENT_GETATTRIBUTE)]
77 HRESULT getAttribute(
78 [in] BSTR strPropertyName,
79 [retval, out] VARIANT *PropertyValue );
81 [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE)]
82 HRESULT removeAttribute(
83 [in] BSTR strPropertyName );
85 [propget, id(DISPID_XMLELEMENT_CHILDREN)]
86 HRESULT children( [retval, out] IXMLElementCollection **p );
88 [propget, id(DISPID_XMLELEMENT_TYPE)]
89 HRESULT type( [retval, out] long *p );
91 [propget, id(DISPID_XMLELEMENT_TEXT)]
92 HRESULT text( [retval, out] BSTR *p );
94 [propput, id(DISPID_XMLELEMENT_TEXT)]
95 HRESULT text( [in] BSTR p );
97 [id(DISPID_XMLELEMENT_ADDCHILD)]
98 HRESULT addChild(
99 [in] IXMLElement *pChildElem,
100 [in] long lIndex,
101 [in] long lreserved );
103 [id(DISPID_XMLELEMENT_REMOVECHILD)]
104 HRESULT removeChild(
105 [in] IXMLElement *pChildElem );
109 local,
110 object,
111 uuid(f52e2b61-18a1-11d1-b105-00805f49916b)
113 interface IXMLDocument : IDispatch
115 [propget, id(DISPID_XMLDOCUMENT_ROOT)]
116 HRESULT root( [retval, out] IXMLElement **p );
118 [propget, id(DISPID_XMLDOCUMENT_FILESIZE)]
119 HRESULT fileSize( [retval, out] BSTR *p );
121 [propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)]
122 HRESULT fileModifiedDate( [retval, out] BSTR *p );
124 [propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)]
125 HRESULT fileUpdatedDate( [retval, out] BSTR *p );
127 [propget, id(DISPID_XMLDOCUMENT_URL)]
128 HRESULT URL( [retval, out] BSTR *p );
130 [propput, id(DISPID_XMLDOCUMENT_URL)]
131 HRESULT URL( [in] BSTR p );
133 [propget, id(DISPID_XMLDOCUMENT_MIMETYPE)]
134 HRESULT mimeType( [retval, out] BSTR *p );
136 [propget, id(DISPID_XMLDOCUMENT_READYSTATE)]
137 HRESULT readyState( [retval, out] long *p );
139 [propget, id(DISPID_XMLDOCUMENT_CHARSET)]
140 HRESULT charset( [retval, out] BSTR *p );
142 [propput, id(DISPID_XMLDOCUMENT_CHARSET)]
143 HRESULT charset( [in] BSTR p );
145 [propget, id(DISPID_XMLDOCUMENT_VERSION)]
146 HRESULT version( [retval, out] BSTR *p );
148 [propget, id(DISPID_XMLDOCUMENT_DOCTYPE)]
149 HRESULT doctype( [retval, out] BSTR *p );
151 [propget, id(DISPID_XMLDOCUMENT_DTDURL)]
152 HRESULT dtdURl( [retval, out] BSTR *p );
154 [id(DISPID_XMLDOCUMENT_CREATEELEMENT)]
155 HRESULT createElement(
156 [in] VARIANT vType,
157 [optional, in] VARIANT var1,
158 [retval, out] IXMLElement **ppElem );
162 local,
163 object,
164 uuid(2B8DE2FF-8D2D-11d1-B2FC-00C04FD915A9)
166 interface IXMLElement2 : IDispatch
168 [propget, id(DISPID_XMLELEMENT_TAGNAME)]
169 HRESULT tagName([retval, out] BSTR *p);
171 [propput, id(DISPID_XMLELEMENT_TAGNAME)]
172 HRESULT tagName([in] BSTR p);
174 [propget, id(DISPID_XMLELEMENT_PARENT)]
175 HRESULT parent([retval, out]IXMLElement2 **ppParent);
177 [id(DISPID_XMLELEMENT_SETATTRIBUTE)]
178 HRESULT setAttribute(
179 [in] BSTR strPropertyName,
180 [in] VARIANT PropertyValue);
182 [id(DISPID_XMLELEMENT_GETATTRIBUTE)]
183 HRESULT getAttribute(
184 [in] BSTR strPropertyName,
185 [retval, out] VARIANT *PropertyValue);
187 [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE)]
188 HRESULT removeAttribute([in] BSTR strPropertyName);
190 [propget, id(DISPID_XMLELEMENT_CHILDREN)]
191 HRESULT children([retval, out] IXMLElementCollection **pp);
193 [propget, id(DISPID_XMLELEMENT_TYPE)]
194 HRESULT type([retval, out] long *plType);
196 [propget, id(DISPID_XMLELEMENT_TEXT)]
197 HRESULT text([retval, out] BSTR *p);
199 [propput, id(DISPID_XMLELEMENT_TEXT)]
200 HRESULT text([in] BSTR p);
202 [id(DISPID_XMLELEMENT_ADDCHILD)]
203 HRESULT addChild(
204 [in] IXMLElement2 *pChildElem,
205 [in] long lIndex,
206 [in] long lReserved);
208 [id(DISPID_XMLELEMENT_REMOVECHILD)]
209 HRESULT removeChild([in]IXMLElement2 *pChildElem);
211 [propget, id(DISPID_XMLELEMENT_ATTRIBUTES)]
212 HRESULT attributes([retval, out] IXMLElementCollection **pp);
216 local,
217 object,
218 uuid(2B8DE2FE-8D2D-11d1-B2FC-00C04FD915A9)
220 interface IXMLDocument2 : IDispatch
222 [propget, id(DISPID_XMLDOCUMENT_ROOT)]
223 HRESULT root([retval, out] IXMLElement2 **p);
225 [propget, id(DISPID_XMLDOCUMENT_FILESIZE)]
226 HRESULT fileSize([retval, out] BSTR *p);
228 [propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE)]
229 HRESULT fileModifiedDate([retval, out] BSTR *p);
231 [propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE)]
232 HRESULT fileUpdatedDate([retval, out] BSTR *p);
234 [propget, id(DISPID_XMLDOCUMENT_URL)]
235 HRESULT URL([retval, out] BSTR *p);
237 [propput, id(DISPID_XMLDOCUMENT_URL)]
238 HRESULT URL([in] BSTR p);
240 [propget, id(DISPID_XMLDOCUMENT_MIMETYPE)]
241 HRESULT mimeType([retval, out] BSTR *p);
243 [propget, id(DISPID_XMLDOCUMENT_READYSTATE)]
244 HRESULT readyState([retval, out]long *pl);
246 [propget, id(DISPID_XMLDOCUMENT_CHARSET)]
247 HRESULT charset([retval, out]BSTR *p);
249 [propput, id(DISPID_XMLDOCUMENT_CHARSET)]
250 HRESULT charset([in]BSTR p);
252 [propget, id(DISPID_XMLDOCUMENT_VERSION)]
253 HRESULT version([retval, out]BSTR *p);
255 [propget, id(DISPID_XMLDOCUMENT_DOCTYPE)]
256 HRESULT doctype([retval, out]BSTR *p);
258 [propget, restricted, id(DISPID_XMLDOCUMENT_DTDURL)]
259 HRESULT dtdURL([retval, out]BSTR *p);
261 [id(DISPID_XMLDOCUMENT_CREATEELEMENT)]
262 HRESULT createElement(
263 [in] VARIANT vType,
264 [optional, in] VARIANT var,
265 [retval, out] IXMLElement2 **ppElem);
267 [propget, id(DISPID_XMLDOCUMENT_ASYNC)]
268 HRESULT async([retval, out] VARIANT_BOOL *pf);
270 [propput, id(DISPID_XMLDOCUMENT_ASYNC)]
271 HRESULT async([in] VARIANT_BOOL f);
274 typedef enum tagXMLEMEM_TYPE {
275 XMLELEMTYPE_ELEMENT = 0,
276 XMLELEMTYPE_TEXT = 1,
277 XMLELEMTYPE_COMMENT = 2,
278 XMLELEMTYPE_DOCUMENT = 3,
279 XMLELEMTYPE_DTD = 4,
280 XMLELEMTYPE_PI = 5,
281 XMLELEMTYPE_OTHER = 6
282 } XMLELEM_TYPE;
284 typedef struct _xml_error {
285 UINT _nLine;
286 BSTR _pchBuf;
287 BSTR _cchBuf;
288 UINT _ich;
289 BSTR _pszFound;
290 BSTR _pszExpected;
291 DWORD _reserved1;
292 DWORD _reserved2;
293 } XML_ERROR;
296 local,
297 object,
298 uuid(d4d4a0fc-3b73-11d1-b2b4-00c04fb92596)
300 interface IXMLAttribute : IDispatch
302 [propget, id(DISPID_XMLATTRIBUTE_NAME)]
303 HRESULT name( [retval, out] BSTR *p );
305 [propget, id(DISPID_XMLATTRIBUTE_VALUE)]
306 HRESULT value( [retval, out] BSTR *p );
310 local,
311 object,
312 uuid(948c5ad3-c58d-11d0-9c0b-00c04fc99c8e)
314 interface IXMLError : IUnknown
316 HRESULT GetErrorInfo([out]XML_ERROR *pErrorReturn);
320 object,
321 local,
322 uuid(D9F1E15A-CCDB-11d0-9C0C-00C04FC99C8E)
324 interface IXMLElementNotificationSink : IDispatch
326 [id(DISPID_XMLNOTIFSINK_CHILDADDED)]
327 HRESULT ChildAdded([in]IDispatch *pChildElem);
331 uuid(cfc399af-d876-11d0-9c10-00c04fc99c8e)
333 coclass XMLDocument
335 [default] interface IXMLDocument;