XSLT — страница 93 из 124

• 

. Задает шаблон страницы (page-master), который следует использовать при выполнении указанных условий;

• 

. Создает глобальные объявления;

• 

. Добавляет в документ графику (графические данные располагаются за пределами результирующего документа, но могут быть интегрированы в документы PDF такими процессорами, как fop);

• 

. Указывает, что определенное содержимое будет форматироваться в отдельной, незакрепленной области в начале страницы или сдвинутой к одной из сторон;

• 

. Обрабатывает поток текста, отображаемый в документе. Накладывает блокировку на «поток» встроенных областей, когда они заменяются в документе;

• 

. Задает ссылку на сноску, а также саму связанную с ней сноску;

• 

. Определяет содержимое сноски;

• 

. Задает форматирующие свойства для начальной строки блока;

• 

. Создает встроенную область (inline area). Встроенные области часто применяются для форматирования определенной части текста в блоке;

• 

. Создает контейнер для встроенных объектов, позволяя обрабатывать их все вместе;

• 

. Используется для вставки в документ встроенной графики или другого объекта;

• 

. Задает оболочку для всех шаблонов, используемых в документе;

• 

. Создает строку из повторяющегося символа или образец из символов для разделения двух текстовых форматирующих объектов;

• 

. Создает форматированный список, — с ним мы познакомимся в следующей главе;

• 

. Задает метку и тело элемента списка;

• 

. Задает содержимое тела элемента списка;

• 

. Задает содержимое метки элемента списка;

• 

. Применяется вместе с для создания колонтитулов или сносок по ходу работы;

• 

. Задает объекты, которые показывает или скрывает родительский элемент
;

• 

. Позволяет переключаться между двумя или более наборами свойств;

• 

. Задает альтернативный набор свойств;

• 

. Переключает между двумя или более поддеревьями форматирующих объектов;

• 

. Используется внутри элемента
для переключения на другой
;

• 

. Указывает номер текущей страницы;

• 

. Ссылается на номер страницы, содержащей заданный форматирующий объект;

• 

. Определяет способ создания последовательности страниц в документе;

• 

. Содержит последовательности шаблонов страниц, используемых для создания последовательностей страниц;

• 

. Обозначает область, расположенную после области
;

• 

. Обозначает область перед областью
;

• 

. Обозначает область в центре
;

• 

. Обозначает область в конце области
;

• 

. Обозначает область, начинающую область
;

• 

. Задает повторяющиеся экземпляры набора альтернативных шаблонов страниц;

• 

. Обозначает подпоследовательность повторяющихся экземпляров единственного шаблона страницы;

• 

. Используется вместе с
для создания колонтитулов или сносок в рабочем режиме;

• 

. Узел документа, отформатированного при помощи XSL;

• 

. Задает начальное место в простой ссылке;

• 

. Определяет форму страницы, которая может быть разделена на области (до пяти областей);

• 

. Определяет подпоследовательность, образованную из единственного экземпляра единственного шаблона страницы;

• 

. Содержит последовательность форматирующих объектов, которые будут отображены в одной области или повторены в областях в одной или более страницах в последовательности страниц. Чаще всего применяется для повторяющихся колонтитулов и сносок;

• 

. Создает таблицу. Содержит такие элементы, как
и
;

• 

. Содержит данные и заголовок таблицы;

• 

. Определяет содержимое тела таблицы. Содержит такие элементы, как
;

• 

. Задает форматирующие объекты уровня блока, в которых содержится заголовок таблицы;

• 

. Помещает данные в ячейки таблицы;

• 

. Задает свойства ячеек в одном столбце таблицы;

• 

. Определяет содержимое нижнего колонтитула таблицы;

• 

. Определяет содержимое верхнего колонтитула таблицы;

• 

. Связывает ячейки таблицы в строки. Содержит элементы
;

• 

. Задает заголовок документа;

• 

. Задает свойства для группы форматирующих объектов;

Каждый из этих элементов также поддерживает одно или несколько форматирующих свойств XSL-FO.

Форматирующие свойства XSL-FO

Форматирующие свойства XSL-FO настраивают действия перечисленных в предыдущем разделе форматирующих объектов; работайте с ними в документах XSL-FO так же, как с атрибутами элементов. Например, вот как я установил семейство (family), размер (size) и насыщенность (weight;) шрифта для текста в блоке:

 font-size="36pt" font-weight="bold">

 Hello from XSL-FO!

Полный список свойств XSL-FO и их описание можно найти по адресу www.w3.org/TR/xsl/slice7.html. Многие свойства XSL-FO унаследованы из спецификации для каскадных таблиц стилей версии 2, CSS2, которую вы можете найти по адресу www.w3.org/TR/REC-CSS2.

В следующем списке перечислен ряд наиболее распространенных свойств XSL-FO. Полный список свойств (весьма длинный) приведен в Приложении Б. В списке используется следующий синтаксис, соответствующий спецификации XSL-FO:

• 

<>
обозначает единицы значений (см. таблицу 11.1) или свойства (например, ), которые уже были определены;

• 

|
означает вариант выбора, использовать можно только один из них;

• 

||
означает вариант выбора, можно использовать один или несколько вариантов в любом порядке;

• 

[]
означает групповые инструкции, вычисляемые во многом так же, как и математические выражения;

• 

*
означает, что предыдущий терм может встречаться ноль или более раз;

• 

+
означает, что предыдущий терм может встречаться один или более раз;

• 

?
означает, что предыдущий терм необязателен;

• 

{}
окружают пары чисел, задающие минимальное и максимальное число раз встречи терма (как в {1, 4});

Во многих свойствах XSL-FO определен определенный формат для присваиваемых им значений, как, например

или
, — эти форматы и их описание перечислены в табл. 11.1.


Таблица 11.1. Форматы спецификации XSL-FO

ФорматОписание
Абсолютные размеры шрифта; могут быть xx-small, x-small, small (маленький), medium (средний), large (крупный), x-large, xx-large
Углы; могут измеряться в deg (градусах), grad (градах) или rad (радианах)