XSLT — страница 102 из 124

planets.xml
в
planets.fo
. Процессор fop создаст из
planets.fo
файл
planets.pdf
, и вы можете вернуться к рис. 11.1 и посмотреть на результат.

Это преобразование форматировало данные в

planets.xml
и отображало их в блоках, одно за другим. С другой стороны, в предыдущих главах мы видели данные планет в виде таблицы. Можно ли это сделать в XSL-FO? Никаких проблем.

Создание таблиц

Таблица — одна из самых полезных структур, которые можно форматировать при помощи XSL-FO. Таблица в XSL-FO во многом похожа на таблицу в HTML: это прямоугольная сетка, состоящая из строк и столбцов ячеек. Для создания таблиц можно применять девять форматирующих элементов.

;

;

;

;

;

;

;

;

.

Создание таблиц в XSL-FO аналогично их созданию в HTML. Вы создаете элемент

, содержащий всю таблицу целиком, затем форматируете каждый столбец при помощи элемента
. После чего вы создаете элемент
, чтобы задать тело таблицы. Элемент
содержит все элементы
, каждый из которых создает строку таблицы. Каждый элемент
содержит элементы
, в которых содержатся данные ячеек таблицы.

Следующий пример (листинг 11.4) демонстрирует работу с этими элементами. Приведенная таблица стилей XSLT преобразует

planets.xml
в документ XSL-FO, форматирующий данные планет в таблицу XSL-FO.

Листинг 11.4. tables.xsl

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

 xmlns:fo="http://www.w3.org/1999/XSL/Format"

 version="1.0">

     page-height="400mm" page-width="300mm"

     margin-top="10mm" margin-bottom="10mm"

     margin-left="20mm" margin-right="20mm">

      margin-left="0mm" margin-right="0mm"/>

          Name

          Mass

          Day

          Radius

          Density

          Distance







<