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 );