XSL-FO
| XSL-FO | |
|---|---|
| Орган стандартизации | Консорциум Всемирной паутины |
| Официальный сайт | w3.org/TR/xsl11/ (англ.) |
XSL-FO (англ. eXtensibleStylesheetLanguageFormattingObjects — объекты форматирования языка таблиц стилей для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, появились такие возможности, как закладки, поддержка предметного указателя, а также поддержка многопоточности.
См. также
[править |править код]Ссылки
[править |править код]- Спецификация XSL-FO 1.1
- Apache FOP — реализация FO-процессора, бесплатная, с открытым исходным кодом
- Tutorial XSL-FO от w3schools (англ.))
- Tutorial XSL-FO (de)
- FO.NET - реализация FO-процессора на .NET
intmain(){printf("Hi");return0;}