0

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?

1 Answers1

1

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.

Jarekczek
  • 7,456
  • 3
  • 46
  • 66
  • My C++ code is using CLSID_DomDocument instead of CLSID_DomDocument60. Although I haven't tested changing it yet I believe that is the answer. –  Dec 11 '12 at 20:20