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"/>
.
.
.
Это завершает используемый в документе шаблон, простой шаблон страницы «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;
Читать дальше