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


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

Создание последовательностей страниц: <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>
.