KnigaRead.com/

Стивен Холзнер - XSLT

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн "Стивен Холзнер - XSLT". Жанр: Интернет издательство -, год -.
Перейти на страницу:

 | xsl:copy-of

 | xsl:number

 | xsl:choose

 | xsl:if

 | xsl:text

 | xsl:copy

 | xsl:variable

 | xsl:message

 | xsl:fallback ">


<!ENTITY % instructions "

 %char-instructions;

 | xsl:processing-instruction

 | xsl:comment

 | xsl:element

 | xsl:attribute ">


<!ENTITY % char-template " (#PCDATA %char-instructions;)* ">


<!ENTITY % template " (#PCDATA %instructions; %result-elements;)* ">


<!-- Используется для типа значения атрибута, являющегося ссылкой URI.-->

<! ENTITY % URI "CDATA">


<!-- Используется для типа значения атрибута, являющегося образцом.-->

<!ENTITY % pattern "CDATA">


<!-- Используется для типа значения атрибута, являющегося

     шаблоном значений атрибута.-->

<!ENTITY % avt "CDATA">


<!-- Используется для типа значения атрибута, являющегося QName: префикс

     раскрывается процессором XSLT. -->

<!ENTITY % qname "NMTOKEN">


<!-- Как qname, но список QName, разделенных символам разделителями -->

<!ENTITY % qnames "NMTOKENS">


<!-- Используется для типа значения атрибута, являющегося выражением.-->

<!ENTITY % expr "CDATA">


<!-- Используется для типа значения атрибута, состоящего

     из одного символа.-->

<!ENTITY % char "CDATA">


<!-- Используется для типа значения атрибута, являющегося приоритетом. -->

<!ENTITY % priority "NMTOKEN">


<!ENTITY % space-att "xml:space (default|preserve) #IMPLIED">


<!-- Это может быть перекрыто, для того чтобы модифицировать множество

     элементов допустимых на верхнем уровне. -->

<!ENTITY % non-xsl-top-level "">


<!ENTITY % top-level " (xsl:import*,

 (xsl:include | xsl:strip-space | xsl:preserve-space | xsl:output | xsl:key

 | xsl:decimal-format | xsl:attribute-set | xsl:variable | xsl:param

 | xsl:template | xsl:namespace-alias %non-xsl-top-level:)*) ">


<!ENTITY % top-level-atts "

 extension-element-prefixes CDATA #IMPLIED

 exclude-result-prefixes CDATA #IMPLIED

 id ID #IMPLIED

 version NMTOKEN #REQUIRED

 xmlns:xsl CDATA #FIXED "http://www.w3.org/1999/XSL/Transform"

 %space-att; ">


<!-- Эта сущность определена для использования в объявлении ATTLIST для

     результирующих элементов. -->

<!ENTITY % result-element-atts "

 xsl:extension-element-prefixes CDATA #IMPLIED

 xsl:exclude-result-prefixes CDATA #IMPLIED

 xsl:use-attribute-sets %qnames: #IMPLIED

 xsl:version NMTOKEN #IMPLIED ">


<!ELEMENT xsl:stylesheet %top-level;>

<!ATTLIST xsl:stylesheet %top-level-atts;>


<!ELEMENT xsl:transform %top-level;>

<!ATTLIST xsl:transform %top-level-atts;>


<!ELEMENT xsl:import EMPTY>

<!ATTLIST xsl:import href %URI; #REQUIRED>


<!ELEMENT xsl:include EMPTY>

<!ATTLIST xsl:include href %URI; #REQUIRED>


<!ELEMENT xsl:strip-space EMPTY>

<!ATTLIST xsl:strip-space elements CDATA #REQUIRED>


<!ELEMENT xsl:preserve-space EMPTY>

<!ATTLIST xsl:preserve-space elements CDATA #REQUIRED>


<!ELEMENT xsl:output EMPTY>

<!ATTLIST xsl:output

 method %qname; #IMPLIED

 version NMTOKEN #IMPLIED

 encoding CDATA #IMPLIED

 omit-xml-declaration (yes|no) #IMPLIED

 standalone (yes|no) #IMPLIED

 doctype-public CDATA #IMPLIED

 doctype-system CDATA #IMPLIED

 cdata-section-elements %qnames; #IMPLIED

 indent (yes|no) #IMPLIED

 media-type CDATA #IMPLIED>


<!ELEMENT xsl:key EMPTY>

<!ATTLIST xsl:key

 name %qname; #REQUIRED

 match %pattern; #REQUIRED

 use %expr; #REQUIRED>


<!ELEMENT xsl:decimal-format EMPTY>

<!ATTLIST xsl:decimal-format

 name %qname; #IMPLIED

 decimal-separator %char; "."

 grouping-separator %char; "."

 infinity CDATA "Infinity"

 minus-sign %char; "-"

 NaN CDATA "NaN"

 percent %char; "%"

 per-mille %char; "&#x2030;"

 zero-digit %char; "0"

 digit %char; "#"

 pattern-separator %char; ":">


<!ELEMENT xsl:namespace-alias EMPTY>

<!ATTLIST xsl:namespace-alias

 stylesheet-prefix CDATA #REQUIRED

 result-prefix CDATA #REQUIRED>


<!ELEMENT xsl:template

 (#PCDATA %instructions; %result-elements; | xsl:param)*>

<!ATTLIST xsl:template

 match %pattern: #IMPLIED

 name %qname: #IMPLIED

 priority %priority: #IMPLIED

 mode %qname: #IMPLIED

 %space-att;

>


<!ELEMENT xsl:value-of EMPTY>

<!ATTLIST xsl:value-of

 select %expr; #REQUIRED

 disable-output-escaping (yes|no) "no">


<!ELEMENT xsl:copy-of EMPTY>

<!ATTLIST xsl:copy-of select %expr; #REQUIRED>


<!ELEMENT xsl:number EMPTY>

<!ALLLIST xsl: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 xsl:apply-templates (xsl:sort|xsl:with-param)*>

<!ATTLIST xsl:apply-templates

 select %expr; "node()"

 mode %qname; #IMPLIED>


<!ELEMENT xsl:apply-imports EMPTY>

<!-- xsl:sort не может встречаться после любых других элементов или

     любого символа, не являющегося разделителем -->


<!ELEMENT xsl:for-each

 (#PCDATA %instructions; %result-elements; | xsl:sort)*>

<!ATTLIST xsl:for-each

 select %expr; #REQUIRED

 %space-att;>


<!ELEMENT xsl:sort EMPTY>

<!ATTLIST xsl:sort

 select %expr; "."

 lang %avt; #IMPLIED

 data-type %avt; "text"

 order %avt; "ascending"

 case-order %avt; #IMPLIED>


<!ELEMENT xsl:if %template;>

<!ATTLIST xsl:if

 test %expr; #REQUIRED

 %space-att;>


<!ELEMENT xsl:choose (xsl:when+, xsl:otherwise?)>

<!ATTLIST xsl:choose %space-att;>


<!ELEMENT xsl:when %template;>

<!ATTLIST xsl:when

 test %expr; #REQUIRED

 %space-att;>


<!ELEMENT xsl:otherwise %template;>

<!ATTLIST xsl:otherwise %space-att;>


<!ELEMENT xsl:attribute-set (xsl:attribute)*>

<!ATTLIST xsl:attribute-set

 name %qname; #REQUIRED

 use-attribute-sets %qnames; #IMPLIED>


<!ELEMENT xsl:call-template (xsl:with-param)*>

<!ATTLIST xsl:call-template name %qname; #REQUIRED>


<!ELEMENT xsl:with-param %template;>

<!ATTLIST xsl:with-param

 name %qname; #REQUIRED

 select %expr; #IMPLIED>


<!ELEMENT xsl:variable %template;>

<!ATTLIST xsl:variable

 name %qname; #REQUIRED

 select %expr; #IMPLIED>


<!ELEMENT xsl:param %template;>

<!ATTLIST xsl:param

 name %qname; #REQUIRED

 select %expr; #IMPLIED>


<!ELEMENT xsl:text (#PCDATA)>

<!ATTLIST xsl:text disable-output-escaping (yes|no) "no">


<!ELEMENT xsl:processing-instruction %char-template;>

<!ATTLIST xsl:processing-instruction

 name %avt; #REQUIRED

 %space-att;>


<!ELEMENT xsl:element %template;>

<!ATTLIST xsl:element

 name %avt; #REQUIRED

 namespace %avt; #IMPLIED

 use-attribute-sets %qnames; #IMPLIED

 %space-att;>


<!ELEMENT xsl:attribute %char-template;>

<!ATTLIST xsl:attribute

 name %avt; #REQUIRED

 namespace %avt; #IMPLIED

 %space-att;>


<!ELEMENT xsl:comment %char-template;>

<!ATTLIST xsl:comment %space-att;>


<!ELEMENT xsl:copy %template;>

<!ATTLIST xsl:copy

 %space-att;

 use-attribute-sets %qnames; #IMPLIED


<!ELEMENT xsl:message %template;>

<!ATTLIST xsl:message

 %space-att;

 terminate (yes|no) "no">


<!ELEMENT xsl:fallback %template;>

<!ATTLIST xsl: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>), которые уже были определены;

• | означает вариант выбора, использовать можно только один из них;

• || означает вариант выбора, можно использовать один или несколько вариантов в любом порядке;

• [] означает групповые инструкции, вычисляемые во многом так же, как и математические выражения;

• * означает, что предыдущий терм может встречаться ноль или более раз;

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*