Язык преобразований XSL


C Фрагмент DTD для стилей XSLT (пояснения к спецификации)


Замечание: Данный фрагмент DTD не является нормативным, поскольку в XML 1.0 DTD не поддерживают пространства имен XML, а потому не могут корректно описывать структуру, допустимую для стиля XSLT.

Приводимая далее сущность может использоваться при создании DTD для XSLT стилей, который создает экземпляры уже конкретного конечного DTD. Прежде чем ссылаться на сущность, стиль DTD должен определить сущность параметра result-elements, дающего перечень разрешенных типов данного конечного элемента. Например, <!ENTITY % result-elements " | fo:inline-sequence | fo:block ">

Должно быть декларировано, что такие конечное элементы имеют атрибуты xsl:use-attribute-sets и xsl:extension-element-prefixes. Для этой цели приводимая далее сущность декларирует параметр result-element-atts. XSLT позволяет конечным элементам иметь то же самое содержимое, которое допускалось для элементов XSLT, декларированных в следующей сущности с моделью содержимого %template;. DTD может использовать более ограничивающую модель содержимого, чем %template; чтобы отразить ограничения в конечном DTD.

DTD может определить сущность параметра non-xsl-top-level с тем, чтобы разрешить использование дополнительных элементов верхнего уровня из других пространств имен, помимо пространства имен XSLT.

Использование префикса xsl: в этом DTD не означает, что стили XSLT обязаны использовать этот префикс. Любой из элементов, декларированных в этом DTD, в дополнение к атрибутам, декларированным в этом же DTD, может иметь атрибуты, имена которых начинаются с xmlns: или равны xmlns. <!ENTITY % char-instructions " | xsl:apply-templates | xsl:call-template | xsl:apply-imports | xsl:for-each | xsl:value-of | 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;)* ">




- Начало -  - Назад -  - Вперед -