<!ATTLIST xsclass="underline" value-of
select %expr; #REQUIRED
disable-output-escaping (yes|no) "no">
<!ELEMENT xsclass="underline" copy-of EMPTY>
<!ATTLIST xsclass="underline" copy-of select %expr; #REQUIRED>
<!ELEMENT xsclass="underline" number EMPTY>
<!ALLLIST xsclass="underline" number
level (single|multtyle|any) "single"
count %pattern; #IMPLIED
from %pattern; #IMPLIED
value %expr; #IMPLIED
format %avt; '1'
lang %avt; #IMPLIED
letter-value %avt; #IMPLIED
grouping-separator %avt; #IMPLIED
grouping-size %avt; #IMPLIED>
<!ELEMENT xsclass="underline" apply-templates (xsclass="underline" sort|xsclass="underline" with-param)*>
<!ATTLIST xsclass="underline" apply-templates
select %expr; "node()"
mode %qname; #IMPLIED>
<!ELEMENT xsclass="underline" apply-imports EMPTY>
<!-- xsclass="underline" sort не может встречаться после любых других элементов или
любого символа, не являющегося разделителем -->
<!ELEMENT xsclass="underline" for-each
(#PCDATA %instructions; %result-elements; | xsclass="underline" sort)*>
<!ATTLIST xsclass="underline" for-each
select %expr; #REQUIRED
%space-att;>
<!ELEMENT xsclass="underline" sort EMPTY>
<!ATTLIST xsclass="underline" sort
select %expr; "."
lang %avt; #IMPLIED
data-type %avt; "text"
order %avt; "ascending"
case-order %avt; #IMPLIED>
<!ELEMENT xsclass="underline" if %template;>
<!ATTLIST xsclass="underline" if
test %expr; #REQUIRED
%space-att;>
<!ELEMENT xsclass="underline" choose (xsclass="underline" when+, xsclass="underline" otherwise?)>
<!ATTLIST xsclass="underline" choose %space-att;>
<!ELEMENT xsclass="underline" when %template;>
<!ATTLIST xsclass="underline" when
test %expr; #REQUIRED
%space-att;>
<!ELEMENT xsclass="underline" otherwise %template;>
<!ATTLIST xsclass="underline" otherwise %space-att;>
<!ELEMENT xsclass="underline" attribute-set (xsclass="underline" attribute)*>
<!ATTLIST xsclass="underline" attribute-set
name %qname; #REQUIRED
use-attribute-sets %qnames; #IMPLIED>
<!ELEMENT xsclass="underline" call-template (xsclass="underline" with-param)*>
<!ATTLIST xsclass="underline" call-template name %qname; #REQUIRED>
<!ELEMENT xsclass="underline" with-param %template;>
<!ATTLIST xsclass="underline" with-param
name %qname; #REQUIRED
select %expr; #IMPLIED>
<!ELEMENT xsclass="underline" variable %template;>
<!ATTLIST xsclass="underline" variable
name %qname; #REQUIRED
select %expr; #IMPLIED>
<!ELEMENT xsclass="underline" param %template;>
<!ATTLIST xsclass="underline" param
name %qname; #REQUIRED
select %expr; #IMPLIED>
<!ELEMENT xsclass="underline" text (#PCDATA)>
<!ATTLIST xsclass="underline" text disable-output-escaping (yes|no) "no">
<!ELEMENT xsclass="underline" processing-instruction %char-template;>
<!ATTLIST xsclass="underline" processing-instruction
name %avt; #REQUIRED
%space-att;>
<!ELEMENT xsclass="underline" element %template;>
<!ATTLIST xsclass="underline" element
name %avt; #REQUIRED
namespace %avt; #IMPLIED
use-attribute-sets %qnames; #IMPLIED
%space-att;>
<!ELEMENT xsclass="underline" attribute %char-template;>
<!ATTLIST xsclass="underline" attribute
name %avt; #REQUIRED
namespace %avt; #IMPLIED
%space-att;>
<!ELEMENT xsclass="underline" comment %char-template;>
<!ATTLIST xsclass="underline" comment %space-att;>
<!ELEMENT xsclass="underline" copy %template;>
<!ATTLIST xsclass="underline" copy
%space-att;
use-attribute-sets %qnames; #IMPLIED
<!ELEMENT xsclass="underline" message %template;>
<!ATTLIST xsclass="underline" message
%space-att;
terminate (yes|no) "no">
<!ELEMENT xsclass="underline" fallback %template;>
<!ATTLIST xsclass="underline" fallback %space-att;>
Приложение Б Форматирующие свойства 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 (кГц);