Объекты форматирования XSL


XSL-FO ( XSL Formatting Objects ) — это язык разметки для форматирования документов XML , который чаще всего используется для создания PDF - файлов. XSL-FO является частью XSL (Extensible Stylesheet Language), набора технологий W3C , предназначенных для преобразования и форматирования XML-данных. Другими частями XSL являются XSLT и XPath . Версия 1.1 XSL-FO была опубликована в 2006 году.

W3C считает, что функция XSL-FO завершена : [1] последнее обновление рабочего проекта было в январе 2012 г., а его рабочая группа закрылась в ноябре 2013 г. [2]

В отличие от комбинации HTML и CSS , XSL-FO представляет собой унифицированный язык представления. Он не имеет семантической разметки, поскольку этот термин используется в HTML. И, в отличие от CSS, который изменяет стандартное представление внешнего документа XML или HTML, он хранит все данные документа внутри себя.

Общая идея использования XSL-FO заключается в том, что пользователь пишет документ не на FO, а на языке XML. Возможные примеры — XHTML , DocBook и TEI . Затем пользователь получает XSLT - преобразование, либо написав его самостоятельно, либо найдя его для рассматриваемого типа документа. Это преобразование XSLT преобразует XML в XSL-FO.

После создания документа XSL-FO он передается в приложение, называемое процессором FO. Процессоры FO преобразуют документ XSL-FO во что-то, что можно читать, печатать или и то, и другое. Наиболее распространенным выходным файлом XSL-FO является файл PDF или PostScript , но некоторые процессоры FO могут выводить в другие форматы, такие как файлы RTF или даже просто окно в пользовательском графическом интерфейсе, отображающее последовательность страниц и их содержимое.

Сам язык XSLT изначально задумывался только для этой цели; теперь он широко используется для более общих преобразований XML. Этот шаг преобразования считается в XSL-FO настолько само собой разумеющимся, что люди нередко называют XSLT, который превращает XML в XSL-FO, фактическим документом XSL-FO. Даже учебники по XSL-FO, как правило, пишутся с помощью XSLT-команд вокруг инструкций по обработке FO.