Используете XSL-FO и HTML? - PullRequest
       20

Используете XSL-FO и HTML?

4 голосов
/ 30 апреля 2010

Я пытаюсь преобразовать некоторые XML-данные в HTML с помощью XSLT для моей дипломной работы.

Мой профессор хочет, чтобы я тоже рассмотрел XSL-FO или, по крайней мере, написал несколько слов об этом. Но я очень нуб к этому.

Итак, мои вопросы:

Могу ли я объединить FO с HTML? Могу ли я использовать FO вместо HTML и CSS? Если да, как мой браузер отобразит это? Существуют ли примеры / учебные пособия о том, как преобразовать XML в веб-страницы с помощью FO?

Ответы [ 2 ]

8 голосов
/ 01 мая 2010

Генерация XSL-FO и XHTML из XSLT не обязательно является или-или выбором.

XSL-FO обычно используется для создания PDF. Для этого вам понадобится XSL-FO двигатель , такой как FOP , RenderX , Антенный домик , 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 для преобразования XSL-FO * От 1058 * до XHTML . Он преобразует <block> элементов в <div>, <inline> в <span> и т. Д.

Я не использовал их раньше, но вы также можете попробовать использовать таблицы стилей HTML2FO для преобразования XHTML outut в XSL-FO .

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

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

5 голосов
/ 30 апреля 2010

XSL-FO предназначен только для отображения в формате PDF (это не совсем так, но вы можете принять это как рекомендацию). Поэтому вывод HTML и вывод FO не связаны. Из своего источника XML вы можете использовать XSLT для генерации XHTML или XSL-FO, но не одновременно в обоих случаях.

См. Например, DocBook. Он поставляется с несколькими готовыми к использованию таблицами стилей XSLT, один для вывода HTML, а другой для PDF (через Apache Fop). Если вас устраивает результат, может быть другой вопрос.

...