diff --git a/include/msxml2.idl b/include/msxml2.idl
index c5738d2..9d49f46 100644
--- a/include/msxml2.idl
+++ b/include/msxml2.idl
@@ -258,6 +258,85 @@
 [
 local,
 object,
+odl,
+dual,
+oleautomation,
+uuid(65725580-9b5d-11d0-9bfe-00c04fc99c8e)
+]
+interface IXMLElementCollection : IDispatch
+{
+    [propput, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)]
+    HRESULT length( [in] LONG v );
+
+    [propget, id(DISPID_XMLELEMENTCOLLECTION_LENGTH)]
+    HRESULT length( [retval, out] LONG *p );
+
+    [propget, id(DISPID_XMLELEMENTCOLLECTION_NEWENUM)]
+    HRESULT _newEnum( [retval, out] IUnknown ** ppUnk );
+
+    [id(DISPID_XMLELEMENTCOLLECTION_ITEM)]
+    HRESULT item(
+            [optional, in] VARIANT var1,
+            [optional, in] VARIANT var2,
+            [retval, out] IDispatch ** ppDisp );
+}
+
+[
+local,
+object,
+uuid(3f7f31ac-e15f-11d0-9c25-00c04fc99c8e)
+]
+interface IXMLElement : IDispatch
+{
+    [propget, id(DISPID_XMLELEMENT_TAGNAME)]
+    HRESULT tagName( [retval, out] BSTR *p);
+
+    [propput, id(DISPID_XMLELEMENT_TAGNAME)]
+    HRESULT tagName( [in] BSTR p );
+
+    [propget, id(DISPID_XMLELEMENT_PARENT)]
+    HRESULT parent( [retval, out] IXMLElement **parent );
+
+    [id(DISPID_XMLELEMENT_SETATTRIBUTE)]
+    HRESULT setAttribute(
+            [in] BSTR strPropertyName,
+            [in] VARIANT PropertyValue );
+
+    [id(DISPID_XMLELEMENT_GETATTRIBUTE)]
+    HRESULT getAttribute(
+            [in] BSTR strPropertyName,
+            [retval, out] VARIANT *PropertyValue );
+
+    [id(DISPID_XMLELEMENT_REMOVEATTRIBUTE)]
+    HRESULT removeAttribute(
+            [in] BSTR strPropertyName );
+
+    [propget, id(DISPID_XMLELEMENT_CHILDREN)]
+    HRESULT children( [retval, out] IXMLElementCollection **p );
+
+    [propget, id(DISPID_XMLELEMENT_TYPE)]
+    HRESULT type( [retval, out] LONG *p );
+
+    [propget, id(DISPID_XMLELEMENT_TEXT)]
+    HRESULT text( [retval, out] BSTR *p );
+
+    [propput, id(DISPID_XMLELEMENT_TEXT)]
+    HRESULT text( [in] BSTR p );
+
+    [id(DISPID_XMLELEMENT_ADDCHILD)]
+    HRESULT addChild(
+            [in] IXMLElement *pChildElem,
+            [in] LONG lIndex,
+            [in] LONG lreserved );
+
+    [id(DISPID_XMLELEMENT_REMOVECHILD)]
+    HRESULT removeChild(
+            [in] IXMLElement *pChildElem );
+}
+
+[
+local,
+object,
 dual,
 oleautomation,
 uuid (2933BF80-7B36-11d2-B20E-00C04F983E60)
@@ -1112,6 +1191,33 @@
 }
 
 [
+local,
+object,
+odl,
+dual,
+oleautomation,
+uuid(310afa62-0575-11d2-9ca9-0060b0ec3d39),
+pointer_default(unique)
+]
+interface IDSOControl : IDispatch
+{
+	[propget,id(DISPID_XMLDSO_DOCUMENT)]
+        HRESULT XMLDocument([out, retval] IXMLDOMDocument** ppDoc);
+
+	[propput,id(DISPID_XMLDSO_DOCUMENT)]
+        HRESULT XMLDocument([in] IXMLDOMDocument* ppDoc);
+
+	[propget,id(DISPID_XMLDSO_JAVADSOCOMPATIBLE)]
+        HRESULT JavaDSOCompatible([out, retval] BOOL* fJavaDSOCompatible);
+
+	[propput,id(DISPID_XMLDSO_JAVADSOCOMPATIBLE)]
+        HRESULT JavaDSOCompatible([in]  BOOL fJavaDSOCompatible);
+
+	[propget, id(DISPID_READYSTATE)]
+        HRESULT readyState([out, retval] long *state);
+}
+
+[
     uuid(3efaa427-272f-11d2-836f-0000f87a7782)
 ]
 dispinterface XMLDOMDocumentEvents 
diff --git a/include/msxml2did.h b/include/msxml2did.h
index 1aae2a7..e9dbeb8 100644
--- a/include/msxml2did.h
+++ b/include/msxml2did.h
@@ -20,6 +20,52 @@
 #ifndef __MSXML2DID_H__
 #define __MSXML2DID_H__
 
+#define DISPID_XOBJ_MIN                     0x10000
+#define DISPID_XOBJ_MAX                     0x1FFFF
+#define DISPID_XOBJ_BASE                    0x10000
+
+#define DISPID_XMLELEMENTCOLLECTION         0x10000
+#define DISPID_XMLELEMENTCOLLECTION_LENGTH  0x10001
+#define DISPID_XMLELEMENTCOLLECTION_NEWENUM DISPID_NEWENUM
+#define DISPID_XMLELEMENTCOLLECTION_ITEM    0x10003
+
+#define DISPID_XMLDOCUMENT                  0x10064
+#define DISPID_XMLDOCUMENT_ROOT             0x10065
+#define DISPID_XMLDOCUMENT_FILESIZE         0x10066
+#define DISPID_XMLDOCUMENT_FILEMODIFIEDDATE 0x10067
+#define DISPID_XMLDOCUMENT_FILEUPDATEDDATE  0x10068
+#define DISPID_XMLDOCUMENT_URL              0x10069
+#define DISPID_XMLDOCUMENT_MIMETYPE         0x1006a
+#define DISPID_XMLDOCUMENT_READYSTATE       0x1006b
+#define DISPID_XMLDOCUMENT_CREATEELEMENT    0x1006c
+#define DISPID_XMLDOCUMENT_CHARSET          0x1006d
+#define DISPID_XMLDOCUMENT_VERSION          0x1006e
+#define DISPID_XMLDOCUMENT_DOCTYPE          0x1006f
+#define DISPID_XMLDOCUMENT_DTDURL           0x10070
+#define DISPID_XMLDOCUMENT_ASYNC            0x10071
+#define DISPID_XMLDOCUMENT_CASEINSENSITIVE  0x10072
+
+#define DISPID_XMLELEMENT                   0x100c8
+#define DISPID_XMLELEMENT_TAGNAME           0x100c9
+#define DISPID_XMLELEMENT_PARENT            0x100ca
+#define DISPID_XMLELEMENT_SETATTRIBUTE      0x100cb
+#define DISPID_XMLELEMENT_GETATTRIBUTE      0x100cc
+#define DISPID_XMLELEMENT_REMOVEATTRIBUTE   0x100cd
+#define DISPID_XMLELEMENT_CHILDREN          0x100ce
+#define DISPID_XMLELEMENT_TYPE              0x100cf
+#define DISPID_XMLELEMENT_TEXT              0x100d0
+#define DISPID_XMLELEMENT_ADDCHILD          0x100d1
+#define DISPID_XMLELEMENT_REMOVECHILD       0x100d2
+#define DISPID_XMLELEMENT_ATTRIBUTES        0x100d3
+
+#define DISPID_XMLNOTIFSINK                 0x1012c
+#define DISPID_XMLNOTIFSINK_CHILDADDED      0x1012d
+
+#define DISPID_XMLATTRIBUTE                 0x10190
+#define DISPID_XMLATTRIBUTE_NAME            0x10191
+#define DISPID_XMLATTRIBUTE_VALUE           0x10192
+
+
 #define DISPID_DOM_BASE                     0x00000001
 #define DISPID_DOM_COLLECTION_BASE          0x000f4240
 #define DISPID_DOM_COLLECTION_MAX           0x002dc6bf
