XSLT — страница 78 из 124

DISTANCE UNITS="million miles">43.4

Venus

.815

116.75

3716

.943

66.8

Earth

1

1

2107

1

128.4

Если создать теперь ключ

COLOR
следующим образом:
и осуществить поиск по этому ключу по образцу «
key('COLOR', 'BLUE')
», то будут выбраны все три планеты:

</code></pre></p><p><pre><code>   The Planets Table</code></pre></p><p><pre><code>

   The Planets Table

NameMassRadiusDay
Mercury.0553 (Earth = 1)1516 miles58.65 days
Venus.815 (Earth = 1)3716 miles116.75 days
Earth1 (Earth = 1)2107 miles1 days

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

внутри элемента
. Но что, если каждый элемент
содержит более одного элемента
, как в этом примере:

Mercury

Sister Planet

.0553

58.65

1516

.983

43.4

Venus

Sister Planet

.815

116.75

3716

.943

66.8

Earth

1

1

2107

1

128.4

В этом случае каждый элемент

проверяется на совпадение с ключом. Предположим, например, что я хочу выбрать элементы
с текстом «Sister Planet». Вот таблица стилей:

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

</code></pre></p><p><pre><code>     The Planets Table</code></pre></p><p><pre><code>

     The Planets Table

NameMassRadiusDay



 .

 .

 .

И вот результирующий документ:

</code></pre></p><p><pre><code>   The Planets Table</code></pre></p><p><pre><code>

   The Planets Table

<

NameMassRadiusDay