форматирующих объектов; работайте с ними в документах XSL-FO так же, как с атрибутами элементов. Например, вот как я установил семейство (family), размер (size) и насыщенность (weight;) шрифта для текста в блоке:
<fo:block color='blue' font-family='Times'
font-size='36pt' font-weight='bold'>
Hello from XSL-FO!
</fo:block>
Полный список свойств 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) или свойства (например, <color>), которые уже были определены;
• | означает вариант выбора, использовать можно только один из них;
• || означает вариант выбора, можно использовать один или несколько вариантов в любом порядке;
• [] означает групповые инструкции, вычисляемые во многом так же, как и математические выражения;
• * означает, что предыдущий терм может встречаться ноль или более раз;
• + означает, что предыдущий терм может встречаться один или более раз;
• ? означает, что предыдущий терм необязателен;
• {} окружают пары чисел, задающие минимальное и максимальное число раз встречи терма (как в {1, 4});
Во многих свойствах XSL-FO определен определенный формат для присваиваемых им значений, как, например <color> или <angle>, — эти форматы и их описание перечислены в табл. 11.1.
Таблица 11.1. Форматы спецификации XSL-FO
| Формат | Описание |
|---|---|
| <absolute-size> | Абсолютные размеры шрифта; могут быть xx-small, x-small, small (маленький), medium (средний), large (крупный), x-large, xx-large |
| <angle> | Углы; могут измеряться в deg (градусах), grad (градах) или rad (радианах) |
| idctlpar<border-style> | Граница прямоугольника, может принимать значения none (нет), dotted (пунктиром), dashed (штрихами), solid (непрерывная), double (двойная), groove (канавкой), ridge (с толстой кромкой), inset (вложенная) или outset (вынесенная) |
| <border-width> | Устанавливает ширину границы; может принимать значения thin (тонкая), medium (средняя), thick (толстая) или конкретного размера |
| <color> | Цвет; может быть задан предопределенным значением цвета или тройным цветовым значением RGB, как в HTML, — например, «FFFFFF» для белого цвета |
| <country-language> | Устанавливается в значение <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) |
