Frage

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?

War es hilfreich?

Lösung

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top