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

0

Решение

При создании объекта msxml указывайте версию явно. В VBA это выглядит так:

set xml = CreateObject("MSXML2.DomDocument.6.0")

Microsoft не рекомендует использовать MSXML без указания версии: Почему независимые от версии GUID и ProgID были удалены.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]