Версия парсера MSXML XSLT
У меня есть приложение 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?
1 ответ
Решение
При создании объекта msxml указывайте версию явно. В VBA это выглядит так:
set xml = CreateObject("MSXML2.DomDocument.6.0")
Корпорация Майкрософт не рекомендует использовать MSXML без указания версии: почему были удалены независимые от версии идентификаторы GUID и ProgID.