Книга: XSLT

Создание последовательностей страниц:

Создание последовательностей страниц: <fo:page-sequence>

Что такое последовательность страниц? Это ряд страниц с одинаковыми характеристиками (например, глава в книге), которые при желании можно форматировать одинаковым способом. Страницы в результирующем документе в действительности создаются тогда, когда процессор XSL-FO обрабатывает элементы <fo:page-sequence>.

Каждый элемент <fo:page-sequence> ссылается либо на элемент <fo:page-sequence-master>, либо на шаблон страницы, и фактическая схема страниц определяется этими шаблонами. Несколько более сложно создание последовательностей, у которых место расположения номера страницы меняется — номеру располагаются на разных сторонах страницы, как при создании страниц книги.

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

• country;

• format;

• language;

• letter-value;

• grouping-separator;

• grouping-size;

• id;

• initial-page-number;

• force-page-count;

• master-name.

В последней рекомендации XSL W3C шаблон страницы для последовательности страниц задается атрибутом master-name элемента <fo:page-sequence>. Я назвал свой простой шаблон страницы «page», и здесь я устанавливаю данный атрибут в это имя:

<?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>
  <fo:page-sequence master-name="page">
   .
   .
   .
  </fo:page-sequence>
  .
  .
  .

Этот код определяет шаблон страницы, который будет использован для последовательности страниц. Теперь мне нужно задать содержимое (content) последовательности, что делается при помощи детей потока (flow) элемента <fo:page-sequence>.

Оглавление книги


Генерация: 1.595. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз