1 /** 2 * This file is part of the mingw-w64 runtime package. 3 * No warranty is given; refer to the file DISCLAIMER within this package. 4 */ 5 6 #include <winapifamily.h> 7 8 #ifndef __WSDXMLDOM_H__ 9 #define __WSDXMLDOM_H__ 10 11 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) 12 13 typedef struct _WSDXML_TYPE { 14 const WCHAR *Uri; 15 const BYTE *Table; 16 } WSDXML_TYPE; 17 18 typedef struct _WSDXML_NAMESPACE { 19 const WCHAR *Uri; 20 const WCHAR *PreferredPrefix; 21 struct _WSDXML_NAME *Names; 22 WORD NamesCount; 23 WORD Encoding; 24 } WSDXML_NAMESPACE; 25 26 typedef struct _WSDXML_NAME { 27 WSDXML_NAMESPACE *Space; 28 WCHAR *LocalName; 29 } WSDXML_NAME; 30 31 typedef struct _WSDXML_PREFIX_MAPPING { 32 DWORD Refs; 33 struct _WSDXML_PREFIX_MAPPING *Next; 34 WSDXML_NAMESPACE *Space; 35 WCHAR *Prefix; 36 } WSDXML_PREFIX_MAPPING; 37 38 typedef struct _WSDXML_ATTRIBUTE { 39 struct _WSDXML_ELEMENT *Element; 40 struct _WSDXML_ATTRIBUTE *Next; 41 WSDXML_NAME *Name; 42 WCHAR *Value; 43 } WSDXML_ATTRIBUTE; 44 45 typedef struct _WSDXML_NODE { 46 enum { 47 ElementType, 48 TextType 49 } Type; 50 struct _WSDXML_ELEMENT *Parent; 51 struct _WSDXML_NODE *Next; 52 } WSDXML_NODE; 53 54 typedef struct _WSDXML_ELEMENT { 55 WSDXML_NODE Node; 56 WSDXML_NAME *Name; 57 WSDXML_ATTRIBUTE *FirstAttribute; 58 WSDXML_NODE *FirstChild; 59 WSDXML_PREFIX_MAPPING *PrefixMappings; 60 } WSDXML_ELEMENT; 61 62 typedef struct _WSDXML_TEXT { 63 WSDXML_NODE Node; 64 WCHAR *Text; 65 } WSDXML_TEXT; 66 67 typedef struct _WSDXML_ELEMENT_LIST { 68 struct _WSDXML_ELEMENT_LIST *Next; 69 WSDXML_ELEMENT *Element; 70 } WSDXML_ELEMENT_LIST; 71 72 #endif 73 #endif 74