Ссылка на таблицу стилей XSL в другой - PullRequest
3 голосов
/ 05 июля 2010

У меня есть таблица стилей XSL, которую я хочу скомпилировать в dll с помощью команды xsltc.exe.Проблема, с которой я сталкиваюсь, заключается в том, что используется общая таблица стилей, и моя таблица стилей ссылается на эту таблицу стилей с помощью тега xsl: include, как показано ниже:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href ="../objectTemplates.xslt"/></xsl:stylesheet>

Возможно ли скомпилировать ссылочную таблицу?Таблица стилей в другую DLL и использовать ее для компиляции.

Так что, если я скомпилировал исходную таблицу стилей в "SomeStylesheet.dll" и ссылку на таблицу стилей в "ObjectTemplate.dll"

Нужно ли дублироватькод для файла objectTemplates.xslt в первый файл XSLT и удалите ссылку xsl: include, или я все еще могу иметь отдельные файлы xsl для них и все еще использовать скомпилированные файлы XSLT.

Любые указатели были бы действительно полезны.

1 Ответ

1 голос
/ 05 июля 2010

На дату написания этого ответа XSLT (1.0, 2.0 и доступный первый рабочий проект 2.1) , как определено в соответствующих спецификациях W3C, не имеет возможности использоватьобъекты (таблицы стилей, глобальные переменные, ... и т. д.) из внешней скомпилированной таблицы стилей.

То есть, если данный процессор XSLT может скомпилировать таблицу стилей, эта таблица стилейможет выполняться только как первичная таблица стилей, и ее скомпилированная форма не может использоваться импортированной / включенной другими таблицами стилей, которые не скомпилированы в одном и том же скомпилированном модуле.

Если необходимо выйти за рамки этого, можно попробовать написать ихсобственные функции расширения для реализации хотя бы элементарной связи между любым преобразованием и шаблонами в скомпилированной таблице стилей.

...