2010-12-14 7 views
1

Мне нужно загрузить xslt из базы данных и удерживать ее в памяти, чтобы она могла быть включена другим xslt.Как разрешить xsl: включить директивы в C++ (не использовать .NET framework)

Я знаю, что вы можете сделать это с использованием платформы .NET и класса xmlPreLoadedResolver, но, к сожалению, нам не разрешено писать это как .NET dll.

Кто-нибудь знает, возможно ли это сделать, используя интерфейсы msxml6 C++?

+2

Если вы не можете передать URI-резольвер на XSLT-процессор или XSLT-процессор имеет knowlodge специальных протоколов, вы должны сами составить таблицу стилей. Для 'xsl: include' просто, как при замене этой инструкции для всего содержимого элемента' xsl: stylesheet'. – 2010-12-14 16:44:01

+0

Thats в значительной степени вывод, который я пришел к :( – StevieG

+0

Почему бы вам просто не использовать .net? – ng5000

ответ

0

В конце концов, единственный способ, которым мы могли бы найти, чтобы обойти это написать код о загрузке high-level xslts, которые могут загружать все зависимости и «взрывать» их в основной xslt. Эти взорванные xlsts затем сохраняются в памяти по мере необходимости.

0

MSXML поддерживает XSLT 1.0. Смотрите здесь для получения дополнительной информации: Creating XSLT Solutions

В основном все основано на transformNode и transformNodeToObject методами: transformNode Method