Question

I have a C++ app that uses msxml6.dll to read XML files and apply XSLTs. I determined that MSXML v3.0 is being used for the XSLTs by including the following in one of my XSLT files:

<vendor><xsl:value-of select="system-property('xsl:vendor')"/></vendor>
<version><xsl:value-of select="system-property('ms:version')"/></version>

I don't understand why MSXML v3.0 is used instead of MSXML v6.0. What needs to change for the app to use MSXML v6.0?

Était-ce utile?

La solution

When creating msxml object, specify the version explicitly. In vba it goes like this:

set xml = CreateObject("MSXML2.DomDocument.6.0")

Microsoft discourages using MSXML without specifying the version: Why Version-Independent GUIDs and ProgIDs Were Removed.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top