MSXML: Difference between revisions

Content deleted Content added
Removing 'Legacy' claim. MS pages only show v3 and v4 as being end-of-life. v6 is still being shipped with modern OS releases. I couldn't find any references that suggest v6 is on the decline.
Monkbot (talk | contribs)
m Task 18 (cosmetic): eval 8 templates: hyphenate params (8×);
Line 3:
 
==Overview ==
All MSXML products are similar in that they are exposed programmatically as [[OLE Automation]] (a subset of [[Component Object Model|COM]]) components. Developers can program against MSXML components from [[C (programming language)|C]], [[C++]] or from [[Active Scripting]] languages such as JScript and VBScript. Managed .NET Interop with MSXML COM components is not supported nor recommended.<ref>{{cite web | url = https://support.microsoft.com/en-us/kb/815112 | title = The use of MSXML is not supported in .NET applications | publisher = [[Microsoft]] | accessdateaccess-date = 2010-03-18}}</ref>
 
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 <code>IXmlDomDocument</code>,<ref>{{cite web | url = http://msdn2.microsoft.com/en-us/library/ms756987.aspx | title = IXMLDOMDocument/DOMDocument | publisher = [[MSDN]] | accessdateaccess-date = 2008-05-28}}</ref> <code>IXmlDomDocument2</code>,<ref>{{cite web | url = http://msdn2.microsoft.com/en-us/library/ms761358.aspx | title = IXMLDOMDocument2 | accessdateaccess-date = 2008-05-28 | publisher = [[MSDN]]}}</ref> and <code>IXmlDomDocument3</code><ref>{{cite web | url = http://msdn2.microsoft.com/en-us/library/ms763789.aspx | title = IXMLDOMDocument3 | accessdateaccess-date = 2008-05-28 | publisher = [[MSDN]]}}</ref> 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<ref>{{cite web | url = http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx | title = Using MSXML in the browser | accessdateaccess-date = 2008-05-28}}</ref> using MSXML 6.0 or its lightweight cousin, ''XmlLite'', for [[native code]]-only projects.<ref>{{cite web | url = http://msdn.microsoft.com/en-us/library/ms752872.aspx | title = XmlLite Programmers' Guide and API Reference | publisher = [[MSDN]] | accessdateaccess-date = 2008-05-28}}</ref>
 
== Versions ==
Line 20:
=== Obsolete ===
* '''MSXML 5.0''' MSXML5 was a binary developed specifically for [[Microsoft Office]]. It originally shipped with Office 2003 and also ships with [[Office 2007]]. Microsoft has not released documentation for this version because Microsoft considers MSXML 5 an internal/integrated component of Office 2003. MSXML 5 is not included in [[Microsoft Office 2010|Office 2010]].<ref>[https://technet.microsoft.com/en-us/library/cc178954%28office.14%29.aspx#BKMK_WhatsRemoved Office 2010: What's removed: Office 2010 Resource Kit documentation on TechNet]</ref>
* '''MSXML 4.0''' MSXML4 was shipped as an independent, downloadable SDK targeted at [[independent software vendor]]s and third parties. It is an upgrade for, but not a replacement to MSXML3 as version 3 still provides legacy features. There is no 64-bit version offered, although the 32-bit version was supported for 32-bit processes on 64-bit operating systems. Versions 4 and 3 may be run concurrently. MSXML 4.0 SP3 is the most recent version released in March 2009, SP2 support expired in April 2010,<ref name="MSXML4SP3">{{Citation |title=MSXML 4.0 SP3 Release Notes |publisher=[[Microsoft]] |date=2009-09-29 |url= http://download.microsoft.com/download/A/2/D/A2D8587D-0027-4217-9DAD-38AFDB0A177E/MSXML4%20SP3%20RTM%20Release%20Note.htm |accessdateaccess-date=2011-01-21}}</ref> and MSXML 4.0 SP3 expired in April 2014.<ref name="MSXML4SP3SupportLifeCycle">{{Citation |title=MSXML Roadmap |publisher=[[Microsoft]] |date=2013-03-15 |url=https://msdn.microsoft.com/en-us/library/jj152146(v=vs.85).aspx|accessdateaccess-date=2015-07-11}}</ref>
* '''MSXML 2.6''' This is an early version of MSXML, and is represented by msxml2.dll. This product is no longer supported by Microsoft, and the CLSIDs and ProgIDs it exposes have been subsumed by MSXML 3.0. MSXML 2.6 shipped with [[Microsoft SQL Server]] 2000 and MDAC 2.6. The last version for all platforms was released as [http://support.microsoft.com/kb/887606 KB887606].
* '''MSXML 2.5''' This is an early version of MSXML, and is represented by msxml.dll. This version is also no longer supported by Microsoft, and the CLSIDs and ProgIDs it exposes have been subsumed by MSXML 3.0. MSXML 2.5 shipped with [[Windows 2000]] as part of [[Internet Explorer]] 5.01 and [[Microsoft Data Access Components|MDAC]] 2.5.