MSXML6 is supposed to have the best security, performance, reliability, and W3C conformance (Using the right version of MSXML in Internet Explorer).
Questions:
- Why does not jQuery use MSXML6?
- Does jQuery use MSXML3? (I think the answer is yes, see my update below...)
- Can i fetch the version of MSXML from an
IXMLDOMDocumentinstance? If so, how?
Update:
I've made some research based on Deviant's answer:
jQuery creates the IXMLHTTPRequest object, which was first released with MSXML 2.0, like this:
new ActiveXObject("Microsoft.XMLHTTP");
Microsoft.XMLHTTP is a ProgID, which is only implemented in MSXML3 for legacy support and not recommended. If i understand the reference correctly this would have created a version 2.x IXMLHTTPRequest object, before those versions was “kill-bitted”. Now I'm pretty sure this ProgID creates an MSXML 3.0 IXMLHTTPRequest object. This may answer my second question.
Here is sample code that shows how to create the two recommended versions of the IXMLHTTPRequest object:
new ActiveXObject("MSXML2.XMLHTTP.3.0"); // MSXML 3.0 ProgID...
new ActiveXObject("MSXML2.XMLHTTP.6.0"); // MSXML 6.0 ProgID...
I've tested XSLT performance in MSXML3 vs MSXML6. MSXML6 used less than 1/10 of the time to do the same transformation as MSXML3 for a pretty large XML file!
Rerences: