Создание XSL-FO и XHTML от XSLT не обязательно является либо выбором, либо выбором.
XSL-FO обычно используется для создания PDF. Для этого вам потребуется XSL-FO двигателя, такие как FOP, RenderX, Antenna House, IBex и т.д. Тем не менее, вы можете конвертировать XSL-FO в XHTML, а затем сделать в браузере.
Как правило, это не стоило бы хлопот, чтобы ваш XSLT создать XSL-FO, а затем преобразовать в XHTML (только генерировать XHTML непосредственно), если вы не хотите создавать и выходные форматы (PDF и XHTML) с уменьшенным усилием.
можно создавать как ** XSL-FO и XHTML в то же время без сохранения двух полных наборов стилей для создания аналогичного вывода в различных словарях **.
Вместо выбора между одного формата или другого, либо поддерживать два отчетливо ти различных (но подобных) библиотеки стилей, вы можете создать свою основную библиотеку стилей для создания либо XSL-FO или XHTML, а затем использовать второе преобразование для преобразования изXSL-FOвXHTML и наоборот. Существуют существующие таблицы стилей XSLT, которые вы можете использовать для этого.
В прошлом я разработал XSL-FO таблицы стилей, а затем использовали Render-X FO2HTML stylesheet для преобразования XSL-FOвXHTML вывода. Он преобразует <block>
элементов в <div>
, <inline>
в <span>
и т. Д.
Я не использовал их раньше, но вы также можете попробовать использовать HTML2FO stylesheets конвертировать XHTML outut в XSL-FO.
Из коробки, вы можете получить удивительно похожий выход в обоих форматов при сохранении одной библиотеки XSLT, посвященный один определенный формат вывода.
Если вам случится нужно немного настроить вывод (например, различное содержание заголовка для XHTML), то вам просто нужно импортировать/расширить таблицы стилей преобразования и переопределить соответствующий шаблон (ы) для расширяющегося контента. Это упрощает обслуживание, поэтому вам не нужно беспокоиться об обновлении нескольких наборов таблиц стилей с практически той же информацией.