Microsoft has released multiple version's of its XML API because XML has been such a fast changing technology. As of version 4.0, the "MS XML Parser" suite has changed to "MS XML Core Services". The abbreviation is still the same: "MSXML". The MSXML is an API that is used to manipulate the W3C API for XML documents and technologies. Of course MSXML also has non-standard features.
A machine may have one version or multiple versions existing side-by-side. Here are the releases:
| Version | File name | File version | Shipped With |
|---|---|---|---|
| 1.0 | msxml.dll | 4.71.1712.5 | IE4.0 |
| 1.0a | msxml.dll | 4.72.2106.4 | IE4.0a-W95oemsr2.5 |
| 1.0 Service Pack 1 (SP1) | msxml.dll | 4.72.3110.0 | |
| 2.0 | msxml.dll | 5.0.2014.0206 | IE4.01sp1, IE5.0 |
| 2.0a | msxml.dll | 5.0.2314.1000 | IE5.0a-Office2000 |
| 2.0b | msxml.dll | 5.0.2614.3500 | IE5.0b-W98se |
| 2.5 Beta 2 | msxml.dll | 5.0.2919.38 | |
| 2.5a | msxml.dll | 5.0.2919.6303 | IE5.01-W95/98/NT4.0 |
| 2.5 | msxml.dll | 5.0.2920.0 | IE5.01-W2000 |
| 2.5 Service Pack 1 (SP1) | msxml.dll | 8.0.5226 |
IE5.01sp1-W2000 IE5.5-W95/98/NT4.0/2000/2000sp1 |
| 2.6 January 2000 Web Release |
msxml2.dll (January Web Release) |
7.50.4920.0 | |
| 2.6 Beta 2 | msxml2.dll | 8.0.5207.3 | SQLSrvr2000beta2 |
| 2.6 | msxml2.dll | 8.0.6518.1 |
SQLSrvr2000 BizTalkTR, BizTalkBeta |
| 3.0 March 2000 Web Release |
msxml3.dll (March Web Release) |
7.50.5108.0 | |
| 3.0 May 2000 Web Release |
msxml3.dll (May Web Release) |
8.0.7309.3 | |
| 3.0 July 2000 Web Release |
msxml3.dll (July Web Release) |
8.0.7520.1 | |
| 3.0 September 2000 Web Release |
msxml3.dll (September Web Release) |
8.0.7728.0 | |
| 3.0 Release | msxml3.dll | 8.0.7820.0 | |
| 4.0 |
msxml4.dll, msxml4a.dll msxml4r.dll |
2002-09 This version allows side-by-side installs. |
Here is an example of how to create an instance of the DOMDocument object in script.
//In JavaScript
var xml = new ActiveXObject("Msxml2.DOMDocument.4.0");
var xsl = new ActiveXObject("Msxml2.DOMDocument.4.0");
xml.load("books.xml");
xml.setProperty("SelectionLanguage", "XPath");
currNode = xml.selectSingleNode("//book/author");
'In VBScript
Dim xml, xsl, currNode
Set xml = CreateObject("Msxml2.DOMDocument.4.0")
Set xsl = CreateObject("Msxml2.DOMDocument.4.0")
xml.load "books.xml"
xml.setProperty "SelectionLanguage", "XPath"
currNode = xml.selectSingleNode("//book/author")
<object runat="server" progid="msxml2.DOMDocument.4.0" id="xObj"> </object>
Earlier versions were instantiated by referencing like: var source = Server.CreateObject("MSXML2.DOMDocument"); or var xml = new ActiveXObject("Msxml2.DOMDocument.2.6");.
The threading model can be switched from the default of rental model to both-threaded (a.k.a. free-threaded), by prefixing with FreeThreaded. EG: CreateObject("MSXML2.FreeThreadedDOMDocument.4.0").
Here are the various components of the MS XML Parser 4.0 direct from MS [2003-02]:
| Symbolic Name | GUID | ProgID |
|---|---|---|
| CLSID_DOMDocument40 | {88d969c0-f192-11d4-a65f-0040963251e5} | Msxml2.DOMDocument.4.0 |
| CLSID_DSOControl40 | {88d969c4-f192-11d4-a65f-0040963251e5} | Msxml2.DSOControl.4.0 |
| CLSID_FreeThreadedDOMDocument40 | {88d969c1-f192-11d4-a65f-0040963251e5} | Msxml2.FreeThreadedDOMDocument.4.0 |
| CLSID_MXHTMLWriter40 | {88d969c9-f192-11d4-a65f-0040963251e5} | Msxml2.MXHTMLWriter.4.0 |
| CLSID_MXNamespaceManager40 | {88d969d6-f192-11d4-a65f-0040963251e5} | Msxml2. MXNamespaceManager.4.0 |
| CLSID_MXXMLWriter40 | {88d969c8-f192-11d4-a65f-0040963251e5} | Msxml2.MXXMLWriter.4.0 |
| CLSID_SAXAttributes40 | {88d969ca-f192-11d4-a65f-0040963251e5} | Msxml2.SAXAttributes.4.0 |
| CLSID_SAXXMLReader40 | {7c6e29bc-8b8b-4c3d-859e-af6cd158be0f} | Msxml2.SAXXMLReader.4.0 |
| CLSID_ServerXMLHTTP40 | {88d969c6-f192-11d4-a65f-0040963251e5} | Msxml2.ServerXMLHTTP.4.0 |
| CLSID_XMLHTTP40 | {88d969c5-f192-11d4-a65f-0040963251e5} | Msxml2.XMLHTTP.4.0 |
| CLSID_XMLSchemaCache40 | {88d969c2-f192-11d4-a65f-0040963251e5} | Msxml2.XMLSchemaCache.4.0 |
| CLSID_XSLTemplate40 | {88d969c3-f192-11d4-a65f-0040963251e5} | Msxml2.XSLTemplate.4.0 |
Page Modified: (Hand noted: 2007-10-04 19:11:45Z) (Auto noted: 2007-11-17 06:34:15Z)