Speak.Me Учить иностранные слова

XSL: ключи (xsl:key)

В XSLT можно группировать узлы по определенным признакам, а потом выполнять преобразования над этими группами (например, с использованием инструкции xsl:for-each). Сгруппировать узлы помогают так называемые ключи. По сути ключи и являются теми признаками, по которым группируются узлы. Ключи в XSLT задаются с помощью элемента верхнего уровня xsl:key.

Синтаксис:

Атрибуты:

  • name — обязательный атрибут, задает имя ключа, по которому в дальнейшем можно будет использовать ключ
  • match — обязательный атрибут, его значение является выражение XPath, выбирающее узлы, к которым будет применен ключ (ну или которые будут объединены ключом)
  • use — также обязательный атрибут, значением которого является выражение XPath, определяющее по какому признаку будут группироваться узлы (т.е. какой признак и будет являться ключевым)

Обратиться к множеству узлов по значению их ключей можно с помощью XPath функции key(name, use). Функция принимает два аргумента: первый — строка — имя ключа, заданное атрибутом name элемента xsl:key, второй — объект любого типа (строка, выражение XPath) — значение, которому должен быть равен результат вычисления выражения XPath, указанного в атрибуте use элемента xsl:key. Возвращает функция key набор узлов.