55#define DEFAULT_HASHTABLE_SIZE 17
121#define DT_MIN_STR_LEN 2
122#define DT_MAX_STR_LEN 11
123#define DT_MIN_HASH_VALUE 2
124#define DT_MAX_HASH_VALUE 115
163static const OLECHAR wDT_bin_base64[] = {
'b',
'i',
'n',
'.',
'b',
'a',
's',
'e',
'6',
'4',0};
170static const OLECHAR wDT_dateTime_tz[] = {
'd',
'a',
't',
'e',
'T',
'i',
'm',
'e',
'.',
't',
'z',0};
173static const OLECHAR wDT_enumeration[] = {
'e',
'n',
'u',
'm',
'e',
'r',
'a',
't',
'i',
'o',
'n',0};
174static const OLECHAR wDT_fixed_14_4[] = {
'f',
'i',
'x',
'e',
'd',
'.',
'1',
'4',
'.',
'4',0};
202 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
203 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
204 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
205 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
206 116, 116, 116, 116, 116, 116, 10, 116, 116, 55,
207 45, 116, 5, 116, 0, 116, 0, 116, 116, 116,
208 116, 116, 116, 116, 116, 5, 0, 0, 20, 0,
209 0, 10, 0, 0, 116, 0, 0, 0, 15, 5,
210 116, 116, 10, 0, 0, 0, 116, 116, 0, 0,
211 10, 116, 116, 116, 116, 116, 116, 5, 0, 0,
212 20, 0, 0, 10, 0, 0, 116, 0, 0, 0,
213 15, 5, 116, 116, 10, 0, 0, 0, 116, 116,
214 0, 0, 10, 116, 116, 116, 116, 116, 116, 116,
215 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
216 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
217 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
218 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
219 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
220 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
221 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
222 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
223 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
224 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
225 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
226 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
227 116, 116, 116, 116, 116, 116
253 TRACE(
"(%p)\n", spctx);
257 return xmlSchemaParse(spctx);
294 xmlSchemaValidCtxtPtr svctx;
300 svctx = xmlSchemaNewValidCtxt(
schema);
304 if (
tree->type == XML_DOCUMENT_NODE)
305 err = xmlSchemaValidateDoc(svctx, (xmlDocPtr)
tree);
307 err = xmlSchemaValidateOneElement(svctx,
tree);
309 xmlSchemaFreeValidCtxt(svctx);
532 -1, -1, -1, -1, -1, -1, -1, -1, -1,
533 -1, -1, -1, -1, -1, -1, -1, -1, -1,
534 -1, -1, -1, -1, -1, -1, -1, -1, -1,
535 -1, -1, -1, -1, -1, -1, -1, -1, -1,
536 -1, -1, -1, -1, -1, -1, -1, -1, -1,
537 -1, -1, -1, -1, -1, -1, -1, -1,
601 xmlSchemaParserCtxtPtr spctx;
605 xmlSchemaFreeParserCtxt(spctx);
643 ERR(
"failed to load schema for urn:schemas-microsoft-com:datatypes, "
652 tmp_doc = xmlNewDoc(
NULL);
656 xmlDocSetRootElement(tmp_doc,
node);
692 xmlParserCtxtPtr ctxt)
694 xmlParserInputPtr
input;
704 if (
lstrcmpA(URL,
"urn:schemas-microsoft-com:datatypes") == 0)
706 TRACE(
"loading built-in schema for %s\n", URL);
773 xmlSchemaFree(
entry->schema);
780 xmlSchemaFree(
entry->schema);
858 xmlSchemaParserCtxtPtr spctx;
859 xmlDocPtr new_doc = xmlCopyDoc(doc, 1);
867 spctx = xmlSchemaNewDocParserCtxt(new_doc);
877 FIXME(
"failed to parse doc\n");
882 xmlSchemaFreeParserCtxt(spctx);
889 xmlSchemaParserCtxtPtr spctx;
890 xmlDocPtr new_doc = xmlCopyDoc(doc, 1), xsd_doc =
XDR_to_XSD_doc(doc, nsURI);
896 spctx = xmlSchemaNewDocParserCtxt(xsd_doc);
900 entry->doc = new_doc;
908 FIXME(
"failed to parse doc\n");
914 xmlSchemaFreeParserCtxt(spctx);
923 xmlDocPtr doc =
NULL;
930 FIXME(
"failed to create domdoc\n");
939 ERR(
"load() returned %#lx.\n",
hr);
940 if (
b != VARIANT_TRUE)
943 IXMLDOMDocument3_Release(
domdoc);
960 FIXME(
"invalid schema\n");
963 IXMLDOMDocument3_Release(
domdoc);
997 cache->allocated *= 2;
1015 if (
i == -1)
return;
1032 xmlXPathObjectPtr nodeset;
1033 xmlXPathContextPtr ctxt;
1035 This->read_only = 1;
1037 ctxt = xmlXPathNewContext(
node->node->doc);
1039 nodeset = xmlXPathEvalExpression(
query, ctxt);
1040 xmlXPathFreeContext(ctxt);
1044 int pos = 0,
len = xmlXPathNodeSetGetLength(nodeset->nodesetval);
1048 xmlNodePtr
node = xmlXPathNodeSetItem(nodeset->nodesetval,
pos);
1049 if (
node->type == XML_NAMESPACE_DECL)
1051 static const xmlChar defns[] =
"http://www.w3.org/XML/1998/namespace";
1052 xmlNsPtr
ns = (xmlNsPtr)
node;
1073 xmlXPathFreeObject(nodeset);
1102 WARN(
"riid CLSID_XMLSchemaCache60, returning IXMLDOMSchemaCollection2 interface.\n");
1120 IXMLDOMSchemaCollection2_AddRef(iface);
1129 TRACE(
"%p, refcount %ld.\n", iface,
ref);
1137 TRACE(
"%p, refcount %ld.\n", iface,
ref);
1143 for (
i = 0;
i <
This->count;
i++)
1157 return IDispatchEx_GetTypeInfoCount(&
This->dispex.IDispatchEx_iface, pctinfo);
1164 return IDispatchEx_GetTypeInfo(&
This->dispex.IDispatchEx_iface,
1165 iTInfo,
lcid, ppTInfo);
1173 return IDispatchEx_GetIDsOfNames(&
This->dispex.IDispatchEx_iface,
1174 riid, rgszNames, cNames,
lcid, rgDispId);
1180 VARIANT* pVarResult, EXCEPINFO* pExcepInfo,
1184 return IDispatchEx_Invoke(&
This->dispex.IDispatchEx_iface,
1185 dispIdMember,
riid,
lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
1228 xmlDocPtr doc =
NULL;
1232 IUnknown_QueryInterface(
V_UNKNOWN(&
var), &IID_IXMLDOMNode, (
void**)&domnode);
1238 IXMLDOMNode_get_nodeType(domnode, &
type);
1247 IXMLDOMNode_get_xml(domnode, &xml);
1249 IXMLDOMDocument_loadXML(
domdoc, xml, &
b);
1262 IXMLDOMNode_Release(domnode);
1278 WARN(
"invalid schema!\n");
1282 IXMLDOMNode_Release(domnode);
1411 ERR(
"external collection implementation\n");
1443 if (
value == VARIANT_FALSE)
return S_OK;
1505 xmlSchemaElementPtr decl =
NULL;
1515 FIXME(
"declaration not found in main schema - need to check schema imports!\n");
1532 while (decl !=
NULL && decl->refDecl !=
NULL)
1533 decl = decl->refDecl;
1534 return (decl !=
NULL)? decl->node :
NULL;
1547 if (
tree->type == XML_DOCUMENT_NODE)
1548 tree = xmlDocGetRootElement(
tree->doc);
1611 This->allocated = 10;
1616 This->validateOnLoad = VARIANT_TRUE;
1617 This->read_only = 0;
1620 *
obj = &
This->IXMLDOMSchemaCollection2_iface;
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static const WCHAR version[]
HRSRC WINAPI FindResourceA(HMODULE hModule, LPCSTR name, LPCSTR type)
DWORD WINAPI SizeofResource(HINSTANCE hModule, HRSRC hRsrc)
LPVOID WINAPI LockResource(HGLOBAL handle)
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
int WINAPI lstrcmpA(LPCSTR str1, LPCSTR str2)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
void xmldoc_init(xmlDocPtr doc, MSXML_VERSION version)
LONG xmldoc_release(xmlDocPtr doc)
HRESULT get_domdoc_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument3 **document)
LONG xmldoc_add_ref(xmlDocPtr doc)
HRESULT dom_document_create(MSXML_VERSION version, void **ppObj)
HINSTANCE MSXML_hInstance
static const OLECHAR wDT_id[]
static HRESULT WINAPI schema_cache_QueryInterface(IXMLDOMSchemaCollection2 *iface, REFIID riid, void **ppvObject)
static const OLECHAR wDT_nmtoken[]
static const OLECHAR wDT_idrefs[]
static const xmlChar DT_i8[]
static const struct IXMLDOMSchemaCollection2Vtbl XMLDOMSchemaCollection2Vtbl
static const xmlChar DT_nmtokens[]
static const OLECHAR wDT_bin_base64[]
static const OLECHAR wDT_entity[]
static const xmlChar DT_ui2[]
static HRESULT WINAPI schema_cache_GetTypeInfo(IXMLDOMSchemaCollection2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI schema_cache_remove(IXMLDOMSchemaCollection2 *iface, BSTR uri)
static cache_entry * get_entry(schema_cache *This, xmlChar const *nsURI)
XDR_DT bstr_to_dt(OLECHAR const *bstr, int len)
void schemasCleanup(void)
static const OLECHAR wDT_number[]
static int cache_free_uri(schema_cache *cache, const xmlChar *uri)
static LONG cache_entry_release(cache_entry *entry)
static const OLECHAR wDT_ui2[]
static HRESULT WINAPI schema_cache_get_namespaceURI(IXMLDOMSchemaCollection2 *iface, LONG index, BSTR *uri)
static HRESULT WINAPI schema_cache_GetTypeInfoCount(IXMLDOMSchemaCollection2 *iface, UINT *pctinfo)
static const xmlChar XSD_schema[]
static const xmlChar DT_nmtoken[]
static void cache_copy(void *data, void *dest, const xmlChar *name)
static const OLECHAR wDT_r4[]
static HRESULT WINAPI schema_cache_add(IXMLDOMSchemaCollection2 *iface, BSTR uri, VARIANT var)
static const OLECHAR wDT_ui4[]
static const xmlChar DT_ui4[]
static HRESULT WINAPI schema_cache_get(IXMLDOMSchemaCollection2 *iface, BSTR uri, IXMLDOMNode **node)
static const OLECHAR wDT_entities[]
static const xmlChar DT_boolean[]
static const OLECHAR wDT_date[]
XDR_DT SchemaCache_get_node_dt(IXMLDOMSchemaCollection2 *iface, xmlNodePtr node)
xmlChar const * dt_to_str(XDR_DT dt)
static const OLECHAR wDT_i4[]
static const xmlChar DT_dateTime_tz[]
static const tid_t schema_cache_se_tids[]
static xmlSchemaElementPtr lookup_schema_elemDecl(xmlSchemaPtr schema, xmlNodePtr node)
static void LIBXML2_LOG_CALLBACK validate_warning(void *ctx, char const *msg,...)
static xmlSchemaPtr Schema_parse(xmlSchemaParserCtxtPtr spctx)
static HRESULT schema_cache_get_item(IUnknown *iface, LONG index, VARIANT *item)
static const OLECHAR wDT_int[]
static cache_entry * cache_entry_from_xsd_doc(xmlDocPtr doc, xmlChar const *nsURI, MSXML_VERSION v)
static const OLECHAR wDT_fixed_14_4[]
static xmlSchemaPtr datatypes_schema
static const xmlChar DT_uri[]
static LONG cache_entry_add_ref(cache_entry *entry)
static const OLECHAR wDT_i8[]
static HRESULT WINAPI schema_cache_GetIDsOfNames(IXMLDOMSchemaCollection2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static dispex_static_data_t schemacache_dispex
static const OLECHAR wDT_ui1[]
static const OLECHAR wDT_r8[]
static const xmlChar DT_bin_base64[]
static const xmlChar DT_dateTime[]
static const xmlChar DT_number[]
static const xmlChar DT_ui1[]
static const BYTE hash_assoc_values[]
static const tid_t schemacache_iface_tids[]
HRESULT SchemaCache_create(MSXML_VERSION version, void **obj)
static const xmlChar *const DT_string_table[LAST_DT]
static const xmlChar DT_fixed_14_4[]
static xmlParserInputPtr external_entity_loader(const char *URL, const char *ID, xmlParserCtxtPtr ctxt)
static const xmlChar DT_i4[]
static HRESULT WINAPI schema_cache_get__newEnum(IXMLDOMSchemaCollection2 *iface, IUnknown **enumv)
static BOOL link_datatypes(xmlDocPtr schema)
static HRESULT WINAPI schema_cache_get_validateOnLoad(IXMLDOMSchemaCollection2 *iface, VARIANT_BOOL *value)
static const OLECHAR wDT_float[]
static schema_cache * unsafe_impl_from_IXMLDOMSchemaCollection(IXMLDOMSchemaCollection *iface)
static const xmlChar DT_idref[]
static const OLECHAR wDT_char[]
static const OLECHAR wDT_dateTime_tz[]
static const WCHAR *const DT_wstring_table[LAST_DT]
static const xmlChar DT_r4[]
static const OLECHAR wDT_boolean[]
static const OLECHAR wDT_dateTime[]
static const xmlChar XSD_nsURI[]
#define DT_MAX_HASH_VALUE
static const OLECHAR wDT_time_tz[]
xmlDocPtr XDR_to_XSD_doc(xmlDocPtr xdr_doc, xmlChar const *nsURI)
static xmlExternalEntityLoader _external_entity_loader
static xmlChar const * get_node_nsURI(xmlNodePtr node)
static schema_cache * impl_from_IXMLDOMSchemaCollection2(IXMLDOMSchemaCollection2 *iface)
static DWORD dt_hash(xmlChar const *str, int len)
static ULONG WINAPI schema_cache_AddRef(IXMLDOMSchemaCollection2 *iface)
static const OLECHAR wDT_string[]
static const xmlChar DT_entities[]
static const OLECHAR wDT_i1[]
#define DEFAULT_HASHTABLE_SIZE
static const xmlChar DT_i1[]
static const XDR_DT DT_lookup_table[]
static const OLECHAR wDT_i2[]
static HRESULT WINAPI schema_cache_getSchema(IXMLDOMSchemaCollection2 *iface, BSTR namespaceURI, ISchema **schema)
static xmlNodePtr lookup_schema_element(xmlSchemaPtr schema, xmlNodePtr node)
static const xmlChar XDR_nsURI[]
static const xmlChar DT_int[]
static const xmlChar DT_char[]
static const xmlChar XDR_schema[]
static void cache_free(void *data, const xmlChar *name)
HRESULT cache_from_doc_ns(IXMLDOMSchemaCollection2 *iface, xmlnode *node)
static void LIBXML2_LOG_CALLBACK parser_error(void *ctx, char const *msg,...)
HRESULT SchemaCache_validate_tree(IXMLDOMSchemaCollection2 *iface, xmlNodePtr tree)
static const WCHAR emptyW[]
static const OLECHAR wDT_time[]
static ULONG WINAPI schema_cache_Release(IXMLDOMSchemaCollection2 *iface)
static const struct enumvariant_funcs schemacache_enumvariant
static void validate_serror(void *ctx, const xmlError *err)
static xmlSchemaPtr get_node_schema(schema_cache *This, xmlNodePtr node)
static const xmlChar DT_nsURI[]
static const xmlChar DT_id[]
static const OLECHAR wDT_bin_hex[]
static void cache_add_entry(schema_cache *cache, const xmlChar *uri, cache_entry *entry)
static CacheEntryType cache_type_from_xmlDocPtr(xmlDocPtr schema)
static const OLECHAR wDT_idref[]
static const xmlChar DT_i2[]
XDR_DT str_to_dt(xmlChar const *str, int len)
static schema_cache * impl_from_IXMLDOMSchemaCollection(IXMLDOMSchemaCollection *iface)
static void LIBXML2_LOG_CALLBACK validate_error(void *ctx, char const *msg,...)
static cache_entry * cache_entry_from_url(VARIANT url, xmlChar const *nsURI, MSXML_VERSION version)
static void parser_serror(void *ctx, const xmlError *err)
static const xmlChar DT_float[]
static HRESULT WINAPI schema_cache_getDeclaration(IXMLDOMSchemaCollection2 *iface, IXMLDOMNode *node, ISchemaItem **item)
static HGLOBAL datatypes_handle
static const xmlChar DT_date_tz[]
static const xmlChar DT_string[]
static const xmlChar DT_uuid[]
static HRESULT Schema_validate_tree(xmlSchemaPtr schema, xmlNodePtr tree)
static const OLECHAR wDT_uuid[]
static const xmlChar DT_notation[]
static void cache_remove_entry(schema_cache *cache, const xmlChar *uri)
static const xmlChar DT_time[]
static DWORD dt_hash_bstr(OLECHAR const *bstr, int len)
static const xmlChar DT_bin_hex[]
static HRESULT WINAPI schema_cache_validate(IXMLDOMSchemaCollection2 *iface)
static const OLECHAR wDT_notation[]
HRESULT dt_validate(XDR_DT dt, xmlChar const *content)
const char * debugstr_dt(XDR_DT dt)
static xmlChar * datatypes_src
static const OLECHAR wDT_uri[]
static const xmlChar DT_time_tz[]
static const xmlChar DT_ui8[]
static cache_entry * cache_entry_from_xdr_doc(xmlDocPtr doc, xmlChar const *nsURI, MSXML_VERSION version)
static const OLECHAR wDT_enumeration[]
static HRSRC datatypes_rsrc
static HRESULT WINAPI schema_cache_put_validateOnLoad(IXMLDOMSchemaCollection2 *iface, VARIANT_BOOL value)
static void LIBXML2_LOG_CALLBACK parser_warning(void *ctx, char const *msg,...)
static const xmlChar DT_r8[]
static const xmlChar DT_entity[]
OLECHAR const * dt_to_bstr(XDR_DT dt)
static const OLECHAR wDT_nmtokens[]
static HRESULT WINAPI schema_cache_get_length(IXMLDOMSchemaCollection2 *iface, LONG *length)
static const xmlChar DT_enumeration[]
static const xmlChar DT_date[]
static const OLECHAR wDT_ui8[]
static HRESULT WINAPI schema_cache_Invoke(IXMLDOMSchemaCollection2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static const OLECHAR wDT_date_tz[]
static HRESULT WINAPI schema_cache_addCollection(IXMLDOMSchemaCollection2 *iface, IXMLDOMSchemaCollection *collection)
static const xmlChar DT_idrefs[]
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLboolean GLboolean GLboolean b
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLsizei GLsizei * length
GLenum GLenum GLenum input
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HRESULT init_dispex(jsdisp_t *dispex, script_ctx_t *ctx, const builtin_info_t *builtin_info, jsdisp_t *prototype)
#define memcpy(s1, s2, n)
#define memmove(s1, s2, n)
static const char * debugstr_variant(const VARIANT *var)
static ICollection collection
static VARIANTARG static DISPID
BOOL dispex_query_interface(DispatchEx *This, REFIID riid, void **ppv)
GUID CLSID_XMLSchemaCache60
enum tagDOMNodeType DOMNodeType
@ IXMLDOMSchemaCollection2_tid
@ IXMLDOMSchemaCollection_tid
#define LIBXML2_LOG_CALLBACK
xmlNodePtr xmlNodePtr_from_domnode(IXMLDOMNode *iface, xmlElementType type)
static BSTR bstr_from_xmlChar(const xmlChar *str)
#define LIBXML2_CALLBACK_ERR(caller, msg, ap)
HRESULT create_enumvariant(IUnknown *, BOOL, const struct enumvariant_funcs *, IEnumVARIANT **)
#define LIBXML2_CALLBACK_WARN(caller, msg, ap)
static xmlChar * xmlchar_from_wchar(const WCHAR *str)
#define LIBXML2_CALLBACK_SERROR(caller, err)
static xmlChar * strdupxmlChar(const xmlChar *str)
HRESULT node_create_supporterrorinfo(const tid_t *, void **)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
XMLPUBFUN xmlParserInputPtr xmlNewStringInputStream(xmlParserCtxtPtr ctxt, const xmlChar *buffer)
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
static unsigned __int64 next
void xmlHashScan(xmlHashTablePtr hash, xmlHashScanner scan, void *data)
void xmlHashFree(xmlHashTablePtr hash, xmlHashDeallocator dealloc)
void * xmlHashLookup(xmlHashTablePtr hash, const xmlChar *key)
int xmlHashRemoveEntry(xmlHashTablePtr hash, const xmlChar *key, xmlHashDeallocator dealloc)
int xmlHashSize(xmlHashTablePtr hash)
int xmlHashAddEntry(xmlHashTablePtr hash, const xmlChar *key, void *payload)
xmlHashTablePtr xmlHashCreate(int size)
XMLPUBFUN xmlExternalEntityLoader xmlGetExternalEntityLoader(void)
XMLPUBFUN void xmlSetExternalEntityLoader(xmlExternalEntityLoader f)
xmlParserInputPtr(* xmlExternalEntityLoader)(const char *URL, const char *ID, xmlParserCtxtPtr context)
VARIANT_BOOL validateOnLoad
IXMLDOMSchemaCollection2 IXMLDOMSchemaCollection2_iface
#define CONTAINING_RECORD(address, type, field)
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
void int int ULONGLONG int va_list * ap
XMLPUBFUN int xmlStrlen(const xmlChar *str)
XMLPUBFUN int xmlStrcasecmp(const xmlChar *str1, const xmlChar *str2)
XMLPUBFUN int xmlStrEqual(const xmlChar *str1, const xmlChar *str2)
#define LIBXML_DOTTED_VERSION