Описание тега xsl-fo
Из Википедии
XSL-FO является частью XSL (Extensible Stylesheet Language), набора технологий W3C, предназначенных для преобразования и форматирования данных XML. Другая часть XSL - это XSLT (преобразование расширяемого языка таблиц стилей). По состоянию на 12 декабря 2006 г. текущая версия XSL-FO - v1.1.
Документ XSL-FO обычно создается с использованием XSLT. Процессор XSLT (например, Saxon) оценивает шаблоны в таблице стилей XSLT для преобразования ваших данных в словаре XML (или текста, или JSON, или Markdown, или...) в XML в словаре XSL-FO.
Rather than just adding styles to the fixed structure of the source document, the transformation stage is able to also reorder, duplicate, or drop parts of the source document when generating the XSL-FO document, as well as generate new content based on the structure of the source document. This is especially useful when generating tables of contents and indexes that will appear in the formatted document.
Элементы в документе XSL-FO представляют собой объекты форматирования, а их атрибуты представляют свойства объектов форматирования. Есть ВО для: блоков; столы и части таблиц; изображений; ссылки; индексные записи; и так далее. Свойства выражают такие значения, как размер шрифта, ожидаемое расстояние между FO или то, должны ли два FO быть вместе на одной странице. XSL-FO содержит шаблоны для типов страниц, которые будут использоваться при преобразовании документа в страницы, но XSL-FO не содержит никакой информации о разрывах страниц или (обычно) разрывах строк.
Затем разметка XSL-FO может быть обработана процессором FO, где она чаще всего используется для создания таких форматов документов, как PDF, PostScript или RTF. Процессор FO использует структуру FO, ограничения, выраженные свойствами, размеры символов в доступных шрифтах, внутренние размеры графики и другие факторы для размещения содержимого XSL-FO на страницах. В настоящее время существует один вариант просмотра страниц в самом приложении процессора FO, но после того, как страницы записаны в файл PDF или другой формат, их можно просматривать на экране или распечатывать.
XSL-FO хорошо подходит для приложений, где у вас есть либо ряд очень похожих документов, которые вы хотите отформатировать в одном стиле, либо один большой документ, для которого вам нужен единый стиль без особых ручных усилий. Этап XSLT заботится об указании правильных стилей для структур в исходном XML и о создании оглавления и индекса, а процессор FO автоматически размещает страницы в соответствии с указанными стилями.
Ссылки:
- W3C XSL-FO Спецификация
- XSL-FO Учебник
- Apache FOP, бесплатная программа форматирования печати
- Скачать бесплатно книгу "Практическое форматирование с использованием XSL-FO"
- Другие реализации, использующие XSL-FO в качестве входных данных: Antenna House Formatter и RenderX