msxml2: Add an msxml2 library that contains the v2.6 msxml typelib.
diff --git a/.gitignore b/.gitignore
index 75e33da..2558e76 100644
--- a/.gitignore
+++ b/.gitignore
@@ -95,6 +95,7 @@
dlls/mstask/mstask_local.h
dlls/mstask/mstask_local_i.c
dlls/msxml/msxml_tlb.tlb
+dlls/msxml2/msxml2_tlb.tlb
dlls/msxml3/msxml3_v1.tlb
dlls/msxml3/xslpattern.tab.c
dlls/msxml3/xslpattern.tab.h
diff --git a/configure b/configure
index 00fbb6f..e1da621 100755
--- a/configure
+++ b/configure
@@ -15066,6 +15066,7 @@
wine_fn_config_dll msvideo.dll16 enable_win16
wine_fn_config_dll mswsock enable_mswsock mswsock
wine_fn_config_dll msxml enable_msxml
+wine_fn_config_dll msxml2 enable_msxml2
wine_fn_config_dll msxml3 enable_msxml3
wine_fn_config_test dlls/msxml3/tests msxml3_test
wine_fn_config_dll msxml4 enable_msxml4
diff --git a/configure.ac b/configure.ac
index 1250730..5e1810f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2612,6 +2612,7 @@
WINE_CONFIG_DLL(msvideo.dll16,enable_win16)
WINE_CONFIG_DLL(mswsock,,[mswsock])
WINE_CONFIG_DLL(msxml)
+WINE_CONFIG_DLL(msxml2)
WINE_CONFIG_DLL(msxml3)
WINE_CONFIG_TEST(dlls/msxml3/tests)
WINE_CONFIG_DLL(msxml4)
diff --git a/dlls/msxml2/Makefile.in b/dlls/msxml2/Makefile.in
new file mode 100644
index 0000000..263274c
--- /dev/null
+++ b/dlls/msxml2/Makefile.in
@@ -0,0 +1,10 @@
+MODULE = msxml2.dll
+
+C_SRCS = main.c
+
+IDL_TLB_SRCS = msxml2_tlb.idl
+IDL_R_SRCS = msxml2_tlb.idl
+
+RC_SRCS = rsrc.rc
+
+@MAKE_DLL_RULES@
diff --git a/dlls/msxml2/main.c b/dlls/msxml2/main.c
new file mode 100644
index 0000000..a5acf71
--- /dev/null
+++ b/dlls/msxml2/main.c
@@ -0,0 +1,63 @@
+/*
+ * MSXML2 implementation
+ *
+ * Copyright 2010 Alexandre Julliard
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <stdarg.h>
+#include "windef.h"
+#include "winbase.h"
+#include "objbase.h"
+#include "rpcproxy.h"
+
+static HINSTANCE instance;
+
+BOOL WINAPI DllMain(HINSTANCE hinstance, DWORD reason, LPVOID reserved)
+{
+ switch (reason)
+ {
+ case DLL_PROCESS_ATTACH:
+ instance = hinstance;
+ DisableThreadLibraryCalls(hinstance);
+ break;
+ }
+ return TRUE;
+}
+
+/***********************************************************************
+ * DllCanUnloadNow (MSXML2.@)
+ */
+HRESULT WINAPI DllCanUnloadNow(void)
+{
+ return S_FALSE;
+}
+
+/***********************************************************************
+ * DllRegisterServer (MSXML2.@)
+ */
+HRESULT WINAPI DllRegisterServer(void)
+{
+ return __wine_register_resources( instance, NULL );
+}
+
+/***********************************************************************
+ * DllUnregisterServer (MSXML2.@)
+ */
+HRESULT WINAPI DllUnregisterServer(void)
+{
+ return __wine_unregister_resources( instance, NULL );
+}
diff --git a/dlls/msxml2/msxml2.spec b/dlls/msxml2/msxml2.spec
new file mode 100644
index 0000000..5fd4c28
--- /dev/null
+++ b/dlls/msxml2/msxml2.spec
@@ -0,0 +1,4 @@
+@ stdcall -private DllCanUnloadNow()
+@ stdcall -private DllGetClassObject(ptr ptr ptr) msxml3.DllGetClassObject
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()
diff --git a/dlls/msxml2/msxml2_tlb.idl b/dlls/msxml2/msxml2_tlb.idl
new file mode 100644
index 0000000..9826496
--- /dev/null
+++ b/dlls/msxml2/msxml2_tlb.idl
@@ -0,0 +1,1166 @@
+/*
+ * Copyright (C) 2005 Vijay Kiran Kamuju
+ * Copyright (C) 2008 Alistair Leslie-Hughes
+ * Copyright (C) 2010 Nikolay Sivov for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <msxml2did.h>
+#include <idispids.h>
+
+import "unknwn.idl";
+import "objidl.idl";
+import "oaidl.idl";
+
+[
+ uuid(f5078f18-c551-11d3-89b9-0000f81fe221),
+ version(2.6),
+ helpstring("Microsoft XML, v2.6")
+]
+library MSXML2
+{
+
+importlib("stdole2.tlb");
+
+interface IXMLDOMImplementation;
+interface IXMLDOMNode;
+interface IXMLDOMDocumentFragment;
+interface IXMLDOMDocument;
+interface IXMLDOMSchemaCollection;
+interface IXMLDOMDocument2;
+interface IXMLDOMNodeList;
+interface IXMLDOMNamedNodeMap;
+interface IXMLDOMCharacterData;
+interface IXMLDOMAttribute;
+interface IXMLDOMElement;
+interface IXMLDOMText;
+interface IXMLDOMComment;
+interface IXMLDOMProcessingInstruction;
+interface IXMLDOMCDATASection;
+interface IXMLDOMDocumentType;
+interface IXMLDOMNotation;
+interface IXMLDOMEntity;
+interface IXMLDOMEntityReference;
+interface IXMLDOMParseError;
+interface IXTLRuntime;
+interface IXSLTemplate;
+interface IXSLProcessor;
+
+typedef enum tagDOMNodeType
+{
+ NODE_INVALID = 0,
+ NODE_ELEMENT = 1,
+ NODE_ATTRIBUTE = 2,
+ NODE_TEXT = 3,
+ NODE_CDATA_SECTION = 4,
+ NODE_ENTITY_REFERENCE = 5,
+ NODE_ENTITY = 6,
+ NODE_PROCESSING_INSTRUCTION = 7,
+ NODE_COMMENT = 8,
+ NODE_DOCUMENT = 9,
+ NODE_DOCUMENT_TYPE = 10,
+ NODE_DOCUMENT_FRAGMENT = 11,
+ NODE_NOTATION = 12
+} DOMNodeType;
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF80-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMNode : IDispatch
+{
+ [propget, id(DISPID_DOM_NODE_NODENAME)]
+ HRESULT nodeName([retval, out] BSTR *p);
+
+ [propget, id(DISPID_DOM_NODE_NODEVALUE)]
+ HRESULT nodeValue([retval, out] VARIANT *var1);
+
+ [propput, id(DISPID_DOM_NODE_NODEVALUE)]
+ HRESULT nodeValue([in] VARIANT var1);
+
+ [propget, id(DISPID_DOM_NODE_NODETYPE)]
+ HRESULT nodeType([retval, out] DOMNodeType *domNodeType);
+
+ [propget, id(DISPID_DOM_NODE_PARENTNODE)]
+ HRESULT parentNode([retval, out] IXMLDOMNode **parent);
+
+ [propget, id(DISPID_DOM_NODE_CHILDNODES)]
+ HRESULT childNodes([retval, out] IXMLDOMNodeList **outList);
+
+ [propget, id(DISPID_DOM_NODE_FIRSTCHILD)]
+ HRESULT firstChild([retval, out] IXMLDOMNode **domNode);
+
+ [propget, id(DISPID_DOM_NODE_LASTCHILD)]
+ HRESULT lastChild([retval, out] IXMLDOMNode **domNode);
+
+ [propget, id(DISPID_DOM_NODE_PREVIOUSSIBLING)]
+ HRESULT previousSibling([retval, out] IXMLDOMNode **domNode);
+
+ [propget, id(DISPID_DOM_NODE_NEXTSIBLING)]
+ HRESULT nextSibling([retval, out] IXMLDOMNode **domNode);
+
+ [propget, id(DISPID_DOM_NODE_ATTRIBUTES)]
+ HRESULT attributes([retval, out] IXMLDOMNamedNodeMap **attributeMap);
+
+ [id(DISPID_DOM_NODE_INSERTBEFORE)]
+ HRESULT insertBefore(
+ [in] IXMLDOMNode *newNode,
+ [in] VARIANT var1,
+ [retval, out] IXMLDOMNode **outOldNode);
+
+ [id(DISPID_DOM_NODE_REPLACECHILD)]
+ HRESULT replaceChild(
+ [in] IXMLDOMNode *newNode,
+ [in] IXMLDOMNode *oldNode,
+ [retval, out] IXMLDOMNode **outOldNode);
+
+ [id(DISPID_DOM_NODE_REMOVECHILD)]
+ HRESULT removeChild(
+ [in] IXMLDOMNode *domNode,
+ [retval, out] IXMLDOMNode **oldNode);
+
+ [id(DISPID_DOM_NODE_APPENDCHILD)]
+ HRESULT appendChild(
+ [in] IXMLDOMNode *newNode,
+ [retval, out] IXMLDOMNode **outNewNode);
+
+ [id(DISPID_DOM_NODE_HASCHILDNODES)]
+ HRESULT hasChildNodes(
+ [retval, out] VARIANT_BOOL *pbool);
+
+ [propget, id(DISPID_DOM_NODE_OWNERDOC)]
+ HRESULT ownerDocument([retval, out] IXMLDOMDocument **domDocument);
+
+ [id(DISPID_DOM_NODE_CLONENODE)]
+ HRESULT cloneNode(
+ [in] VARIANT_BOOL pbool,
+ [retval, out] IXMLDOMNode **outNode);
+
+ [propget, id(DISPID_XMLDOM_NODE_STRINGTYPE)]
+ HRESULT nodeTypeString([retval, out] BSTR *p);
+
+ [propget, id(DISPID_XMLDOM_NODE_TEXT)]
+ HRESULT text([retval, out] BSTR *p);
+
+ [propput, id(DISPID_XMLDOM_NODE_TEXT)]
+ HRESULT text([in] BSTR p);
+
+ [propget, id(DISPID_XMLDOM_NODE_SPECIFIED)]
+ HRESULT specified([retval, out] VARIANT_BOOL *pbool);
+
+ [propget, id(DISPID_XMLDOM_NODE_DEFINITION)]
+ HRESULT definition([retval,out] IXMLDOMNode **domNode);
+
+ [propget, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
+ HRESULT nodeTypedValue([retval, out] VARIANT *var1);
+
+ [propput, id(DISPID_XMLDOM_NODE_NODETYPEDVALUE)]
+ HRESULT nodeTypedValue([in] VARIANT var1);
+
+ [propget, id(DISPID_XMLDOM_NODE_DATATYPE)]
+ HRESULT dataType([retval, out] VARIANT *var1);
+
+ [propput, id(DISPID_XMLDOM_NODE_DATATYPE)]
+ HRESULT dataType([in] BSTR p);
+
+ [propget, id(DISPID_XMLDOM_NODE_XML)]
+ HRESULT xml([retval, out] BSTR *p);
+
+ [id(DISPID_XMLDOM_NODE_TRANSFORMNODE)]
+ HRESULT transformNode(
+ [in] IXMLDOMNode *domNode,
+ [retval, out] BSTR *p);
+
+ [id(DISPID_XMLDOM_NODE_SELECTNODES)]
+ HRESULT selectNodes(
+ [in] BSTR p,
+ [retval, out] IXMLDOMNodeList **outList);
+
+ [id(DISPID_XMLDOM_NODE_SELECTSINGLENODE)]
+ HRESULT selectSingleNode(
+ [in] BSTR p,
+ [retval, out] IXMLDOMNode **outNode);
+
+ [propget,id(DISPID_XMLDOM_NODE_PARSED)]
+ HRESULT parsed([retval, out] VARIANT_BOOL *pbool);
+
+ [propget, id(DISPID_XMLDOM_NODE_NAMESPACE)]
+ HRESULT namespaceURI([retval, out] BSTR *p);
+
+ [propget, id(DISPID_XMLDOM_NODE_PREFIX)]
+ HRESULT prefix([retval, out] BSTR *p);
+
+ [propget, id(DISPID_XMLDOM_NODE_BASENAME)]
+ HRESULT baseName([retval, out] BSTR *p);
+
+ [id(DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT)]
+ HRESULT transformNodeToObject(
+ [in] IXMLDOMNode *domNode,
+ [in] VARIANT var1);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF81-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMDocument : IXMLDOMNode
+{
+ [propget, id(DISPID_DOM_DOCUMENT_DOCTYPE)]
+ HRESULT doctype([retval, out] IXMLDOMDocumentType **docType);
+
+ [propget, id(DISPID_DOM_DOCUMENT_IMPLEMENTATION)]
+ HRESULT implementation([retval, out] IXMLDOMImplementation **impl);
+
+ [propget, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
+ HRESULT documentElement([retval, out] IXMLDOMElement **domElement);
+
+ [propputref, id(DISPID_DOM_DOCUMENT_DOCUMENTELEMENT)]
+ HRESULT documentElement([in] IXMLDOMElement *domElement);
+
+ [id(DISPID_DOM_DOCUMENT_CREATEELEMENT)]
+ HRESULT createElement(
+ [in] BSTR p,
+ [retval, out] IXMLDOMElement **domElement);
+
+ [id(DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT)]
+ HRESULT createDocumentFragment(
+ [retval, out] IXMLDOMDocumentFragment **docFrag);
+
+ [id(DISPID_DOM_DOCUMENT_CREATETEXTNODE)]
+ HRESULT createTextNode(
+ [in] BSTR p,
+ [retval, out] IXMLDOMText **text);
+
+ [id(DISPID_DOM_DOCUMENT_CREATECOMMENT)]
+ HRESULT createComment(
+ [in] BSTR p,
+ [retval, out] IXMLDOMComment **comment);
+
+ [id(DISPID_DOM_DOCUMENT_CREATECDATASECTION)]
+ HRESULT createCDATASection(
+ [in] BSTR p,
+ [retval, out] IXMLDOMCDATASection **cdata);
+
+ [id(DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION)]
+ HRESULT createProcessingInstruction(
+ [in] BSTR target,
+ [in] BSTR data,
+ [retval, out] IXMLDOMProcessingInstruction **pi);
+
+ [id(DISPID_DOM_DOCUMENT_CREATEATTRIBUTE)]
+ HRESULT createAttribute(
+ [in] BSTR p,
+ [retval, out] IXMLDOMAttribute **attribute);
+
+ [id(DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE)]
+ HRESULT createEntityReference(
+ [in] BSTR p,
+ [retval, out] IXMLDOMEntityReference **entityRef);
+
+ [id(DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME)]
+ HRESULT getElementsByTagName(
+ [in] BSTR p,
+ [retval, out] IXMLDOMNodeList **resultList);
+
+ [id(DISPID_XMLDOM_DOCUMENT_CREATENODE)]
+ HRESULT createNode(
+ [in] VARIANT var,
+ [in] BSTR name,
+ [in] BSTR uri,
+ [retval, out] IXMLDOMNode **node);
+
+ [id(DISPID_XMLDOM_DOCUMENT_NODEFROMID)]
+ HRESULT nodeFromID(
+ [in] BSTR id,
+ [retval, out] IXMLDOMNode **node);
+
+ [id(DISPID_XMLDOM_DOCUMENT_LOAD)]
+ HRESULT load(
+ [in] VARIANT var1,
+ [retval, out] VARIANT_BOOL *pbool);
+
+ [propget, id(DISPID_READYSTATE)]
+ HRESULT readyState([retval, out] LONG *value);
+
+ [propget, id(DISPID_XMLDOM_DOCUMENT_PARSEERROR)]
+ HRESULT parseError([retval, out] IXMLDOMParseError **err);
+
+ [propget, id(DISPID_XMLDOM_DOCUMENT_URL)]
+ HRESULT url([retval, out] BSTR *p);
+
+ [propget, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
+ HRESULT async([retval, out] VARIANT_BOOL *pbool);
+
+ [propput, id(DISPID_XMLDOM_DOCUMENT_ASYNC)]
+ HRESULT async([in] VARIANT_BOOL pbool);
+
+ [id(DISPID_XMLDOM_DOCUMENT_ABORT)]
+ HRESULT abort();
+
+ [id(DISPID_XMLDOM_DOCUMENT_LOADXML)]
+ HRESULT loadXML(
+ [in] BSTR p,
+ [out, retval] VARIANT_BOOL *pbool);
+
+ [id(DISPID_XMLDOM_DOCUMENT_SAVE)]
+ HRESULT save(
+ [in] VARIANT var1);
+
+ [propget, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
+ HRESULT validateOnParse([retval, out] VARIANT_BOOL *pbool);
+
+ [propput, id(DISPID_XMLDOM_DOCUMENT_VALIDATE)]
+ HRESULT validateOnParse([in] VARIANT_BOOL pbool);
+
+ [propget, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
+ HRESULT resolveExternals([retval,out] VARIANT_BOOL *pbool);
+
+ [propput, id(DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE)]
+ HRESULT resolveExternals([in] VARIANT_BOOL pbool);
+
+ [propget, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
+ HRESULT preserveWhiteSpace([retval,out] VARIANT_BOOL *pbool);
+
+ [propput, id(DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE)]
+ HRESULT preserveWhiteSpace([in] VARIANT_BOOL pbool);
+
+ [propput, id(DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE)]
+ HRESULT onreadystatechange([in] VARIANT var1);
+
+ [propput, id(DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE)]
+ HRESULT ondataavailable([in] VARIANT var1);
+
+ [propput, id(DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE)]
+ HRESULT ontransformnode([in] VARIANT var1);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (373984c8-b845-449b-91e7-45ac83036ade)
+]
+interface IXMLDOMSchemaCollection : IDispatch
+{
+ [id(DISPID_XMLDOM_SCHEMACOLLECTION_ADD)]
+ HRESULT add(
+ [in] BSTR uri,
+ [in] VARIANT var);
+
+ [id(DISPID_XMLDOM_SCHEMACOLLECTION_GET)]
+ HRESULT get(
+ [in] BSTR uri,
+ [retval, out] IXMLDOMNode **node);
+
+ [id(DISPID_XMLDOM_SCHEMACOLLECTION_REMOVE)]
+ HRESULT remove(
+ [in] BSTR uri);
+
+ [propget, id(DISPID_XMLDOM_SCHEMACOLLECTION_LENGTH)]
+ HRESULT length(
+ [retval, out] LONG *length);
+
+ [propget, id(DISPID_VALUE)]
+ HRESULT namespaceURI([in] LONG index, [out, retval] BSTR *len);
+
+ [id(DISPID_XMLDOM_SCHEMACOLLECTION_ADDCOLLECTION)]
+ HRESULT addCollection(
+ [in] IXMLDOMSchemaCollection *otherCollection);
+
+ [propget, id(DISPID_NEWENUM)]
+ HRESULT _newEnum([retval, out] IUnknown **ppUnk);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF95-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMDocument2 : IXMLDOMDocument
+{
+ [propget, id(DISPID_XMLDOM_DOCUMENT2_NAMESPACES)]
+ HRESULT namespaces([retval, out] IXMLDOMSchemaCollection **schemaCollection);
+
+ [propget, id(DISPID_XMLDOM_DOCUMENT2_SCHEMAS)]
+ HRESULT schemas([retval, out] VARIANT *var1);
+
+ [propputref, id(DISPID_XMLDOM_DOCUMENT2_SCHEMAS)]
+ HRESULT schemas([in] VARIANT var1);
+
+ [id(DISPID_XMLDOM_DOCUMENT2_VALIDATE)]
+ HRESULT validate(
+ [retval, out] IXMLDOMParseError **err);
+
+ [id(DISPID_XMLDOM_DOCUMENT2_SETPROPERTY)]
+ HRESULT setProperty(
+ [in] BSTR p,
+ [in] VARIANT var);
+
+ [id(DISPID_XMLDOM_DOCUMENT2_GETPROPERTY)]
+ HRESULT getProperty(
+ [in] BSTR p,
+ [retval, out] VARIANT *var);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF82-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMNodeList : IDispatch
+{
+ [propget, id(DISPID_VALUE)]
+ HRESULT item([in] LONG lIndex, [retval, out] IXMLDOMNode **outNode);
+
+ [propget, id(DISPID_DOM_NODELIST_LENGTH)]
+ HRESULT length([retval, out] LONG *lLength);
+
+ [id(DISPID_XMLDOM_NODELIST_NEXTNODE)]
+ HRESULT nextNode(
+ [retval, out] IXMLDOMNode **outNode);
+
+ [id(DISPID_XMLDOM_NODELIST_RESET)]
+ HRESULT reset();
+
+ [propget, id(DISPID_NEWENUM)]
+ HRESULT _newEnum([retval, out] IUnknown **ppUnk);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (AA634FC7-5888-44a7-A257-3A47150D3A0E)
+]
+interface IXMLDOMSelection : IXMLDOMNodeList
+{
+ [propget, id(DISPID_XMLDOM_SELECTION_EXPR)]
+ HRESULT expr([retval, out] BSTR *p);
+
+ [propput, id(DISPID_XMLDOM_SELECTION_EXPR)]
+ HRESULT expr([in] BSTR p);
+
+ [propget, id(DISPID_XMLDOM_SELECTION_CONTEXT)]
+ HRESULT context([retval, out] IXMLDOMNode **ppNode);
+
+ [propputref, id(DISPID_XMLDOM_SELECTION_CONTEXT)]
+ HRESULT context([in] IXMLDOMNode * pNode);
+
+ [id(DISPID_XMLDOM_SELECTION_PEEKNODE)]
+ HRESULT peekNode(
+ [retval, out] IXMLDOMNode **ppNode);
+
+ [id(DISPID_XMLDOM_SELECTION_MATCHES)]
+ HRESULT matches(
+ [in] IXMLDOMNode *pNode,
+ [retval, out] IXMLDOMNode **ppNode);
+
+ [id(DISPID_XMLDOM_SELECTION_REMOVENEXT)]
+ HRESULT removeNext(
+ [retval, out] IXMLDOMNode **ppNode);
+
+ [id(DISPID_XMLDOM_SELECTION_REMOVEALL)]
+ HRESULT removeAll();
+
+ [id(DISPID_XMLDOM_SELECTION_CLONE)]
+ HRESULT clone(
+ [retval, out] IXMLDOMSelection **ppNode);
+
+ [id(DISPID_XMLDOM_SELECTION_GETPROPERTY)]
+ HRESULT getProperty(
+ [in] BSTR p,
+ [retval, out] VARIANT * var);
+
+ [id(DISPID_XMLDOM_SELECTION_SETPROPERTY)]
+ HRESULT setProperty(
+ [in] BSTR p,
+ [in] VARIANT var);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF83-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMNamedNodeMap : IDispatch
+{
+ [id(DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM)]
+ HRESULT getNamedItem(
+ [in] BSTR p,
+ [retval, out] IXMLDOMNode **outNode);
+
+ [id(DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM)]
+ HRESULT setNamedItem(
+ [in] IXMLDOMNode *newNode,
+ [retval, out] IXMLDOMNode **outNode);
+
+ [id(DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM)]
+ HRESULT removeNamedItem(
+ [in] BSTR p,
+ [retval, out] IXMLDOMNode **outNode);
+
+ [propget, id(DISPID_VALUE)]
+ HRESULT item([in] LONG lIndex, [retval, out] IXMLDOMNode **outNode);
+
+ [propget, id(DISPID_DOM_NODELIST_LENGTH)]
+ HRESULT length([retval, out] LONG *lLength);
+
+ [id(DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM)]
+ HRESULT getQualifiedItem(
+ [in] BSTR name,
+ [in] BSTR uri,
+ [retval, out] IXMLDOMNode **outNode);
+
+ [id(DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM)]
+ HRESULT removeQualifiedItem(
+ [in] BSTR name,
+ [in] BSTR uri,
+ [retval, out] IXMLDOMNode **outNode);
+
+ [id(DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE)]
+ HRESULT nextNode(
+ [retval, out] IXMLDOMNode **outNode);
+
+ [id(DISPID_XMLDOM_NAMEDNODEMAP_RESET)]
+ HRESULT reset();
+
+ [propget, id(DISPID_NEWENUM)]
+ HRESULT _newEnum([retval, out] IUnknown **ppUnk);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (3efaa413-272f-11d2-836f-0000f87a7782)
+]
+interface IXMLDOMDocumentFragment : IXMLDOMNode
+{
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF84-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMCharacterData : IXMLDOMNode
+{
+ [propget, id(DISPID_DOM_DATA_DATA)]
+ HRESULT data([retval, out] BSTR *p);
+
+ [propput, id(DISPID_DOM_DATA_DATA)]
+ HRESULT data([in] BSTR data);
+
+ [propget, id(DISPID_DOM_DATA_LENGTH)]
+ HRESULT length([retval, out] LONG *len);
+
+ [id(DISPID_DOM_DATA_SUBSTRING)]
+ HRESULT substringData(
+ [in] LONG offset,
+ [in] LONG count,
+ [retval, out] BSTR *p);
+
+ [id(DISPID_DOM_DATA_APPEND)]
+ HRESULT appendData(
+ [in] BSTR p);
+
+ [id(DISPID_DOM_DATA_INSERT)]
+ HRESULT insertData(
+ [in] LONG offset,
+ [in] BSTR p);
+
+ [id(DISPID_DOM_DATA_DELETE)]
+ HRESULT deleteData(
+ [in] LONG offset,
+ [in] LONG count);
+
+ [id(DISPID_DOM_DATA_REPLACE)]
+ HRESULT replaceData(
+ [in] LONG offset,
+ [in] LONG count,
+ [in] BSTR p);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF85-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMAttribute : IXMLDOMNode
+{
+ [propget, id(DISPID_DOM_ATTRIBUTE_GETNAME)]
+ HRESULT name([retval, out] BSTR *p);
+
+ [propget, id(DISPID_DOM_ATTRIBUTE_VALUE)]
+ HRESULT value([retval, out] VARIANT *var1);
+
+ [propput, id(DISPID_DOM_ATTRIBUTE_VALUE)]
+ HRESULT value([in] VARIANT var1);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF86-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMElement : IXMLDOMNode
+{
+ [propget, id(DISPID_DOM_ELEMENT_GETTAGNAME)]
+ HRESULT tagName([retval, out] BSTR *p);
+
+ [id(DISPID_DOM_ELEMENT_GETATTRIBUTE)]
+ HRESULT getAttribute(
+ [in] BSTR p,
+ [retval, out] VARIANT *var);
+
+ [id(DISPID_DOM_ELEMENT_SETATTRIBUTE)]
+ HRESULT setAttribute(
+ [in] BSTR p,
+ [in] VARIANT var);
+
+ [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTE)]
+ HRESULT removeAttribute(
+ [in] BSTR p);
+
+ [id(DISPID_DOM_ELEMENT_GETATTRIBUTENODE)]
+ HRESULT getAttributeNode(
+ [in] BSTR p,
+ [retval, out] IXMLDOMAttribute **attributeNode);
+
+ [id(DISPID_DOM_ELEMENT_SETATTRIBUTENODE)]
+ HRESULT setAttributeNode(
+ [in] IXMLDOMAttribute *domAttribute,
+ [retval, out] IXMLDOMAttribute **attributeNode);
+
+ [id(DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE)]
+ HRESULT removeAttributeNode(
+ [in] IXMLDOMAttribute *domAttribute,
+ [retval, out] IXMLDOMAttribute **attributeNode);
+
+ [id(DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME)]
+ HRESULT getElementsByTagName(
+ [in] BSTR p,
+ [retval, out] IXMLDOMNodeList **resultList);
+
+ [id(DISPID_DOM_ELEMENT_NORMALIZE)]
+ HRESULT normalize();
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF87-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMText : IXMLDOMCharacterData
+{
+ [id(DISPID_DOM_TEXT_SPLITTEXT)]
+ HRESULT splitText(
+ [in] LONG offset,
+ [retval, out] IXMLDOMText **txtNode);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF88-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMComment : IXMLDOMCharacterData
+{
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF89-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMProcessingInstruction : IXMLDOMNode
+{
+ [propget, id(DISPID_DOM_PI_TARGET)]
+ HRESULT target([retval, out] BSTR *p);
+
+ [propget, id(DISPID_DOM_PI_DATA)]
+ HRESULT data([retval, out] BSTR *p);
+
+ [propput, id(DISPID_DOM_PI_DATA)]
+ HRESULT data([in] BSTR p);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF8A-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMCDATASection : IXMLDOMText
+{
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF8B-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMDocumentType : IXMLDOMNode
+{
+ [propget, id(DISPID_DOM_DOCUMENTTYPE_NAME)]
+ HRESULT name([retval, out] BSTR *p);
+
+ [propget, id(DISPID_DOM_DOCUMENTTYPE_ENTITIES)]
+ HRESULT entities([retval, out] IXMLDOMNamedNodeMap **entityMap);
+
+ [propget, id(DISPID_DOM_DOCUMENTTYPE_NOTATIONS)]
+ HRESULT notations([retval, out] IXMLDOMNamedNodeMap **notationMap);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF8C-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMNotation : IXMLDOMNode
+{
+ [propget, id(DISPID_DOM_NOTATION_PUBLICID)]
+ HRESULT publicId([retval, out] VARIANT *id);
+
+ [propget, id(DISPID_DOM_NOTATION_SYSTEMID)]
+ HRESULT systemId([retval, out] VARIANT *id);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF8D-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMEntity : IXMLDOMNode
+{
+ [propget, id(DISPID_DOM_ENTITY_PUBLICID)]
+ HRESULT publicId([retval, out] VARIANT *id1);
+
+ [propget, id(DISPID_DOM_ENTITY_SYSTEMID)]
+ HRESULT systemId([retval, out] VARIANT *id1);
+
+ [propget, id(DISPID_DOM_ENTITY_NOTATIONNAME)]
+ HRESULT notationName([retval, out] BSTR *p);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF8E-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMEntityReference : IXMLDOMNode
+{
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF8F-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXMLDOMImplementation : IDispatch
+{
+ [id(DISPID_DOM_IMPLEMENTATION_HASFEATURE)]
+ HRESULT hasFeature(
+ [in] BSTR feature,
+ [in] BSTR version,
+ [retval, out] VARIANT_BOOL *pbool);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (3efaa425-272f-11d2-836f-0000f87a7782)
+]
+interface IXTLRuntime : IXMLDOMNode
+{
+ [id(DISPID_XTLRUNTIME_UNIQUEID)]
+ HRESULT uniqueID(
+ [in]IXMLDOMNode *pNode,
+ [retval, out]LONG *pID);
+
+ [id(DISPID_XTLRUNTIME_DEPTH)]
+ HRESULT depth(
+ [in] IXMLDOMNode *pNode,
+ [retval, out]LONG * pDepth);
+
+ [id(DISPID_XTLRUNTIME_CHILDNUMBER)]
+ HRESULT childNumber(
+ [in]IXMLDOMNode *pNode,
+ [retval, out] LONG *pNumber);
+
+ [id(DISPID_XTLRUNTIME_ANCESTORCHILDNUMBER)]
+ HRESULT ancestorChildNumber(
+ [in]BSTR bstr,
+ [in]IXMLDOMNode *pNode,
+ [retval, out]LONG *pNumber);
+
+ [id(DISPID_XTLRUNTIME_ABSOLUTECHILDNUMBER)]
+ HRESULT absoluteChildNumber(
+ [in]IXMLDOMNode *pNode,
+ [retval, out]LONG *pNumber);
+
+ [id(DISPID_XTLRUNTIME_FORMATINDEX)]
+ HRESULT formatIndex(
+ [in] LONG lIndex,
+ [in] BSTR bstr,
+ [retval, out]BSTR *pbstr);
+
+ [id(DISPID_XTLRUNTIME_FORMATNUMBER)]
+ HRESULT formatNumber(
+ [in] double dblNumber,
+ [in] BSTR bstr,
+ [retval, out]BSTR *pbstr);
+
+ [id(DISPID_XTLRUNTIME_FORMATDATE)]
+ HRESULT formatDate(
+ [in] VARIANT var1,
+ [in] BSTR bstr,
+ [optional, in] VARIANT var2,
+ [retval, out]BSTR *pbstr);
+
+ [id(DISPID_XTLRUNTIME_FORMATTIME)]
+ HRESULT formatTime(
+ [in] VARIANT var1,
+ [in] BSTR bstr,
+ [optional, in] VARIANT var2,
+ [retval, out]BSTR *pbstr);
+
+}
+
+[
+ uuid(3efaa427-272f-11d2-836f-0000f87a7782)
+]
+dispinterface XMLDOMDocumentEvents
+{
+ properties:
+ methods:
+ [id (DISPID_XMLDOMEVENT_ONDATAAVAILABLE)]
+ HRESULT ondataavailable();
+
+ [id (DISPID_XMLDOMEVENT_ONREADYSTATECHANGE)]
+ HRESULT onreadystatechange();
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF92-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXSLProcessor : IDispatch
+{
+ [propput, id(DISPID_XMLDOM_PROCESSOR_INPUT)]
+ HRESULT input([in] VARIANT var);
+
+ [propget, id(DISPID_XMLDOM_PROCESSOR_INPUT)]
+ HRESULT input([retval, out] VARIANT *var);
+
+ [propget, id(DISPID_XMLDOM_PROCESSOR_XSLTEMPLATE)]
+ HRESULT ownerTemplate([retval, out] IXSLTemplate **ppTemplate);
+
+ [id(DISPID_XMLDOM_PROCESSOR_SETSTARTMODE)]
+ HRESULT setStartMode(
+ [in] BSTR p,
+ [in, defaultvalue("")] BSTR uri);
+
+ [propget, id(DISPID_XMLDOM_PROCESSOR_STARTMODE)]
+ HRESULT startMode([retval, out] BSTR *p);
+
+ [propget, id(DISPID_XMLDOM_PROCESSOR_STARTMODEURI)]
+ HRESULT startModeURI([retval, out] BSTR *uri);
+
+ [propput, id(DISPID_XMLDOM_PROCESSOR_OUTPUT)]
+ HRESULT output([in] VARIANT var);
+
+ [propget, id(DISPID_XMLDOM_PROCESSOR_OUTPUT)]
+ HRESULT output([retval, out] VARIANT *var);
+
+ [id(DISPID_XMLDOM_PROCESSOR_TRANSFORM)]
+ HRESULT transform(
+ [retval, out] VARIANT_BOOL *pbool);
+
+ [id(DISPID_XMLDOM_PROCESSOR_RESET)]
+ HRESULT reset();
+
+ [propget, id(DISPID_XMLDOM_PROCESSOR_READYSTATE)]
+ HRESULT readyState([retval, out] LONG *pstate);
+
+ [id(DISPID_XMLDOM_PROCESSOR_ADDPARAMETER)]
+ HRESULT addParameter(
+ [in] BSTR p,
+ [in] VARIANT var,
+ [in, defaultvalue("")] BSTR uri);
+
+ [id(DISPID_XMLDOM_PROCESSOR_ADDOBJECT)]
+ HRESULT addObject(
+ [in] IDispatch* obj,
+ [in] BSTR uri);
+
+ [propget, id(DISPID_XMLDOM_PROCESSOR_STYLESHEET)]
+ HRESULT stylesheet([retval, out] IXMLDOMNode **node);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (2933BF93-7B36-11d2-B20E-00C04F983E60)
+]
+interface IXSLTemplate : IDispatch
+{
+ [propputref, id(DISPID_XMLDOM_TEMPLATE_STYLESHEET)]
+ HRESULT stylesheet([in] IXMLDOMNode *node);
+
+ [propget, id(DISPID_XMLDOM_TEMPLATE_STYLESHEET)]
+ HRESULT stylesheet([retval, out] IXMLDOMNode **node);
+
+ [id(DISPID_XMLDOM_TEMPLATE_CREATEPROCESSOR)]
+ HRESULT createProcessor(
+ [retval, out] IXSLProcessor **ppProcessor);
+}
+
+[
+ object,
+ uuid(ED8C108D-4349-11D2-91A4-00C04F7969E8),
+ odl,
+ dual,
+ oleautomation,
+ pointer_default(unique)
+]
+interface IXMLHTTPRequest : IDispatch
+{
+ [id(1)]
+ HRESULT open([in] BSTR bstrMethod, [in] BSTR bstrUrl, [in, optional] VARIANT varAsync,
+ [in,optional] VARIANT username, [in,optional] VARIANT password);
+
+ [id(2)]
+ HRESULT setRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue);
+
+ [id(3)]
+ HRESULT getResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR * value);
+
+ [id(4)]
+ HRESULT getAllResponseHeaders([out, retval] BSTR * pbstrHeaders);
+
+ [id(5)]
+ HRESULT send([in, optional] VARIANT body);
+
+ [id(6)]
+ HRESULT abort();
+
+ [propget, id(7)]
+ HRESULT status([out, retval] LONG *pStatus);
+
+ [propget, id(8)]
+ HRESULT statusText([out, retval] BSTR *pStatus);
+
+ [propget, id(9)]
+ HRESULT responseXML([out, retval] IDispatch **pBody);
+
+ [propget, id(10)]
+ HRESULT responseText([out, retval] BSTR *pBody);
+
+ [propget, id(11)]
+ HRESULT responseBody([out, retval] VARIANT *pBody);
+
+ [propget, id(12)]
+ HRESULT responseStream([out, retval] VARIANT *pBody);
+
+ [propget, id(13)]
+ HRESULT readyState([out, retval] LONG *pState);
+
+ [propput, id(14)]
+ HRESULT onreadystatechange([in] IDispatch *pReadyStateSink);
+}
+
+[
+local,
+object,
+dual,
+oleautomation,
+uuid (3efaa426-272f-11d2-836f-0000f87a7782)
+]
+interface IXMLDOMParseError : IDispatch
+{
+ [propget, id(DISPID_VALUE)]
+ HRESULT errorCode([retval, out] LONG *errCode);
+
+ [propget, id(DISPID_DOM_ERROR_URL)]
+ HRESULT url([retval, out] BSTR *p);
+
+ [propget, id(DISPID_DOM_ERROR_REASON)]
+ HRESULT reason([retval, out] BSTR *p);
+
+ [propget, id(DISPID_DOM_ERROR_SRCTEXT)]
+ HRESULT srcText([retval, out] BSTR *p);
+
+ [propget, id(DISPID_DOM_ERROR_LINE)]
+ HRESULT line([retval, out] LONG *lineNo);
+
+ [propget, id(DISPID_DOM_ERROR_LINEPOS)]
+ HRESULT linepos([retval, out] LONG * linePos);
+
+ [propget, id(DISPID_DOM_ERROR_FILEPOS)]
+ HRESULT filepos([retval, out] LONG * filePos);
+}
+
+[
+ uuid(F6D90F11-9C73-11D3-B32E-00C04F990BB4)
+]
+coclass DOMDocument
+{
+ [default] interface IXMLDOMDocument2;
+ [default, source] dispinterface XMLDOMDocumentEvents;
+}
+
+[
+ helpstring("XML DOM Document 2.6"),
+ progid("Msxml2.DOMDocument.2.6"),
+ vi_progid("Msxml2.DOMDocument"),
+ threading(both),
+ uuid(f5078f1b-c551-11d3-89b9-0000f81fe221)
+]
+coclass DOMDocument26
+{
+ [default] interface IXMLDOMDocument2;
+ [default, source] dispinterface XMLDOMDocumentEvents;
+}
+
+[
+ uuid(F6D90F12-9C73-11D3-B32E-00C04F990BB4)
+]
+coclass FreeThreadedDOMDocument
+{
+ [default] interface IXMLDOMDocument2;
+ [default, source] dispinterface XMLDOMDocumentEvents;
+}
+
+[
+ helpstring("Free Threaded XML DOM Document 2.6"),
+ progid("Msxml2.FreeThreadedDOMDocument.2.6"),
+ vi_progid("Msxml2.FreeThreadedDOMDocument"),
+ threading(both),
+ uuid(f5078f1c-c551-11d3-89b9-0000f81fe221)
+]
+coclass FreeThreadedDOMDocument26
+{
+ [default] interface IXMLDOMDocument2;
+ [default, source] dispinterface XMLDOMDocumentEvents;
+}
+
+[
+ uuid(f6d90f16-9c73-11d3-b32e-00c04f990bb4)
+]
+coclass XMLHTTP
+{
+ [default] interface IXMLHTTPRequest;
+}
+
+[
+ helpstring("XML HTTP 2.6"),
+ progid("Msxml2.XMLHTTP.2.6"),
+ vi_progid("Msxml2.XMLHTTP"),
+ threading(apartment),
+ uuid(f5078f1e-c551-11d3-89b9-0000f81fe221)
+]
+coclass XMLHTTP26
+{
+ [default] interface IXMLHTTPRequest;
+}
+
+[
+ uuid(373984c9-b845-449b-91e7-45ac83036ade)
+]
+coclass XMLSchemaCache
+{
+ [default] interface IXMLDOMSchemaCollection;
+}
+
+[
+ helpstring("XML Schema Cache 2.6"),
+ progid("Msxml2.XMLSchemaCache.2.6"),
+ vi_progid("Msxml2.XMLSchemaCache"),
+ threading(both),
+ uuid(f5078f1d-c551-11d3-89b9-0000f81fe221)
+]
+coclass XMLSchemaCache26
+{
+ [default] interface IXMLDOMSchemaCollection;
+}
+
+[
+ uuid(2933BF94-7B36-11d2-B20E-00C04F983E60)
+]
+coclass XSLTemplate
+{
+ [default] interface IXSLTemplate;
+}
+
+[
+ helpstring("XSL Template 2.6"),
+ progid("Msxml2.XSLTemplate.2.6"),
+ vi_progid("Msxml2.XSLTemplate"),
+ threading(both),
+ uuid(f5078f21-c551-11d3-89b9-0000f81fe221)
+]
+coclass XSLTemplate26
+{
+ [default] interface IXSLTemplate;
+}
+
+} /* Library MSXML */
diff --git a/dlls/msxml2/rsrc.rc b/dlls/msxml2/rsrc.rc
new file mode 100644
index 0000000..087bec1
--- /dev/null
+++ b/dlls/msxml2/rsrc.rc
@@ -0,0 +1,22 @@
+/*
+ * Resources for msxml2
+ *
+ * Copyright 2010 Alexandre Julliard
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/* @makedep: msxml2_tlb.tlb */
+1 TYPELIB msxml2_tlb.tlb
diff --git a/dlls/msxml3/factory.c b/dlls/msxml3/factory.c
index 8ad1abc..6fbf464 100644
--- a/dlls/msxml3/factory.c
+++ b/dlls/msxml3/factory.c
@@ -218,6 +218,7 @@
if( IsEqualCLSID( rclsid, &CLSID_DOMDocument ) || /* Version indep. v 2.x */
IsEqualCLSID( rclsid, &CLSID_DOMDocument2 ) || /* Version indep. v 3.0 */
+ IsEqualCLSID( rclsid, &CLSID_DOMDocument26 )|| /* Version dep. v 2.6 */
IsEqualCLSID( rclsid, &CLSID_DOMDocument30 )|| /* Version dep. v 3.0 */
IsEqualCLSID( rclsid, &CLSID_DOMDocument40 )|| /* Version dep. v 4.0 */
IsEqualCLSID( rclsid, &CLSID_DOMDocument60 )) /* Version dep. v 6.0 */
@@ -225,6 +226,7 @@
return DOMClassFactory_Create(rclsid, riid, ppv, DOMDocument_create);
}
else if( IsEqualCLSID( rclsid, &CLSID_XMLSchemaCache ) ||
+ IsEqualCLSID( rclsid, &CLSID_XMLSchemaCache26 ) ||
IsEqualCLSID( rclsid, &CLSID_XMLSchemaCache30 ) ||
IsEqualCLSID( rclsid, &CLSID_XMLSchemaCache40 ) ||
IsEqualCLSID( rclsid, &CLSID_XMLSchemaCache60 ))
@@ -237,6 +239,7 @@
}
else if( IsEqualCLSID( rclsid, &CLSID_DOMFreeThreadedDocument ) || /* Version indep. v 2.x */
IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument ) ||
+ IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument26 ) ||
IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument30 ) ||
IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument40 ) ||
IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument60 ))
diff --git a/dlls/msxml3/regsvr.c b/dlls/msxml3/regsvr.c
index bbefedd..50da4f2 100644
--- a/dlls/msxml3/regsvr.c
+++ b/dlls/msxml3/regsvr.c
@@ -490,14 +490,6 @@
"Microsoft.FreeThreadedXMLDOM.1.0",
"1.0"
},
- { &CLSID_FreeThreadedDOMDocument26,
- "Free Threaded XML DOM Document 2.6",
- NULL,
- "msxml3.dll",
- "Both",
- "Microsoft.FreeThreadedXMLDOM.1.0",
- "1.0"
- },
{ &CLSID_FreeThreadedDOMDocument30,
"Free Threaded XML DOM Document 3.0",
NULL,
@@ -506,14 +498,6 @@
"Microsoft.FreeThreadedDOMDocument.1.0",
"1.0"
},
- { &CLSID_XMLHTTP26,
- "XML HTTP 2.6",
- NULL,
- "msxml3.dll",
- "Apartment",
- "Msxml2.XMLHTTP.2.6",
- "2.6"
- },
{ &CLSID_XMLHTTP30,
"XML HTTP 3.0",
NULL,
@@ -537,14 +521,6 @@
"Msxml2.XMLSchemaCache",
"3.0"
},
- { &CLSID_XMLSchemaCache26,
- "XML Schema Cache 2.6",
- NULL,
- "msxml3.dll",
- "Both",
- "Msxml2.XMLSchemaCache",
- "2.6"
- },
{ &CLSID_XMLSchemaCache30,
"XML Schema Cache 3.0",
NULL,
@@ -625,21 +601,11 @@
&CLSID_DOMDocument30,
NULL
},
- { "MSXML.FreeThreadedDOMDocument26",
- "Free threaded XML DOM Document 2.6",
- &CLSID_FreeThreadedDOMDocument26,
- NULL
- },
{ "MSXML.FreeThreadedDOMDocument30",
"Free threaded XML DOM Document 3.0",
&CLSID_FreeThreadedDOMDocument30,
NULL
},
- { "Msxml2.XMLHTTP.2.6",
- "XML HTTP 2.6",
- &CLSID_XMLHTTP26,
- NULL
- },
{ "Msxml2.XMLHTTP.3.0",
"XML HTTP 3.0",
&CLSID_XMLHTTP30,
@@ -655,11 +621,6 @@
&CLSID_XMLSchemaCache,
"Msxml2.XMLSchemaCache.3.0"
},
- { "Msxml2.XMLSchemaCache.2.6",
- "XML Schema Cache 2.6",
- &CLSID_XMLSchemaCache26,
- "Msxml2.XMLSchemaCache.2.6"
- },
{ "Msxml2.XMLSchemaCache.3.0",
"XML Schema Cache 3.0",
&CLSID_XMLSchemaCache30,
diff --git a/tools/wine.inf.in b/tools/wine.inf.in
index e65162d..b2667af 100644
--- a/tools/wine.inf.in
+++ b/tools/wine.inf.in
@@ -2528,6 +2528,7 @@
11,,msisip.dll,1
11,,mstask.dll,1
11,,msxml.dll,1
+11,,msxml2.dll,1
11,,msxml3.dll,1
11,,msxml4.dll,1
11,,msxml6.dll,1