- •Лекция 4-09
- •5.3.21. Форматирование документов xml с помощью xsl
- •5.3.21.1. Средства форматирования документовXml
- •5.3.21.2. Этапы форматирования документаXml
- •5.3.21.3. Компоненты документаFo
- •5.3.22. Оформление страниц вXsl
- •5.3.22.1. Структура страницы
- •5.3.22.2. Элементы fo:declarations и fo:color-profile
- •5.3.22.3. Элементы создания последовательности страниц
- •5.3.22.4. Элементы fo:layout-master-set и fo:simple-page-master
- •5.3.22.5. Элементы fo:region-body, fo:region-before, fo:region-after, fo:region-start и fo:region-end
- •5.3.22.6. Элементы, формирующие последовательности страниц
- •5.3.23. Блоковые элементыXsl
- •5.3.23.1. Элементfo:block
- •5.3.23.2. Элементfo:block-container
- •5.3.24. Внутристроковые элементыXsl
- •5.3.24.1. Элементfo:inline
- •5.3.24.2. Элементfo:inline-container
- •5.3.24.3. Элементfo:leader
- •5.3.24.4. Элементfo:initial-property-set
- •5.3.24.5. Элементfo:character
- •5.3.24.6. Элементы fo:external-graphic и fo:instream-foreign-object
- •5.3.24.7. Элементы fo:page-number и fo:page-number-citation
- •5.3.25. Элементы форматирования для таблиц
- •5.3.25.1. Элемент fo:table-and-caption и fo:table-caption
- •5.3.25.2. Элементfo:table
- •5.3.25.3. Элементыfo:table-header,fo:table-bodyиfo:table-footer
- •5.3.25.4. Элементfo:table-column
- •5.3.25.5. Элементfo:table-row
- •5.3.25.6. Элементfo:table-cell
- •5.3.26. Элементы форматирования для списков вXsl
- •5.3.27. Элементы динамического форматирования вXsl
- •5.3.27.1. Однонаправленные одноцелевые ссылки
- •5.3.27.2. Переключение между поддеревьями объектов форматирования
- •5.3.27.3. Переключение между различными значениями свойств
- •5.3.28. Внестроковые элементыXsl
5.3.22.2. Элементы fo:declarations и fo:color-profile
Элемент fo:declarationsиспользуется для группирования глобальных объявлений в таблице стилей. Этот элемент может содержать один или несколько элементовfo:color-profile. Для этого пустого элемента определены следующие свойства (в спецификацииXSLатрибутыXMLназываются свойствами, поэтому в дальнейшем будет использоваться этот термин):
src–URIдля изображения или данных цветового профиля;
color-profile-name– имя профиля цвета для внутренних ссылок;
rendering-intent– профиль цвета, отличный от профиля по умолчанию(например,CMYK).
5.3.22.3. Элементы создания последовательности страниц
Элемент fo:page-sequenceиспользуется для определения создания последовательности или подпоследовательности страниц внутри документа: например, главы книги.
Содержимое этих страниц получается из потомков потока, состоящих из объектов потока: одного элемента fo:flowи любого количества элементовfo:static-content– дочерних элементовfo:page-sequence. Кроме того, на странице может быть элементtitle. Структура этих страниц берется из элементовfo:page-sequence-masterили их дочерних элементов, на которые ссылается свойствоmaster-referenceвfo:page-sequence. Последовательности областей, возвращаемых каждым объектом потока – потомкомfo:page-sequence, становятся потомками генерируемых страниц, как описано далее.
Для элемента fo:page-sequenceопределены следующие свойства:
master-reference – определяет имя головной страницы, используемой для создания страниц последовательности;
country– страна (двухсимвольный идентификатор страны, либо значениеnone, если страна не имеет значения, либо значениеinherit– наследование из родительского элемента) (по умолчаниюnone);
language– язык (идентификатор языка, либо значениеnone, если язык не имеет значения, либо значениеinherit– наследование из родительского элемента) (по умолчаниюnone);
format– строка преобразования номера страницы в строку (задается аналогично параметрустрока-форматафункцииformat-number()вXSLT);
letter-value,grouping-separatorиgrouping-size– действуют для номера строки аналогично одноименным атрибутам элементаxsl:numberвXSLT;
id– уникальный идентификатор данного элемента;
initial-page-numberиforce-page-count– устанавливают соответственно номер первой страницы в последовательности страниц и ограничения на количество страниц в последовательности страниц.
Свойство initial-page-numberможет принимать следующие значения:
"auto"– начальное значение будет установлено в1, если в документе отсутствует предыдущийfo:page-sequence, иначе начальный номер будет больше, чем последний номер предшествующей последовательности;
"auto-odd"– значение определяется тем же способом, что и для"auto", но, если значение четное, добавляется1;
"auto-even"– значение определяется тем же способом, что и для"auto", но, если значение нечетное, добавляется1;
"число"– положительное целое число, определяющее начальный номер последовательности страниц.
Свойство force-page-countможет принимать следующие значения:
"auto"– делает последнюю страницу в этой последовательности страниц нечетной, если начальный номер следующей последовательности страниц – четный, и наоборот;
"odd"– делает номера последовательности страниц четными;
"even"– делает номера последовательности страниц нечетными;
"end-on-odd"– делает последнюю страницу последовательности страниц четной;
"end-on-even"– делает последнюю страницу последовательности страниц нечетной;
"no-force"–не делает номера последовательности страниц ни четными, ни нечетными.
Элемент fo:flowопределяет последовательность областей, определяемых блоковыми элементамиfo:block,fo:block-container,fo:table-and-caption,fo:tableиfo:list-block– потомками данного элемента (может быть один или несколько таких элементов).
Единственным свойством элемента fo:flowявляется свойствоflow-name, задающее уникальное имя в пределах последовательностиfo:page-sequence.
Элемент fo:static-contentсодержит блоковый элемент или последовательность блоковых элементов, которые представлены в одном регионе или повторяется в одинаково именованных регионах на одной или более страницах в последовательностиfo:page-sequence(обычно используется для повторяющихся или статичных верхних или нижних колонтитулов). Элемент также имеет свойствоflow-name, задающее уникальное имя в пределах последовательностиfo:page-sequence.
Элемент fo:titleиспользуется для связи заголовка с данной последовательностью страниц. Этот заголовок может использоваться интерактивным пользовательским агентом для идентификации страниц. Элемент может иметь либо строковое содержимое (#PCDATA), либо его содержимым могут быть внутристроковые элементы.
Для элемента fo:title можно задавать позаимствованные из CSS2 общие свойства фона (background-attachment, background-color, background-image, background-repeat, background-position-horizontal и background-position-vertical), рамки (border-before-color, border-before-style, border-before-width, border-after-color, border-after-style, border-after-width, border-start-color, border-start-style, border-start-width, border-end-color, border-end-style, border-end-width, border-top-color, border-top-style, border-top-width, border-bottom-color, border-bottom-style, border-bottom-width, border-left-color, border-left-style, border-left-width, border-right-color, border-right-style и border-right-width) и отступа (padding-before, padding-after, padding-start, padding-end, padding-top, padding-bottom, padding-left и padding-right).
Для элемента fo:title могут быть заданы также позаимствованные из CSS2 общие свойства шрифтов: font-family, font-size, font-stretch, font-size-adjust, font-style, font-variant и font-weight, а также следующие свойства блока (позаимствованные из CSS2): margin-top, margin-bottom, margin-left и margin-right.
Внутристроковые свойства space-start и space-end представляют собой составные свойства, задающие минимальные, оптимальные и максимальные значения дляпространства перед любыми областями, генерируемыми элементом, а также обусловленность и приоритетность для этого пространства.Минимальные (space-start.minimumиspace-end.minimum), оптимальные (space-start.optimumиspace-end.optimum) и максимальные значения (space-start.maximumиspace-end.maximum) задаются в фиксированных единицах измерения или в процентах. Обусловленность (space-start.conditionalityиspace-end.conditionality) – это перечислимое значение, которое управляет воздействием свойстваspaceв начале или в конце внутристроковой области. Возможные значения:retainиdiscard; условный спецификатор пространства – это тот, для которого данное значение –discard.
Приоритет (space-start.precedenceиspace-end.precedence) имеет значение целое число – значение приоритета или специальную лексемуforce.
По умолчанию свойства space-startиspace-endдля минимального, оптимального и максимального значение равны"0pt", для обусловленности –"discard"и для приоритета –"0".
Свойство colorопределяет цвет заголовка и задается также, как вCSS2 – указанием имени цвета (например,"red") или вызовом функцииrgb()(например,"rgb(255,0,0)").
Свойства line-heightиvisibility, позаимствованные изCSS2, определяют соответственно высоту строки и видимость элемента.
