XSLT
Шрифт:
line-height="48pt" font-family="Times" font-style="italiс">
Planet:
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="PLANET/MASS">
<fo:block font-size="24pt" line-height="32pt" font-family="Times">
<fo:inline text-decoration="underline">
Mass
</fo:inline>:
<xsl:apply-templates/>
[Earth = 1]
</fo:block>
</xsl:template>
.
.
.
</xsl:stylesheet>
Вот
planets.xml
в planets.fo
. Процессор fop создаст из planets.fo
файл planets.pdf
, и вы можете вернуться к рис. 11.1 и посмотреть на результат. Это преобразование форматировало данные в
planets.xml
и отображало их в блоках, одно за другим. С другой стороны, в предыдущих главах мы видели данные планет в виде таблицы. Можно ли это сделать в XSL-FO? Никаких проблем. Создание таблиц
Таблица — одна из самых полезных структур, которые можно форматировать при помощи XSL-FO. Таблица в XSL-FO во многом похожа на таблицу в HTML: это прямоугольная сетка, состоящая из строк и столбцов ячеек. Для создания таблиц можно применять девять форматирующих элементов.
•
<fo:table-and-caption>
; •
<fo:table>
; •
<fo:table-column>
; •
<fo:table-caption>
; •
<fo:table-header>
; •
<fo:table-footer>
; •
<fo:table-body>
; •
<fo:table-row>
; •
<fo:table-cell>
. Создание таблиц в XSL-FO аналогично их созданию в HTML. Вы создаете элемент
<fo:table>
, содержащий всю таблицу целиком, затем форматируете каждый столбец при помощи элемента <fo:table-column>
. После чего вы создаете элемент <fo:table-body>
, чтобы задать тело таблицы. Элемент <fo:table-body>
содержит все элементы <fo:table-row>
, каждый из которых создает строку таблицы. Каждый элемент <fo:table-row>
содержит элементы <fo:table-cell>
, в
Следующий пример (листинг 11.4) демонстрирует работу с этими элементами. Приведенная таблица стилей XSLT преобразует
planets.xml
в документ XSL-FO, форматирующий данные планет в таблицу XSL-FO. Листинг 11.4. tables.xsl
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<xsl:template match="PLANETS">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="page"
page-height="400mm" page-width="300mm"
margin-top="10mm" margin-bottom="10mm"
margin-left="20mm" margin-right="20mm">
<fo:region-body margin-top="0mm" margin-bottom="10mm"
margin-left="0mm" margin-right="0mm"/>
<fo:region-after extent="10mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-name="page">
<fo:flow flow-name="xsl-region-body">
<fo:table>
<fo:table-column column-width="30mm"/>
<fo:table-column column-width="30mm"/>
<fo:table-column column-width="30mm"/>
<fo:table-column column-width="30mm"/>
<fo:table-column column-width="30mm"/>
<fo:table-column column-width="30mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell border-width="0.5mm">
<fo:block font-size="18pt" font-weight="bold">
Name
</fo:block>
</fo:table-cell>
<fo:table-cell border-width="0.5mm">
<fo:block font-size="18pt" font-weight="bold">
Mass
</fo:block>
</fo:table-cell>
<fo:table-cell border-width="0.5mm">
<fo:block font-size="18pt" font-weight="bold">
Поделиться:
Популярные книги
Последний Паладин
1. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Идущий в тени 8
8. Идущий в тени
Фантастика:
фэнтези
рпг
5.00
рейтинг книги
Все еще не Герой!. Том 2
2. Путешествие Героя
Фантастика:
боевая фантастика
юмористическое фэнтези
городское фэнтези
рпг
5.00
рейтинг книги
Совпадений нет
Любовные романы:
любовно-фантастические романы
5.50
рейтинг книги
Муж на сдачу
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
На границе империй. Том 7. Часть 4
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Довлатов. Сонный лекарь
1. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
СД. Восемнадцатый том. Часть 1
31. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
6.93
рейтинг книги
Темный Охотник
1. КО: Темный охотник
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Назад в СССР: 1985 Книга 3
3. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
5.50
рейтинг книги
Целитель. Книга вторая
2. Целитель
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Сумеречный стрелок 8
8. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Огненный князь 3
3. Багряный восход
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Магия чистых душ
Любовные романы:
любовно-фантастические романы
5.40