xsl:attribute-set¶
Элемент xsl:attribute-set определяет именованный набор атрибутов.
Синтаксис¶
1 2 3 | |
Атрибуты:
name- обязательный атрибут, задает имя набора атрибутов.
use-attribute-sets- необязательный атрибут, задает перечень названий наборов атрибутов через пробел.
Описание и примеры¶
Для того чтобы упростить создание в элементах целых наборов атрибутов, можно заранее определить их в элементе xsl:attribute-set. Обязательный атрибут name задает имя набора атрибутов. Элемент xsl:attribute-set содержит последовательность, состоящую из нуля или более элементов xsl:attribute.
Именованные наборы атрибутов можно использовать, указывая их имена в значении атрибута use-attribute-sets, который может присутствовать в элементах xsl:element, xsl:copy и xsl:attribute-set, а также в литеральных результирующих элементах. В атрибуте use-attribute-sets через пробел перечисляются имена наборов атрибутов, которые должны быть использованы в данном элементе.
Включение набора атрибутов в элемент равносильно простому копированию элементов xsl:attribute, определенных в соответствующих элементах xsl:attribute-set.
Пример 1¶
В следующем примере сперва создается именованный набор атрибутов title-style, а затем используется в правиле шаблона.
1 2 3 4 5 6 7 8 9 10 | |
Пример 2¶
Предположим, что во входящем документе нам нужно вывести структуру, состоящую из элементов с именем element, атрибут name которых равен имени, атрибут attr-count — количеству атрибутов, а атрибут node-count — количеству дочерних узлов соответствующего элемента.
Входной документ:
1 2 3 | |
Преобразование:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
Выходной документ:
1 2 3 4 | |
В этом преобразовании определение элемента:
1 2 3 4 5 6 | |
равносильно определению:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Как уже было сказано, элемент xsl:attribute-set может также использовать другие наборы атрибутов при помощи use-attribute-sets. Например, в предыдущем преобразовании набор атрибутов elements мог быть определен как:
1 2 3 4 5 6 7 8 9 10 11 | |
Тогда для достижения того же результата элемент с именем element мог быть создан с использованием только одного набора атрибутов:
1 2 3 | |
Пример 3¶
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
См. также¶
xsl:attribute— служит для создания узлов атрибутов.
Ссылки¶
xsl:attribute-setMDN (рус.)xsl:attribute-setMSDN (en)