Как я разрешаю директивы xsl:include в C++ (не могу использовать.NET Framework)
Мне нужно загрузить xslt из базы данных и сохранить его в памяти, чтобы он мог быть включен другим xslt.
Я знаю, что вы можете сделать это, используя.NET Framework и класс xmlPreLoadedResolver, но, к сожалению, нам не разрешено писать это как.NET dll.
Кто-нибудь знает, возможно ли это сделать с помощью интерфейсов msxml6 C++?
2 ответа
Решение
В конце концов, единственный способ обойти это - написать код для загрузки xslts верхнего уровня, который мог бы загрузить все зависимости и "взорвать" их в основной xslt. Эти разорванные xlsts затем сохраняются в памяти по мере необходимости.
MSXML поддерживает XSLT 1.0. Подробнее об этом см. Здесь: Создание решений XSLT.
В основном все основано на transformNode
а также transformNodeToObject
методы: метод transformNode