дополнение к заданию схемы расположения полей страницы, у
<fo:simple-page-master>
есть дети, определяющие одну или несколько областей страницы, что позволяет точно настроить схему расположения.
Создание областей
В версии 1.0 спецификации XSL у шаблонов страниц имелось пять областей (region). Центральная область, соответствующая основной части, телу страницы, называется областью тела (body region). Верхняя часть страницы, верхний колонтитул (header), называется передней областью (before region); нижняя часть страницы, нижний колонтитул (footer), называется задней областью (after region). В языках, которые читаются слева направо, как английский язык, левая часть страницы называется начальной областью (start region), а правая часть называется конечной областью (end region). В языках, которые читаются справа налево, начальная и конечная области меняются местами. Начальная и конечная области аналогичны боковым полям, расположенным по бокам области тела.
Этим областям соответствуют следующие элементы XSL-FO:
•
<fo:region-before>
;
•
<fo:region-after>
;
•
<fo:region-body>
;
•
<fo:region-start>
;
•
<fo:region-end>
.
С ними можно применять следующие свойства:
• общие свойства границ, заполнения и заднего фона:
background-attachment
,
background-color
,
background-image
,
background-repeat
,
background-position-horizontal
,
background-position-vertical
,
border-before-color
,
border-before-style
,
border-before-width
,
border-after-color
,
border-after-style
,
border-after-width
,
border-start-color
,
border-start-style
,
border-start-width
,
border-end-color
,
border-end-style
,
border-end-width
,
border-top-color
,
border-top-style
,
border-top-width
,
border-bottom-color
,
border-bottom-style
,
border-bottom-width
,
border-left-color
,
border-left-style
,
border-left-width
,
border-right-color
,
border-right-style
,
border-right-width
,
padding-before
,
padding-after
,
padding-start
,
padding-end
,
padding-top
,
padding-bottom
,
padding-left
,
padding-right
;
• общие
свойства полей для блоков:
margin-top
,
margin-bottom
,
margin-left
,
margin-right
,
space-before
,
space-after
,
start-indent
,
end-indent
;
•
clip
;
•
column-count
;
•
column-gap
;
•
display-align
;
•
extent
;
•
overflow
;
•
region-name
;
•
reference-orientation
;
•
writing-mode
.
Области страницы можно настраивать по вашему желанию, как в таблице стилей XSLT, в которой я задал поля для области тела. Четыре внешних области (но не область тела) имеют свойство
extent
, задающее их размер, которым я здесь воспользуюсь:
Это завершает используемый в документе шаблон, простой шаблон страницы «page», почему здесь также завершается и элемент
<fo:layout-master-set>
.
В дополнение к элементу
<fo:layout-master-set>
, документ с форматирующими объектами, как правило, также содержит один или несколько элементов
<fo:page-sequence>
, задающих последовательности страниц, создаваемых по определенному в
<fo:layout-master-set>
шаблону, и я добавил в документ последовательность страниц.
Создание последовательностей страниц: <fo:page-sequence>
Что такое последовательность страниц? Это ряд страниц с одинаковыми характеристиками (например, глава в книге), которые при желании можно форматировать одинаковым способом. Страницы в результирующем документе в действительности создаются тогда, когда процессор XSL-FO обрабатывает элементы
<fo:page-sequence>
.
Каждый элемент
<fo:page-sequence>
ссылается либо на элемент
<fo:page-sequence-master>
, либо на шаблон страницы, и фактическая схема страниц определяется этими шаблонами. Несколько более сложно создание последовательностей, у которых место расположения номера страницы меняется — номеру располагаются на разных сторонах страницы, как при создании страниц книги.