*** Welcome to piglix ***

MSXML


Microsoft XML Core Services (MSXML) is a set of services that allow applications written in JScript, VBScript, and Microsoft development tools to build Windows-native XML-based applications. It supports XML 1.0, DOM, SAX, an XSLT 1.0 processor, XML schema support including XSD and XDR, as well as other XML-related technologies.

All MSXML products are similar in that they are exposed programmatically as OLE Automation (a subset of COM) components. Developers can program against MSXML components from C, C++ or from Active Scripting languages such as JScript and VBScript. Managed .NET Interop with MSXML COM components is not supported nor recommended.

As with all COM components, an MSXML object is programmatically instantiated by CLSID or ProgID. Each version of MSXML exposes its own set of CLSID's and ProgIDs. For example, to create an MSXML 6.0 DOMDocument object, which exposes the IXmlDomDocument,IXmlDomDocument2, and IXmlDomDocument3 COM interfaces, the ProgID "MSXML2.DOMDocument.6.0" must be used.

MSXML also supports version-independent ProgIDs. Version-independent ProgIDs do not have a version number associated with them. For example, "Microsoft.XMLHTTP". These ProgIDs were first introduced in MSXML 1.0, however are currently mapped to MSXML 3.0 objects and the msxml3.dll.

Different versions of MSXML support slightly different sets of functionality. For example, while MSXML 3.0 supports only XDR schemas, it does not support XSD schemas. MSXML 4.0, MSXML 5.0, and MSXML 6.0 support XSD schemas. However, MSXML 6.0 does not support XDR schemas. Support for XML Digital Signatures is provided only by MSXML 5.0. For new XML-related software development, Microsoft recommends using MSXML 6.0 or its lightweight cousin, XmlLite, for native code-only projects.


...
Wikipedia

...