Книга: Технология XSLT

Функция key в паттернах

Функция key в паттернах

Разбирая синтаксические правила построения паттернов, мы встретились с особой формой паттерна, в котором могла использоваться функция key. Приведем еще раз эту продукцию:

[PT3] IdKeyPattern ::= 'id' '(' Literal ')'
                       | 'key' '(' Literal ',' Literal ')'

Функция key(key-name, key-value) в паттерне будет соответствовать узлам, значение ключа key-name которых равняется или принадлежит объекту key-value. Это позволяет использовать возможности ключей при проверке узлов на соответствие образцу.

Пример

Предположим, что нам нужно по-особому обработать объекты, принадлежащие источнику а. Для этого мы можем создать шаблон следующего вида.

Листинг 8.30. Шаблон, использующий функцию key в паттерне

<xsl:template match="key('src', 'a')">
 <!-- Содержимое шаблона -->
</xsl:template>

Этот шаблон будет применяться к любым узлам, имеющим ключ src со значением а.

Оглавление книги


Генерация: 1.479. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз