Книга: Технология XSLT
Использование нескольких ключей в одном преобразовании
Использование нескольких ключей в одном преобразовании
В случае, когда к узлам в преобразовании нужно обращаться по значениям различных свойств, можно определить несколько ключей — каждый со своим именем. Например, если мы хотим в одном случае обращаться к объектам, принадлежащим одному источнику, а во втором — к объектам с определенными именами, мы можем определить в документе два ключа — один с именем src
, второй — с именем name
:
<xsl:key name="src" match="item" use="@source"/>
<xsl:key name="name" match="item" use="@name"/>
Множество ключей, созданных этими двумя определениями, будет выглядеть следующим образом:
(<item name="А".../>, 'src', 'а')
(<item name="А".../>, 'name', 'А')
(<item name="В".../>, 'src', 'b')
(<item name="В".../>, 'name', 'В')
(<item name="C".../>, 'src', 'a')
(<item name="C".../>, 'name', 'С')
(<item name="D".../>, 'src', 'с')
(<item name="D".../>, 'name', 'D')
...
(<item name="H".../>, 'src', 'a')
(<item name="H".../>, 'name', 'H')
В этом случае функция key('src', 'а')
возвратит объекты с именами A
, C
и H
, а функция key('name', 'а')
— объект с именем А
.
Имя ключа является расширенным именем. Оно может иметь объявленный префикс пространства имен, например
<xsl:key
name="data:src"
match="item"
use="@source"
xmlns:data="urn:user-data"/>
В этом случае функция key(key-name, key-value)
будет возвращать узлы, значение ключа с расширенным именем key-name
которых равно key-value
. Совпадение расширенных имен определяется как обычно — по совпадению локальных частей и URI пространств имен.
- Определение множества ключей
- Использование нескольких определений одного ключа
- Восстановление с использованием инструмента gbak
- Типы страниц и их использование
- Использование констант
- Использование переменной окружения ISC_PATH
- ОДНОМЕРНЫИ КОНТРАСТ
- Использование сервера Yaffil внутри процесса
- Одновременный запуск нескольких копий сервера (multi-instancing)
- Использование CAST() с типами дата
- Использование типов содержимого и столбцов
- Вызов хранимых процедур InterBase с использованием стандартного синтаксиса ODBC