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?

有帮助吗?

解决方案

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top