Приложение Б
Форматирующие свойства 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. При помощи этого свойства можно установить позицию базовой
