Чтение онлайн

на главную - закладки

Жанры

Холзнер Стивен

Шрифт:

<?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: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
, задающее их размер, которым я здесь воспользуюсь:

<?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>

.

.

.

Это завершает используемый в документе шаблон, простой шаблон страницы «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>
, либо на шаблон страницы, и фактическая схема страниц определяется этими шаблонами. Несколько более сложно создание последовательностей, у которых место расположения номера страницы меняется — номеру располагаются на разных сторонах страницы, как при создании страниц книги.

К объекту

<fo:page-sequence>
применимы следующие свойства:

• 

country
;

Поделиться:
Популярные книги

Вечный. Книга VII

Рокотов Алексей
7. Вечный
Фантастика:
боевая фантастика
рпг
попаданцы
5.00
рейтинг книги
Вечный. Книга VII

Гримуар темного лорда II

Грехов Тимофей
2. Гримуар темного лорда
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гримуар темного лорда II

Лейтенант. Назад в СССР. Книга 8. Часть 1

Гаусс Максим
8. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Лейтенант. Назад в СССР. Книга 8. Часть 1

Менталист. Эмансипация

Еслер Андрей
1. Выиграть у времени
Фантастика:
альтернативная история
7.52
рейтинг книги
Менталист. Эмансипация

Точка Бифуркации IV

Смит Дейлор
4. ТБ
Фантастика:
героическая фантастика
городское фэнтези
попаданцы
5.00
рейтинг книги
Точка Бифуркации IV

Сфирот

Прокофьев Роман Юрьевич
8. Стеллар
Фантастика:
боевая фантастика
рпг
6.92
рейтинг книги
Сфирот

Шайтан Иван 4

Тен Эдуард
4. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
8.00
рейтинг книги
Шайтан Иван 4

Запечатанный во тьме. Том 1. Тысячи лет кача

NikL
1. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Запечатанный во тьме. Том 1. Тысячи лет кача

На границе империй. Том 9. Часть 2

INDIGO
15. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 2

Изгои

Владимиров Денис
5. Глэрд
Фантастика:
фэнтези
боевая фантастика
5.00
рейтинг книги
Изгои

Технарь

Муравьёв Константин Николаевич
1. Технарь
Фантастика:
космическая фантастика
попаданцы
7.13
рейтинг книги
Технарь

Чехов

Гоблин (MeXXanik)
1. Адвокат Чехов
Фантастика:
фэнтези
боевая фантастика
альтернативная история
5.00
рейтинг книги
Чехов

Полет аистов

Гранже Жан-Кристоф
Детективы:
триллеры
8.88
рейтинг книги
Полет аистов

Эпоха Опустошителя. Том VIII

Павлов Вел
8. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том VIII