ReactOS  0.4.15-dev-3017-g1d9542d
xmlparser.idl
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2011 Alistair Leslie-Hughes
3  *
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.
8  *
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.
13  *
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 #pragma makedep register
20 
21 import "unknwn.idl";
22 import "objidl.idl";
23 import "oaidl.idl";
24 
25 interface IXMLNodeSource;
26 interface IXMLParser;
27 interface IXMLNodeFactory;
28 interface IMoniker;
29 
30 typedef enum
31 {
61 
62 typedef enum
63 {
95 }
97 
98 typedef enum
99 {
100  XML_E_PARSEERRORBASE = 0xC00CE500L,
101 
103  XML_E_MISSINGEQUALS = 0xC00CE501,
104  XML_E_MISSINGQUOTE = 0xC00CE502,
105  XML_E_COMMENTSYNTAX = 0xC00CE503,
107  XML_E_BADNAMECHAR = 0xC00CE505,
108  XML_E_BADCHARINSTRING = 0xC00CE506,
109  XML_E_XMLDECLSYNTAX = 0xC00CE507,
110  XML_E_BADCHARDATA = 0xC00CE508,
112  XML_E_EXPECTINGTAGEND = 0xC00CE50A,
113  XML_E_BADCHARINDTD = 0xC00CE50B,
114  XML_E_BADCHARINDECL = 0xC00CE50C,
116  XML_E_BADCHARINENTREF = 0xC00CE50E,
117  XML_E_UNBALANCEDPAREN = 0xC00CE50F,
119  XML_E_BADENDCONDSECT = 0xC00CE511,
120  XML_E_INTERNALERROR = 0xC00CE512,
124  XML_E_MISSING_STAR = 0xC00CE516,
125  XML_E_BADCHARINMODEL = 0xC00CE517,
126  XML_E_MISSING_PAREN = 0xC00CE518,
128  XML_E_PIDECLSYNTAX = 0xC00CE51A,
130  XML_E_MULTIPLE_COLONS = 0xC00CE51C,
131  XML_E_INVALID_DECIMAL = 0xC00CE51D,
133  XML_E_INVALID_UNICODE = 0xC00CE51F,
135  XML_E_ENDOFPE = 0xC00CE521,
136 
138  XML_E_SUSPENDED = 0xC00CE550,
139  XML_E_STOPPED = 0xC00CE551,
141  XML_E_UNCLOSEDTAG = 0xC00CE553,
143  XML_E_MULTIPLEROOTS = 0xC00CE555,
145  XML_E_BADXMLDECL = 0xC00CE557,
146  XML_E_MISSINGROOT = 0xC00CE558,
147  XML_E_UNEXPECTEDEOF = 0xC00CE559,
149  XML_E_PE_NESTING = 0xC00CE55B,
151  XML_E_UNCLOSEDPI = 0xC00CE55D,
153  XML_E_UNCLOSEDENDTAG = 0xC00CE55F,
154  XML_E_UNCLOSEDSTRING = 0xC00CE560,
155  XML_E_UNCLOSEDCOMMENT = 0xC00CE561,
156  XML_E_UNCLOSEDDECL = 0xC00CE562,
158  XML_E_UNCLOSEDCDATA = 0xC00CE564,
159  XML_E_BADDECLNAME = 0xC00CE565,
160  XML_E_BADEXTERNALID = 0xC00CE566,
161  XML_E_BADELEMENTINDTD = 0xC00CE567,
165  XML_E_EXPECTING_NAME = 0xC00CE56B,
167  XML_E_ENDTAGMISMATCH = 0xC00CE56D,
168  XML_E_INVALIDENCODING = 0xC00CE56E,
169  XML_E_INVALIDSWITCH = 0xC00CE56F,
170  XML_E_EXPECTING_NDATA = 0xC00CE570,
171  XML_E_INVALID_MODEL = 0xC00CE571,
172  XML_E_INVALID_TYPE = 0xC00CE572,
173  XML_E_INVALIDXMLSPACE = 0xC00CE573,
176  XML_E_BADXMLCASE = 0xC00CE576,
178  XML_E_CDATAINVALID = 0xC00CE578,
181  XML_E_DOCTYPE_IN_DTD = 0xC00CE57B,
182  XML_E_MISSING_ENTITY = 0xC00CE57C,
185  XML_E_INVALID_VERSION = 0xC00CE57F,
188  XML_E_RESOURCE = 0xC00CE582,
189  XML_E_MISSINGNAME = 0xC00CE583,
190  XML_E_LASTERROR = 0xC00CE584
192 
193 typedef enum
194 {
202 
203 typedef enum
204 {
205  XMLFLAG_FLOATINGAMP = 0x00000001,
206  XMLFLAG_SHORTENDTAGS = 0x00000002,
208  XMLFLAG_NONAMESPACES = 0x00000008,
209  XMLFLAG_NOWHITESPACE = 0x00000010,
210  XMLFLAG_IE4QUIRKS = 0x00000020,
211  XMLFLAG_NODTDNODES = 0x00000040,
214  XMLFLAG_SAX = 0x00000200,
215  XMLFLAG_NORMALIZELB = 0x00000400,
217  XMLFLAG_USEWINHTTP = 0x00001000,
218  XMLFLAG_RUNBUFFERONLY = 0x00002000,
219  XMLFLAG_PROHIBIT_DTD = 0x00008000
221 
222 
223 typedef enum
224 {
237 
238 typedef struct _XML_NODE_INFO
239 {
244  const WCHAR* pwcText;
249 } XML_NODE_INFO;
250 
251 [
252  uuid(d242361c-51a0-11d2-9caf-0060b0ec3d39),
253  helpstring("Microsoft XML Parser 1.0"),
254  lcid(0x0000),
255  version(1.0)
256 ]
258 {
259 /* importlib("stdole32.tlb"); */
260 importlib("stdole2.tlb");
261 
262 [
263  local,
264  object,
266  helpstring("IXMLNodeFactory Interface"),
267  uuid(d242361f-51a0-11d2-9caf-0060b0ec3d39)
268 ]
270 {
271  HRESULT NotifyEvent([in] IXMLNodeSource* pSource,[in] XML_NODEFACTORY_EVENT iEvt);
272  HRESULT BeginChildren([in] IXMLNodeSource* pSource, [in] XML_NODE_INFO* pNodeInfo);
273  HRESULT EndChildren([in] IXMLNodeSource* pSource, [in] BOOL fEmpty, [in] XML_NODE_INFO* pNodeInfo);
274  HRESULT Error([in] IXMLNodeSource* pSource,[in] HRESULT hrErrorCode,
275  [in] USHORT cNumRecs, [in] XML_NODE_INFO** ppNodeInfo);
276  HRESULT CreateNode([in] IXMLNodeSource* pSource, [in] PVOID pNodeParent, [in] USHORT cNumRecs,
277  [in] XML_NODE_INFO** ppNodeInfo);
278 };
279 
280 [
281  local,
282  object,
284  uuid(d242361d-51a0-11d2-9caf-0060b0ec3d39)
285 ]
287 {
288  HRESULT SetFactory([in] IXMLNodeFactory* pNodeFactory);
289  HRESULT GetFactory([out] IXMLNodeFactory** ppNodeFactory);
290  HRESULT Abort([in] BSTR bstrErrorInfo);
291  ULONG GetLineNumber();
292  ULONG GetLinePosition();
293  ULONG GetAbsolutePosition();
294  HRESULT GetLineBuffer([out] const WCHAR** ppBuf,[out] ULONG* Len, [out] ULONG* StartPos);
296  HRESULT GetErrorInfo([out] BSTR* pErrorInfo);
297  ULONG GetFlags();
298  HRESULT GetURL([out] const WCHAR** ppBuf);
299 };
300 
301 [
302  local,
303  object,
305  helpstring("IXMLParser Interface"),
306  uuid(d242361e-51a0-11d2-9caf-0060b0ec3d39)
307 ]
309 {
310  HRESULT SetURL([in] const WCHAR* pszBaseUrl,[in] const WCHAR* pszRelativeUrl,[in] BOOL fAsync);
311  HRESULT Load([in] BOOL fFullyAvailable, [in] IMoniker *pimkName, [in] LPBC pibc, [in] DWORD grfMode);
312  HRESULT SetInput([in] IUnknown *pStm);
313  HRESULT PushData([in] const char* pData, [in] ULONG ulChars, [in] BOOL fLastBuffer);
314  HRESULT LoadDTD([in] const WCHAR* pszBaseUrl, [in] const WCHAR* pszRelativeUrl);
315  HRESULT LoadEntity([in] const WCHAR* pszBaseUrl, [in] const WCHAR* pszRelativeUrl, [in] BOOL fpe);
316  HRESULT ParseEntity([in] const WCHAR* pwcText, [in] ULONG ulLen, [in] BOOL fpe);
317  HRESULT ExpandEntity([in] const WCHAR* pwcText, [in] ULONG ulLen);
318  HRESULT SetRoot([in] PVOID pRoot);
319  HRESULT GetRoot([in] PVOID* ppRoot);
320  HRESULT Run([in] long lChars);
321  HRESULT GetParserState();
322  HRESULT Suspend();
323  HRESULT Reset();
324  HRESULT SetFlags([in] ULONG iFlags);
325  HRESULT SetSecureBaseURL([in] const WCHAR* pszBaseUrl);
326  HRESULT GetSecureBaseURL([out] const WCHAR** ppwcBuf);
327 };
328 
329 }
330 
331 [
332  helpstring("XML Parser"),
333  uuid(f5078f19-c551-11d3-89b9-0000f81fe221),
334  threading(both),
335  progid("Msxml2.XMLParser"),
336  vi_progid("Msxml2.XMLParser"),
337  version(3.0)
338 ]
339 coclass XMLParser
340 {
341  [default] interface IXMLParser;
342 };
343 
344 [
345  helpstring("XML Parser 2.6"),
346  uuid(f5078f20-c551-11d3-89b9-0000f81fe221),
347  threading(both),
348  progid("Msxml2.XMLParser.2.6"),
349  vi_progid("Msxml2.XMLParser"),
350  version(2.6)
351 ]
352 coclass XMLParser26
353 {
354  [default] interface IXMLParser;
355 };
356 
357 [
358  helpstring("XML Parser 3.0"),
359  uuid(f5078f31-c551-11d3-89b9-0000f81fe221),
360  threading(both),
361  progid("Msxml2.XMLParser.3.0"),
362  vi_progid("Msxml2.XMLParser"),
363  version(3.0)
364 ]
365 coclass XMLParser30
366 {
367  [default] interface IXMLParser;
368 };
369 
370 [
371  helpstring("XML Document"),
373  uuid(48123bc4-99d9-11d1-a6b3-00c04fd91555),
374  progid("xmlfile"),
375  version(1.0)
376 ]
377 coclass XMLView
378 {
379  interface IPersistMoniker;
380  interface IPersistHistory;
381  interface IOleCommandTarget;
382  interface IOleObject;
383 }
XML_PARSER_FLAGS
Definition: xmlparser.idl:203
struct _XML_NODE_INFO XML_NODE_INFO
coclass MSXML2::XSLTemplate40 object
interface IBindCtx * LPBC
Definition: objfwd.h:18
#define vi_progid(str)
Definition: exdisp.idl:32
typedef helpstring
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1040
OLECHAR * BSTR
Definition: compat.h:2152
XML_NODE_TYPE
Definition: xmlparser.idl:30
FT_Library library
Definition: cffdrivr.c:654
coclass PSFactoryBuffer pointer_default(unique)] interface ObjectRpcBaseTypes
Definition: dcom.idl:35
ULONG ulNsPrefixLen
Definition: xmlparser.idl:246
unsigned int BOOL
Definition: ntddk_ex.h:94
static const WCHAR version[]
Definition: asmname.c:66
struct tagRun Run
#define threading(model)
Definition: exdisp.idl:30
HRESULT WINAPI GetErrorInfo(ULONG dwReserved, IErrorInfo **pperrinfo)
Definition: errorinfo.c:417
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:79
static FILE * out
Definition: regtests2xml.c:44
unsigned long DWORD
Definition: ntddk_ex.h:95
importlib("stdole2.tlb")
#define Len
Definition: deflate.h:82
BOOL Error
Definition: chkdsk.c:66
XML_ERROR_CODE
Definition: xmlparser.idl:98
static const WCHAR L[]
Definition: oid.c:1250
const WCHAR * pwcText
Definition: xmlparser.idl:244
#define local
Definition: zutil.h:30
GLuint in
Definition: glext.h:9616
unsigned short USHORT
Definition: pedump.c:61
unsigned int ULONG
Definition: retypes.h:1
#define progid(str)
Definition: exdisp.idl:31
XML_PARSER_STATE
Definition: xmlparser.idl:193
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1827
XML_NODE_SUBTYPE
Definition: xmlparser.idl:62
XML_NODEFACTORY_EVENT
Definition: xmlparser.idl:223