xsl:transform¶
Корневым элементом XSLT-документа всегда является элемент xsl:transform или его синоним xsl:stylesheet.
Эти элементы полностью идентичны и различаются лишь именами.
Синтаксис¶
1 2 3 4 5 6 7 8 | |
Атрибуты:
version- обязательный атрибут, в котором указывается версия языка XSLT, использованная при создании этого преобразования.
id- необязательный атрибут, может содержать уникальный идентификатор данного преобразования. Этот атрибут используется в тех случаях, когда преобразование включено в преобразуемый документ для его идентификации внутри этого документа.
extension-element-prefixes- необязательный атрибут, перечисляет префиксы пространств имен, которые определяют элементы расширения.
exclude-result-prefixes- необязательный атрибут, перечисляет префиксы пространств имен, определения которых не нужно включать в выходящий документ.
Описание и примеры¶
Пример 1¶
Если преобразование, включенное в преобразуемый документ, будет иметь вид
1 2 3 4 5 6 | |
то ассоциироваться с документом оно будет следующей инструкцией:
1 | |
Элемент xsl:transform может включать следующие элементы языка XSLT:
xsl:import;xsl:include;xsl:strip-space;xsl:output;xsl:key;xsl:decimal-format;xsl:namespace-alias;xsl:attribute-set;xsl:variable;xsl:param;xsl:template.
Эти элементы называются элементами верхнего уровня, поскольку они могут находиться на самом верхнем (не считая уровня корневого элемента) уровне в иерархии элементов документа. Более того, все перечисленные элементы кроме xsl:variable и xsl:param должны находиться только на верхнем уровне. Элементы xsl:variable и xsl:param могут использоваться в шаблонах, определяя локальные переменные и параметры.
Если преобразование импортирует внешние модули, первыми дочерними элементами xsl:transform должны быть элементы xsl:import. Иначе говоря, элементам xsl:import внутри xsl:transform должны предшествовать только другие элементы xsl:import. Порядок всех остальных дочерних элементов xsl:transform не имеет значения.
Помимо элементов верхнего уровня, xsl:transform может содержать элементы других, но обязательно ненулевых пространств имен. Это позволяет включать в преобразования любую сопутствующую информацию, правда спецификация оговаривает, что такого рода элементы не должны изменять поведение элементов и функций самого XSLT.
Пример 2¶
Листинг 4.1. Преобразование с элементом верхнего уровня, не принадлежащим XSLT
1 2 3 4 5 6 7 8 9 10 11 | |
На листинге 4.1 элемент source принадлежит пространству имен с URI http://www.a.com/XSL/source. Поскольку пространство имен этого элемента ненулевое, такое объявление является корректным.
См. также¶
Ссылки¶
xsl:transformMDN (рус.)xsl:transformMSDN (en)