Приложение Б
Форматирующие свойства XSL-FO
В этом приложений перечислены все форматирующие свойства XSL-FO в спецификации XSL 1.0. Подробнее о свойствах XSL-FO можно узнать по адресу www.w3.org/TR/xsl/slice7.html. Многие свойства XSL-FO унаследованы из спецификации для каскадных таблиц стилей версии 2, которую вы можете найти по адресу www.w3.org/TR/REC-CSS2.
В следующем списке приведен синтаксис, используемый в этом приложении, соответствующий спецификации XSL-FO:
• <>
обозначает единицы значений (см. таблицу В.1), или свойства (например, <color>), которые уже были определены;
• | означает вариант выбора, использовать можно только один из них;
• ||
означает вариант выбора, можно использовать один или несколько вариантов в любом порядке;
• []
означает групповые инструкции, вычисляемые во многом так же, как и математические выражения;
• *
означает, что предыдущий терм может встречаться ноль или более раз;
• +
означает, что предыдущий терм может встречаться один или более раз;
• ?
означает, что предыдущий терм необязателен;
• {}
окружают пары чисел, задающие минимальное и максимальное число раз встречи терма (как в {1, 4});
Во многих свойствах XSL-FO задан определенный формат для присваиваемых им значений, как, например <color>
или <angle>
. Эти форматы и их описание перечислены в следующем списке.
• <absolute-size>
. Абсолютные размеры шрифта; могут быть xx-small, x-small, small (маленький), medium (средний), large (крупный), x-large, xx-large;
• <angle>
. Углы; могут измеряться в deg (градусах), grad (градах) или rad (радианах);
• <border-style>
. Граница прямоугольника, может принимать значения none (нет), dotted (пунктиром), dashed (штрихами), solid (непрерывная), double (двойная), groove (канавкой), ridge (с толстой кромкой), inset (вложенная) или outset (вынесенная);
• <border-width>
. Устанавливает ширину границы: может принимать значения thin (тонкая), medium (средняя), thick (толстая) или явного размера;
• <color>
. Цвет; может быть задан предопределенным значением цвета или тройным цветовым значением RGB;
• <country-language>
. Устанавливается в значение <language>
;
• <family-name>
. Название семейства шрифтов, такого как Arial, Times New Roman или Courier;
• <frequency>
. Значения частоты; единицами измерения могут быть Hz (Гц) или KHz (кГц);
• <generic-family>
. Обобщенные названия шрифтов, применяемых в качестве последней попытки, если браузер не может найти определенный шрифт. Например, serif (браузер должен выбрать шрифт serif), sans-serif (браузер должен выбрать семейство sans-serif) и monospace (браузер должен выбрать моноширинный шрифт);
• <generic-voice>
. Звук голоса; может быть male (мужской), female (женский) или child (детский);
• <integer>
. Стандартные целые значения;
• <keep>
. Контекстно-зависимое свойство, принимает значение Auto для того, чтобы не удерживать вместе ограничения, или Always для жесткого удержания ограничений вместе. Дополнительная информация приведена в спецификации XSL;
• <language>
. Определитель языка, соответствующий спецификации RFC1766 (которую можно найти по адресу www.w3.org/TR/xsl/sliceD.html#RFC1766);
• <length>
. Длина, может начинаться с + или за которыми следует число. Число может содержать десятичную точку, за которой следует идентификатор единиц, принимающий значения em (размер шрифта соответствующего шрифта), ex (x-height, высота шрифта), px (пикселов, pixel, определяется устройством просмотра), pt (пунктов, point, 1/72 дюйма), in (дюймов, inch), cm (сантиметров), mm (миллиметров) или pc (пик, pica, 1/6 дюйма);
• <length-bp-ip-direction>
. Задает расстояние, разделяющее смежные границы ячейки в направлении размещения строк. Дополнительная информация приведена на www.w3.org/TR/xsl/slice7.html;
• <length-conditional>
. Составное значение, задающее ширину и возможный тип передней границы. Дополнительная информация приведена на www.w3.org/TR/xsl/slice7.html#pr- section;
• <length-range>
. Определяет диапазон длины, как расписано в спецификации XSL;
• <margin-width>
. Может принимать значения <length>
, <percentage>
или auto. Работа значения auto зависит от контекста, подробности приведены на www.w3.org/TR/REC-CSS2/visudet.html#Computing_widths_and_margins;
• <number>
. Число, может включать знак и десятичную точку;
• <padding-width>
. Устанавливается в значение <length>
;
• <percentage>
. Число, может содержать знак, за которым следует знак процента (%);
• <relative-size>
. Размер шрифта относительно родительского элемента, может быть больше или меньше;
• <shape>
. Пока может задавать только прямоугольник (shape — фигура), как, например: rect(<top> <right> <bottom> <left>)
;
• <space>
. Задает минимальное, оптимальное и максимальное значения для пробела. Подробности см. на www.w3.org/TR/xsl/slice4.html#spacecond;
• <specific-voice>
. Задает определенный голос. Подробности см. на www.w3.org/TR/REC-CSS2/aural.html#propdef-voice-family;
• <time>
. Единицы времени, указанные как число, за которым сразу же следует ms (миллисекунды) или s (секунды);
• <uri-specification>
. Uniform Resource Indicator (URI), web-адрес элемента страницы, такого, как рисунок.
Отметьте также, что свойства XSL-FO, как и свойства CSS2, могут принимать значение «inherit», что означает, что значение свойства должно быть унаследовано от его родительского элемента.
В XSL-FO есть следующие свойства:
• absolute-position
. Определяет, является ли позиция элемента абсолютной. Устанавливается в auto | absolute | fixed | inherit
;
• active-state
. Определяет, какие из наборов <fo:multi-property- set>
будут использоваться для форматирования дочерних потоковых (flow) объектов. Устанавливается в link | visited | active | hover | focus
;
• alignment-adjust
. При помощи этого свойства можно установить позицию базовой