Версия парсера 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.

Другие вопросы по тегам