>
margin-left="0mm" margin-right="0mm"/>
.
.
.
Это завершает используемый в документе шаблон, простой шаблон страницы «page», почему здесь также завершается и элемент
.В дополнение к элементу
, документ с форматирующими объектами, как правило, также содержит один или несколько элементов
, задающих последовательности страниц, создаваемых по определенному в
шаблону, и я добавил в документ последовательность страниц.Создание последовательностей страниц:
Что такое последовательность страниц? Это ряд страниц с одинаковыми характеристиками (например, глава в книге), которые при желании можно форматировать одинаковым способом. Страницы в результирующем документе в действительности создаются тогда, когда процессор XSL-FO обрабатывает элементы
.Каждый элемент
ссылается либо на элемент
, либо на шаблон страницы, и фактическая схема страниц определяется этими шаблонами. Несколько более сложно создание последовательностей, у которых место расположения номера страницы меняется — номеру располагаются на разных сторонах страницы, как при создании страниц книги.К объекту
применимы следующие свойства:•
country
;•
format
;•
language
;•
letter-value
;•
grouping-separator
;•
grouping-size
;•
id
;•
initial-page-number
;•
force-page-count
;•
master-name
.В последней рекомендации XSL W3C шаблон страницы для последовательности страниц задается атрибутом
master-name
элемента
. Я назвал свой простой шаблон страницы «page», и здесь я устанавливаю данный атрибут в это имя:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
page-height="400mm" page-width="300mm"
margin-top="10mm" margin-bottom="10mm"
margin-left="20mm" margin-right="20mm">
margin-left="0mm" margin-right="0mm"/>
.
.
.
.
.
.
Этот код определяет шаблон страницы, который будет использован для последовательности страниц. Теперь мне нужно задать содержимое (content) последовательности, что делается при помощи детей потока (flow) элемента
.Создание объектов потока:
Объекты потока носят такое название потому, что текст в них «заливается» и выравнивается, заполняя страницу, программой, отвечающей за вывод на экран. Содержимое страницы управляется объектами потока.
Есть два вида объектов потока:
и
. Объект
хранит содержимое (например, текст в верхних и нижних колонтитулах), которое будет повторяться на страницах последовательности (как мы увидим в главе 12). Объект
содержит сам текст, образующий содержимое документа.К
применимо следующее свойство:•
flow-name
.Я воспользуюсь элементом
для обработки текстового содержимого planets.xml
. Чтобы гарантировать, что текст будет преобразован в поток, я применю элемент
:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
.
.
.
.
.
.
Здесь мы заканчиваем рассмотрение элемента
; я указал шаблон для этой последовательности, который предоставит процессору XSL-FO способ форматирования содержимого в страницах форматированного документа. После описания схемы страниц, которые я хочу создать, теперь, наконец, пора перейти к их содержимому. Первый элемент, отображающий содержимое, —
.Создание содержимого уровня блока:
Блоки играют важную роль в XSL-FO: они применяются для создания прямоугольных областей вывода, отделенных от других областей вывода в документе. Форматирующий объект
применяется для форматирования таких элементов, как абзацы, заголовки, подписи к рисункам и таблицам и т.д. Вот пример из начала главы, где я создаю элемент блока и задаю различные свойства и текст в блоке:
Welcome to XSL formatting.
С объектом
можно применять следующие свойства:• общие свойства доступа:
source-document
, role
;• общие звуковые свойства:
azimuth
, cue-after
, cue-before
, elevation
, pause-after
, pause-before
, pitch
, pitch-range
, play-during
, richness
, speak
, speak-header
, speak-numeral
, speak-punctuation
, speech-rate
, stress
, voice-family
, volume;• общие свойства границ, заполнения и заднего фона:
background-attachment