Export (0) Print
Expand All

MSXML Roadmap

This article describes the existing releases of MSXML technologies. The article also briefly summarizes features that MSXML provides, have been improved or deprecated in past and current releases.

MSXML provides a set of services that allow customers who use JScript, VBScript and Microsoft Visual Studio (2005 and later versions) to build high-performance XML based applications that provide a high level of interoperability with other applications that adhere to the XML 1.0 standard.

MSXML APIs are exposed programmatically as Component Object Model (COM) objects. Developers can program against MSXML objects from C++ or from scripting languages such as JScript and VBScript. Like all COM components, MSXML objects are programmatically instantiated by CLSID or ProgID. Each version of MSXML exposes its own set of CLSIDs and ProgIDs. Different versions of MSXML support slightly different sets of functionality. Later sections describe different MSXML versions.

Different versions of MSXML are included within Microsoft products such as Microsoft Windows, Microsoft Internet Explorer, Microsoft Office, and Microsoft SQL Server. MSXML is also updated when you install software updates through various Microsoft products. Refer to List of Microsoft XML Parser (MSXML) versions for detailed information, including version numbers for each release.

Version

Ships With

Microsoft Support?

Notes

MSXML 1.0 MSXML 2.0

Internet Explorer 4.0 Internet Explorer 5.0

No

MSXML 2.5

Internet Explorer 5.01 and MDAC 2.5.

No

CLSIDs and ProgIDs that this version exposed have been subsumed by MSXML 3.0.

MSXML 2.6

Microsoft SQL Server 2000 and MDAC 2.6.

No

CLSIDs and ProgIDs that this version exposed have been subsumed by MSXML 3.0.

MSXML 3.0

All supported Microsoft Windows operating systems

Yes

MSXML 3.0 is the most broadly deployed version of MSXML. It contains several browser-based technologies for backward compatibility and legacy support. When MSXML 6.0 is not available MSXML 3.0 is generally the best fallback version, even though it does not support all of the same features as MSXML 6.0.

The lifecycle and service mode of MSXML 3.0 is subject to the hosting Microsoft Windows operating system. For more information, see Microsoft Help and Support.

MSXML 4.0

Shipped as an independent web release to add features and improve performance.

Yes

Currently in maintenance mode; superseded by MSXML 6.0 and intended only to support legacy applications. Customers may upgrade their applications that use MSXML 4.0 to use MSXML 6.0 instead.

MSXML 5.0

Microsoft Office 2003 Microsoft Office 2007

Yes

Originally designed specifically for applications targeting the Microsoft Office product family. Use outside of Microsoft Office products is not recommended. The lifecycle and service mode for MSXML 5.0 is subject to the Microsoft Office product it was shipped with. For more information about lifecycle of Microsoft Office products, see Microsoft Help and Support

MSXML 6.0

Shipped as an in-box component on Microsoft Windows XP SP3, Microsoft Windows Vista, and later operating systems. It was also shipped as a web release to support redistribution on Microsoft Windows XP SP2 and Windows Server 2003 SP1. Download MSXML 6.0 for these systems from the Microsoft download center

Yes

MSXML 6.0 is the latest MSXML product from Microsoft. It provides improved W3C compliance and increased compatibility with System.XML in Microsoft .Net Framework. The lifecycle and service mode of MSXML 6.0 is subject to the hosting Microsoft Windows OS. For more information about the Windows Operating System lifecycle, see Microsoft Help and Support

MSXML Standard Support

MSXML conforms to several World Wide Web Consortium (W3C) web standards. The following table lists the W3C Specifications that MSXML complies with. The next section of this document describes MSXML-specific information.

XML Features 

W3C Spec

MSXML Conformance

Remark

XML Core

XML 1.0 (First – fourth Edition)

4th Edition

XML Namespaces 1.0 (3rd Edition)

Yes

DOM Level 1

Yes

XML Schema

XML Schema 1.0 (2nd Edition)

Yes (MSXML4/5/6)

No (MSXML3)

See

XPath/XQuery

XPath 1.0

Yes

See

 XML Transformation

XSLT 1.0

Yes

See

XML Schema (XSD) and XML-Data Reduced (XDR)

Starting with version 4.0, MSXML supports the final World Wide Web Consortium (W3C) XML Schema (XSD) Recommendation. Before the XSD Recommendation, MSXML also implemented XML-Data Reduced (XDR), an XML schema language from Microsoft. XDR is supported in MSXML 3.0, MSXML 4.0, and MSXML 5.0, but it was not made available in MSXML 6.0.

Extensible Stylesheet Language Transformations (XSLT)

XSL specifies a language definition for XML data presentation and data transformations. Data transformation means parsing an input XML document into a tree of nodes and then converting the source tree into a result tree.

Before version 3.0, MSXML implemented XSL support based on World Wide Web Consortium Working Draft 16-December-1998 of XSL. In MSXML 3.0, MSXML has support for both XSLT 1.0 and the old dialect. The support of the old dialect was removed from MSXML 4.0 and later versions.

XML Path Language (XPath) and XSLPattern

XML Path Language (XPath) expressions use a path notation, like that used in URLs, to address parts of an XML document. The expression is evaluated to yield an object of the node-set, Boolean, number, or string type. In addition, an XPath expression can have predicates (filter expressions) or function calls.

XPath 1.0 support is available in all supported MSXML versions.

XSLPattern is a predecessor of XPath that was implemented only in MSXML 3.0. XSLPattern is the default query language in MSXML 3.0, so customers must explicitly set the SelectionLanguage property to use XPath in MSXML 3.0. For details, see SelectionLanguage Property.

XML DOM Document

Document Object Model (DOM)

The Document Object Model (DOM) provides a standard set of objects for representing HTML and XML documents, a standard model of how these objects can be combined, and a standard interface for accessing and manipulating these objects.

MSXML DOM provides a set of classes that directly reflect the W3C Document Object Model (DOM) Level 1 specification, which allows programs and scripts to dynamically access and update the content, structure and style of documents.

MSXML allows you to create DOM objects that can use two types of thread models:

  1. If you are writing a single-threaded application or a multithreaded application in which only one thread can have access to a DOM object at one time, you can use the rental-threaded model (Msxml2.DOMDocument.3.0, Msxml2.DOMDocument.4.0, Msxml2.DOMDocument.5.0, or Msxml2.DOMDocument.6.0).

  2. If you are writing an application in which multiple threads can have access to a DOM at the same time, use the free-threaded model (Msxml2.FreeThreadedDOMDocument.3.0, Msxml2.FreeThreadedDOMDocument.4.0, Msxml2.FreeThreadedDOMDocument.5.0, or Msxml2.FreeThreadedDOMDocument.6.0).

Simple API for XML (SAX)

The Simple API for XML (SAX) is a public standard for event-driven parsing of XML documents. SAX can be used to build DOM trees (or portions of DOM trees); conversely, developers can traverse DOM trees and emit SAX streams. Because SAX does not demand resources for an in-memory representation of the document, it is a good alternative to the Document Object Model (DOM). There is a tradeoff among features, performance, and memory footprint between the DOM parser and the SAX parser.

The SAX interface is available in all supported MSXML versions. SAX support in MSXML 4.0 and later versions includes methods for completing transformation and validation, which result in better messaging support for end users.

Web Application Support: XMLHTTP and ServerXMLHTTP

XMLHTTP and ServerXMLHTTP APIs are widely used in web applications to establish an HTTP connection between clients and servers for files or objects. The XMLHTTP and ServerXMLHTTP objects offer similar functionality. However XMLHTTP relies on WinInet control for HTTP access to remote XML documents and is designed for client applications; ServerXMLHTTP uses WinHTTP and is designed for server applications.

XMLHTTP and ServerXMLHTTP are available on all supported MSXML versions.

Schema Support

XML Schema Definition (XSD)

The XML Schema Definition (XSD) language is the current standard schema language for all XML documents and data. XSD defines the structure and data types for XML documents.

XSD validation support is available in MSXML 4.0 and later versions. The implementation is based on the XSD 1.0 specification published by the World Wide Web Consortium (W3C) on May 2, 2001.

Schema Cache

MSXML can create a cache of the XML Schema documents associated with namespace URIs.

Schema cache is available in all supported MSXML versions. A number of changes and improvements have been made to the schema cache in MSXML 6.0. For details, see Improvements in Schema Cache Behavior in MSXML 6.0.

Schema Object Model (SOM)

Schema Object Model (SOM) is a navigable set of classes that allow you to work with documents that are formed according to the XSD specification.

Use the SOM when you want to get information about the data type or logical structure of an XML schema document node. You can also use the SOM to build your own custom structures from an XML Schema.

SOM was is included in MSXML 4.0 and later versions.

Other features

XML Digital Signature

XML Digital Signature is an implementation of digital signatures applied to XML documents. The syntax and semantics of XML digital signature follows the W3C standard as specified in the "XML-Signature Syntax and Processing" 3C Recommendation 12 February 2002, available at www.w3.org/TR/xmldsig-core/.

This feature was implemented only in MSXML 5.0 for Microsoft Office Applications.

Data Source Object (DSO) and Data Island

The XML Data Source Object (DSO) allows you to bind an XML data set to HTML elements.

Data islands are XML data that are referenced or included in an HTML page and tagged using an <XML> element. To display an HTML table of the elements and attributes contained in XML data you can use either the <OBJECT> element to refer to the XML data source object, or the <XML> element to refer to data islands. The contents of the table change as the XML data changes.

Both DSO and data islands are deprecated technologies. Support for DSO and data islands was removed from MSXML 4.0 and later versions. Developers are encouraged to update existing applications that use DSO and data islands to use XSLT instead.

MSXML supports the W3C standard and several features through a set of COM objects. Different MSXML versions exhibit slight discrepancies. The following table lists MSXML objects that are supported in current MSXML versions. For detail information about ProgIDs, refer to GUID and ProgID Information.

Object Name

MSXML 3.0

MSXML 4.0

MSXML 5.0

MSXML 6.0

DOMDocument

CLSID_DOMDocument/ CLSID_DOMDocument30

CLSID_DOMDocument40

CLSID_DOMDocument50

CLSID_DOMDocument60

FreeThreadedDOMDocument

CLSID_FreeThreadedDOMDocument / CLSID_FreeThreadedDOMDocument30

CLSID_FreeThreadedDOMDocument40

CLSID_FreeThreadedDOMDocument50

CLSID_FreeThreadedDOMDocument60

DSOControl

CLSID_DSOControl /CLSID_DSOControl30

CLSID_DSOControl40

CLSID_DSOControl50

CLSID_DSOControl60

XMLSchemaCache

CLSID_XMLSchemaCache / CLSID_XMLSchemaCache30

CLSID_XMLSchemaCache40

CLSID_XMLSchemaCache50

CLSID_XMLSchemaCache60

XSLTemplate

CLSID_XSLTemplate /CLSID_XSLTemplate30

CLSID_XSLTemplate40

CLSID_XSLTemplate50

CLSID_XSLTemplate60

MXHTMLWriter

CLSID_MXHTMLWriter40

CLSID_MXHTMLWriter50

CLSID_MXHTMLWriter60

MXNamespaceManager

CLSID_MXNamespaceManager40

CLSID_MXNamespaceManager50

CLSID_MXNamespaceManager60

MXXMLWriter

CLSID_MXXMLWriter40

CLSID_MXXMLWriter50

CLSID_MXXMLWriter60

SAXAttributes

CLSID_SAXAttributes40

CLSID_SAXAttributes50

CLSID_SAXAttributes60

SAXXMLReader

CLSID_SAXXMLReader40

CLSID_SAXXMLReader50

CLSID_SAXXMLReader60

MXDigitalSignature

XMLHTTP

CLSID_XMLHTTP /CLSID_XMLHTTP30

CLSID_XMLHTTP40

CLSID_XMLHTTP50

CLSID_XMLHTTP60

ServerXMLHTTP

CLSID_ServerXMLHTTP40

CLSID_ServerXMLHTTP50

CLSID_ServerXMLHTTP60

Show:
© 2014 Microsoft