XSLT
Шрифт:
<fо:repeatable-page-master-alternatives>
.
.
.
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
Очередное свойство элемента
<fo:repeatable-page-master-alternatives>
определяет, сколько раз полагается повторять последовательность: •
maximum-repeats
. Наконец,
<fo:conditional-page-master-reference>
. Этот элемент ссылается на шаблон страницы при помощи свойства master-name
, и этот шаблон страницы будет использован при выполнении определенного условия. Чтобы выбрать первую страницу, нужно установить свойство page-position
в «first», а для выбора остальных страниц — в «rest»: <fo:page-sequence-master master-name="sequence">
<fo:repeatable-page-master-alternatives>
<fо:conditional-page-master-reference
master-name="first" page-position="first"/>
<fo:conditional-page-master-reference
master-name="rest" page-position="rest"/>
</fо:repeatable-page-master-alternatives>
</fo:page-sequence-master>
С элементом
<fo:conditional-page-master-reference>
можно применять следующие свойства: •
master-name
; •
page-position
; •
odd-or-even
; •
blank-or-not-blank
. Теперь при создании последовательности страниц с помощью элемента
<fo:page-sequence>
я указываю, что процессор XSL-FO должен использовать шаблон последовательности, «sequence», который я только что создал, установив атрибут master-name элемента <fo:page-sequence>
: <fo:page-sequence master-name="sequence">
.
.
.
номером текущей страницы, так что установить нумерацию страниц не составит труда. Чтобы вывести номер в верхней части каждой страницы, я создаю верхний колонтитул страницы при помощи элемента
<fo:static-content>
. Существует два вида потоковых объектов:
<fo:static-content>
и <fo:flow>
. Мы уже видели, как при помощи <fo:flow>
добавляются страницы в поток документа. Элемент <fo:static-content>
используется для добавления в документ верхних и нижних колонтитулов. С <fo:static-content>
можно применять следующее свойство: •
flow-name
. Для создания колонтитула нужно только поместить элемент
<fo:static-content>
<fo:flow>
в последовательности страниц: <fo:page-sequence master-name="sequence">
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end" font-size="24pt"
font-family="sans-serif" line-height="36pt">
Sample Document p.
<fo:page-number/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
.
.
.
УСТАНОВКА НАЧАЛЬНОГО НОМЕРА СТРАНИЦЫ
Для установки начального номера страницы в последовательности служит свойство initial-page-number элемента <fo:page-sequence>, что позволяет вам, например, отдельно форматировать главы, начиная каждую главу с правильного номера страницы.
Наконец, нам осталось только включить в
pages.fo
(листинг 12.8) образец форматируемого текста, так чтобы документ содержал более одной страницы. Листинг 12.8. pages.fo
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master margin-right="20mm" margin-left="20mm"
margin-bottom="10mm" margin-top="10mm" page-width="300mm"
page-height="400mm" master-name="first">
<fo:region-body margin-right="0mm" margin-left="0mm"
margin-bottom="10mm" margin-top="50mm"/>
<fo:region-after extent="10mm"/>
<fo:region-before extent="10mm"/>
</fo:simple-page-master>
<fo:simple-page-master margin-right="25mm" margin-left="25mm"
margin-bottom="15mm" margin-top="15mm" page-width="300mm"
page-height="400mm" master-name="rest">
<fo:region-body margin-right="0mm" margin-left="0mm"
margin-bottom="10mm" margin-top="20mm"/>
<fo:region-after extent="10mm"/>
<fо:region-before extent="10mm"/>
</fo:simple-page-master>
<fo:page-sequence-master master-name="sequence">
<fо:repeatable-page-master-alternatives>
Поделиться:
Популярные книги
Черный Маг Императора 11
11. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Судья (Адвокат-2)
2. Бандитский Петербург
Детективы:
боевики
7.24
рейтинг книги
Попытка возврата. Тетралогия
Попытка возврата
Фантастика:
альтернативная история
9.26
рейтинг книги
Магнатъ
4. Александр Агренев
Приключения:
исторические приключения
8.83
рейтинг книги
Эволюционер из трущоб. Том 10
10. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Шайтан Иван 2
2. Шайтан Иван
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Старшина Империи. Часть вторая
3. Внутренняя сила
Фантастика:
боевая фантастика
космическая фантастика
5.25
рейтинг книги
Санек
1. Санек
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Утопающий во лжи 4
4. Утопающий во лжи
Фантастика:
фэнтези
боевая фантастика
рпг
5.00
рейтинг книги
Идеальный мир для Лекаря 27
27. Лекарь
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 13
13. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Имперский Курьер. Том 4
4. Запечатанный мир
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
На границе империй. Том 3
3. Фортуна дама переменчивая
Фантастика:
космическая фантастика
5.63
рейтинг книги
Полководец поневоле
3. Фараон
Фантастика:
попаданцы
5.00