XSL-FO ( — объекты форматирования языка таблиц стилей для XML) — рекомендованный Консорциумом Всемирной паутины язык разметки типографских макетов и иных предпечатных материалов. XSL-FO является частью XSL, наряду с XSLT и XPath.

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

Документ XSL-FO — это XML файл, в котором хранятся данные для печати или вывода на экран (например, просто текст). Эти данные находятся внутри тегов fo:block, fo:table, fo:simple-page-master и др., где указаны отступы, переводы строк и т.д.

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

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

Текущая и будущие версии На данный момент актуальной версией XSL-FO является версия 1.1, в которой, по сравнению с 1.0, появились такие возможности, как закладки, поддержка предметного указателя, а также поддержка многопоточности.

См. также XML XSL XSLT CSS

Ссылки Спецификация XSL-FO 1.1 Apache FOP — реализация FO-процессора, бесплатная, с открытым исходным кодом Tutorial XSL-FO от w3schools ) Tutorial XSL-FO (de) FO.NET - реализация FO-процессора на .NET

Категория:Языки разметки Категория:Стандарты W3C