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-set
MDN (рус.)xsl:attribute-set
MSDN (en)