質問

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