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>
Поделиться:
Популярные книги
Сердце Дракона. Том 19. Часть 1
19. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.52
рейтинг книги
Последняя Арена 10
10. Последняя Арена
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Идеальный мир для Лекаря 21
21. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Звезда сомнительного счастья
Фантастика:
фэнтези
6.00
рейтинг книги
Live-rpg. эволюция-4
4. Эволюция. Live-RPG
Фантастика:
боевая фантастика
7.92
рейтинг книги
Девятое правило дворянина
9. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Муж на сдачу
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Para bellum
4. Фрунзе
Фантастика:
попаданцы
альтернативная история
6.60
рейтинг книги
Егерь
1. Сопряжение
Фантастика:
боевая фантастика
попаданцы
рпг
7.00
рейтинг книги
Вечная Война. Книга VII
7. Вечная Война
Фантастика:
юмористическая фантастика
космическая фантастика
5.75
рейтинг книги
Я снова не князь! Книга XVII
17. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ваантан
10. Другая сторона
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Идущий в тени 4
4. Идущий в тени
Фантастика:
боевая фантастика
6.58
рейтинг книги
Мятежник
4. Стеллар
Фантастика:
боевая фантастика
7.39