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
IXMLDOMDocument
instance? 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: