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
);
56 interface IXMLElement
: IDispatch
58 [propget, id(DISPID_XMLELEMENT_TAGNAME
)]
59 HRESULT tagName
( [retval, out] BSTR *p
);
61 [propput, id(DISPID_XMLELEMENT_TAGNAME
)]
62 HRESULT tagName
( [in] BSTR p
);
64 [propget, id(DISPID_XMLELEMENT_PARENT
)]
65 HRESULT parent
( [retval, out] IXMLElement
**parent
);
67 [id(DISPID_XMLELEMENT_SETATTRIBUTE
)]
69 [in] BSTR strPropertyName
,
70 [in] VARIANT PropertyValue
);
72 [id(DISPID_XMLELEMENT_GETATTRIBUTE
)]
74 [in] BSTR strPropertyName
,
75 [retval, out] VARIANT *PropertyValue
);
77 [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE
)]
78 HRESULT removeAttribute
(
79 [in] BSTR strPropertyName
);
81 [propget, id(DISPID_XMLELEMENT_CHILDREN
)]
82 HRESULT children
( [retval, out] IXMLElementCollection
**p
);
84 [propget, id(DISPID_XMLELEMENT_TYPE
)]
85 HRESULT type
( [retval, out] long *p
);
87 [propget, id(DISPID_XMLELEMENT_TEXT
)]
88 HRESULT text
( [retval, out] BSTR *p
);
90 [propput, id(DISPID_XMLELEMENT_TEXT
)]
91 HRESULT text
( [in] BSTR p
);
93 [id(DISPID_XMLELEMENT_ADDCHILD
)]
95 [in] IXMLElement
*pChildElem
,
97 [in] long lreserved
);
99 [id(DISPID_XMLELEMENT_REMOVECHILD
)]
101 [in] IXMLElement
*pChildElem
);
108 interface IXMLDocument
: IDispatch
110 [propget, id(DISPID_XMLDOCUMENT_ROOT
)]
111 HRESULT root
( [retval, out] IXMLElement
**p
);
113 [propget, id(DISPID_XMLDOCUMENT_FILESIZE
)]
114 HRESULT fileSize
( [retval, out] BSTR *p
);
116 [propget, id(DISPID_XMLDOCUMENT_FILEMODIFIEDDATE
)]
117 HRESULT fileModifiedDate
( [retval, out] BSTR *p
);
119 [propget, id(DISPID_XMLDOCUMENT_FILEUPDATEDDATE
)]
120 HRESULT fileUpdatedDate
( [retval, out] BSTR *p
);
122 [propget, id(DISPID_XMLDOCUMENT_URL
)]
123 HRESULT URL
( [retval, out] BSTR *p
);
125 [propput, id(DISPID_XMLDOCUMENT_URL
)]
126 HRESULT URL
( [in] BSTR p
);
128 [propget, id(DISPID_XMLDOCUMENT_MIMETYPE
)]
129 HRESULT mimeType
( [retval, out] BSTR *p
);
131 [propget, id(DISPID_XMLDOCUMENT_READYSTATE
)]
132 HRESULT readyState
( [retval, out] long *p
);
134 [propget, id(DISPID_XMLDOCUMENT_CHARSET
)]
135 HRESULT charset
( [retval, out] BSTR *p
);
137 [propput, id(DISPID_XMLDOCUMENT_CHARSET
)]
138 HRESULT charset
( [in] BSTR p
);
140 [propget, id(DISPID_XMLDOCUMENT_VERSION
)]
141 HRESULT version( [retval, out] BSTR *p
);
143 [propget, id(DISPID_XMLDOCUMENT_DOCTYPE
)]
144 HRESULT doctype
( [retval, out] BSTR *p
);
146 [propget, id(DISPID_XMLDOCUMENT_DTDURL
)]
147 HRESULT dtdURl
( [retval, out] BSTR *p
);
149 [id(DISPID_XMLDOCUMENT_CREATEELEMENT
)]
150 HRESULT createElement
(
152 [optional, in] VARIANT var1
,
153 [retval, out] IXMLElement
**ppElem
);