Валиков Алексей Н.
Шрифт:
Чтобы пояснить это, вернемся к нашему примеру: мы ищем элементы
Таблица 8.2. Значения атрибута
Идентификатор (значение атрибута source ) | Элемент item |
---|---|
a | <item source="a" name="A"/> |
a | <item source="a" name="C"/> |
a | <item source="a" name="H"/> |
b | <item source="b" name="B"/> |
b | <item source="b" name="E"/> |
b | <item source="b" name="F"/> |
с | <item source="c" name="D"/> |
с | <item source="c" name="G"/> |
Таким образом, значение
Несмотря на то, что произведенные нами манипуляции чрезвычайно просты (и настолько же эффективны), процессор вряд ли в общем случае сможет сделать что-либо подобное сам, и потому очень важной является возможность явным образом выделять в XSLT-преобразованиях ключевые свойства множеств узлов.
В этом разделе мы будем рассматривать две конструкции, позволяющие манипулировать множествами узлов посредством ключей — это элемент
Элемент xsl:key
Синтаксис элемента несложен:
Элемент верхнего уровня
В нашем примере элементы
Следуя строгому определению, данному в спецификации языка, ключом называется тройка вида
Ключ
В соответствии с нашими определениями мы можем сказать, что элемент
имеет ключ с именем
равен
Для того чтобы обращаться к множествам узлов по значениям их ключей, в XSLT существует функция