У меня есть приложение C ++, которое использует msxml6.dll для чтения файлов XML и применения XSLT. Я определил, что MSXML v3.0 используется для XSLT, включив в один из моих файлов XSLT следующее:
<vendor><xsl:value-of select="system-property('xsl:vendor')"/></vendor>
<version><xsl:value-of select="system-property('ms:version')"/></version>
Я не понимаю, почему MSXML v3.0 используется вместо MSXML v6.0. Что нужно изменить, чтобы приложение использовало MSXML v6.0?
При создании объекта msxml указывайте версию явно. В VBA это выглядит так:
set xml = CreateObject("MSXML2.DomDocument.6.0")
Microsoft не рекомендует использовать MSXML без указания версии: Почему независимые от версии GUID и ProgID были удалены.
Других решений пока нет …