2 * Copyright (C) 2005 Mike McCormack
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
32 uuid(65725580-9b5d
-11d0
-9bfe
-00c04fc99c8e
)
34 interface IXMLElementCollection
: IDispatch
36 [propput, id(DISPID_XMLELEMENTCOLLECTION_LENGTH
)]
37 HRESULT length
( [in] long v
);
39 [propget, id(DISPID_XMLELEMENTCOLLECTION_LENGTH
)]
40 HRESULT length
( [retval, out] long *p
);
42 [propget, id(DISPID_XMLELEMENTCOLLECTION_NEWENUM
)]
43 HRESULT _newEnum
( [retval, out] IUnknown
** ppUnk
);
45 [id(DISPID_XMLELEMENTCOLLECTION_ITEM
)]
47 [optional, in] VARIANT var1
,
48 [optional, in] VARIANT var2
,
49 [retval, out] IDispatch
** ppDisp
);
55 uuid(3f7f31ac
-e15f
-11d0
-9c25
-00c04fc99c8e
)
57 interface IXMLElement
: IDispatch
59 [propget, id(DISPID_XMLELEMENT_TAGNAME
)]
60 HRESULT tagName
( [retval, out] BSTR *p
);
62 [propput, id(DISPID_XMLELEMENT_TAGNAME
)]
63 HRESULT tagName
( [in] BSTR p
);
65 [propget, id(DISPID_XMLELEMENT_PARENT
)]
66 HRESULT parent
( [retval, out] IXMLElement
**parent
);
68 [id(DISPID_XMLELEMENT_SETATTRIBUTE
)]
70 [in] BSTR strPropertyName
,
71 [in] VARIANT PropertyValue
);
73 [id(DISPID_XMLELEMENT_GETATTRIBUTE
)]
75 [in] BSTR strPropertyName
,
76 [retval, out] VARIANT *PropertyValue
);
78 [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE
)]
79 HRESULT removeAttribute
(
80 [in] BSTR strPropertyName
);
82 [propget, id(DISPID_XMLELEMENT_CHILDREN
)]
83 HRESULT children
( [retval, out] IXMLElementCollection
**p
);
85 [propget, id(DISPID_XMLELEMENT_TYPE
)]
86 HRESULT type
( [retval, out] long *p
);
88 [propget, id(DISPID_XMLELEMENT_TEXT
)]
89 HRESULT text
( [retval, out] BSTR *p
);
91 [propput, id(DISPID_XMLELEMENT_TEXT
)]
92 HRESULT text
( [in] BSTR p
);
94 [id(DISPID_XMLELEMENT_ADDCHILD
)]
96 [in] IXMLElement
*pChildElem
,
98 [in] long lreserved
);
100 [id(DISPID_XMLELEMENT_REMOVECHILD
)]
102 [in] IXMLElement
*pChildElem
);
108 uuid(f52e2b61
-18a1
-11d1
-b105
-00805f49916b
)
110 interface IXMLDocument
: IDispatch
112 [propget, id(DISPID_XMLDOCUMENT_ROOT
)]
113 HRESULT root
( [retval, out] IXMLElement
**p
);
115 [propget, id(DISPID_XMLDOCUMENT_FILESIZE
)]
116 HRESULT fileSize
( [retval, out] BSTR *p
);
118 [propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE
)]
119 HRESULT fileModifiedDate
( [retval, out] BSTR *p
);
121 [propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE
)]
122 HRESULT fileUpdatedDate
( [retval, out] BSTR *p
);
124 [propget, id(DISPID_XMLDOCUMENT_URL
)]
125 HRESULT URL
( [retval, out] BSTR *p
);
127 [propput, id(DISPID_XMLDOCUMENT_URL
)]
128 HRESULT URL
( [in] BSTR p
);
130 [propget, id(DISPID_XMLDOCUMENT_MIMETYPE
)]
131 HRESULT mimeType
( [retval, out] BSTR *p
);
133 [propget, id(DISPID_XMLDOCUMENT_READYSTATE
)]
134 HRESULT readyState
( [retval, out] long *p
);
136 [propget, id(DISPID_XMLDOCUMENT_CHARSET
)]
137 HRESULT charset
( [retval, out] BSTR *p
);
139 [propput, id(DISPID_XMLDOCUMENT_CHARSET
)]
140 HRESULT charset
( [in] BSTR p
);
142 [propget, id(DISPID_XMLDOCUMENT_VERSION
)]
143 HRESULT version( [retval, out] BSTR *p
);
145 [propget, id(DISPID_XMLDOCUMENT_DOCTYPE
)]
146 HRESULT doctype
( [retval, out] BSTR *p
);
148 [propget, id(DISPID_XMLDOCUMENT_DTDURL
)]
149 HRESULT dtdURl
( [retval, out] BSTR *p
);
151 [id(DISPID_XMLDOCUMENT_CREATEELEMENT
)]
152 HRESULT createElement
(
154 [optional, in] VARIANT var1
,
155 [retval, out] IXMLElement
**ppElem
);
158 typedef enum tagXMLEMEM_TYPE
{
159 XMLELEMTYPE_ELEMENT
= 0,
160 XMLELEMTYPE_TEXT
= 1,
161 XMLELEMTYPE_COMMENT
= 2,
162 XMLELEMTYPE_DOCUMENT
= 3,
165 XMLELEMTYPE_OTHER
= 6
168 typedef struct _xml_error
{
182 uuid(d4d4a0fc
-3b73
-11d1
-b2b4
-00c04fb92596
)
184 interface IXMLAttribute
: IDispatch
186 [propget, id(DISPID_XMLATTRIBUTE_NAME
)]
187 HRESULT name
( [retval, out] BSTR *p
);
189 [propget, id(DISPID_XMLATTRIBUTE_VALUE
)]
190 HRESULT value
( [retval, out] BSTR *p
);
196 uuid(948c5ad3
-c58d
-11d0
-9c0b
-00c04fc99c8e
)
198 interface IXMLError
: IUnknown
200 HRESULT GetErrorInfo
([out]XML_ERROR
*pErrorReturn
);
204 uuid(cfc399af
-d876
-11d0
-9c10
-00c04fc99c8e
)
208 [default] interface IXMLDocument
;