Документация по XSL-FO

Документы XSL-FO являются XML-файлами с информацией об output.

Документация по XSL-FO

Документы XSL-FO являются XML-файлами с информацией об output. Они содержат информацию о выведении макета и содержимого.

Документы XSL-FO хранятся в файлах с расширением .fo или .fob. Документы XSL-FO с расширением .xml также встречаются часто, и это делает их более доступными для редактирования в редакторах XML.

Структура документа XSL-FO

Структура документа XSL-FO подобна такому:

<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set
  <fo:simple-page-master master-name="A4">
    <!-- Мастер страницы здесь -->
  </fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
  <!-- Содержимое страницы здесь -->
</fo:page-sequence>
</fo:root>

Структура объяснение

Документ XSL-FO является документом XML, так как также нужно начинать с декларации XML:

<?xml version="1.0" encoding="ISO-8859-1"?>

Элемент <fo:root> является корневым элементом документа XSL-FO. Этот корневой элемент также должен декларировать пространство имен XSL-FO:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <!-- Это содержимое документа XSL-FO -->
</fo:root>

Элемент <fo:layout-master-set> содержит один или несколько шаблонов страниц:

<fo:layout-master-set
  <!-- Здесь содержатся все шаблоны страниц -->
</fo:layout-master-set>

Элемент <fo:simple-page-master> содержит один шаблон страницы. Каждый шаблон должен иметь уникальное имя (master-name):

<fo:simple-page-master master-name="A4">
  <!-- Здесь содержится某一个 шаблон страницы -->
</fo:simple-page-master>

Одна или несколько элементов <fo:page-sequence> могут описывать содержимое страницы. Атрибут master-reference использует то же имя для ссылки на шаблон simple-page-master:

<fo:page-sequence master-reference="A4">
  <!-- Здесь содержится контент страницы -->
</fo:page-sequence>

Комментарии:Значение master-reference "A4" на самом деле не описывает某个 предопределенный формат страницы. Это всего лишь имя. Вы можете использовать любое имя, например "MyPage", "MyTemplate" и т.д.