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


person Community    schedule 08.11.2012    source источник


Ответы (1)


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

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

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

person Jarekczek    schedule 12.11.2012
comment
В моем коде C ++ вместо CLSID_DomDocument60 используется CLSID_DomDocument. Хотя я еще не тестировал его изменение, я считаю, что это ответ. - person ; 12.12.2012