2009-12-12 3 views
1
<listings> 
    <property rln="r317080" firm="f102" agent="a2140"> 
     <street>2638 Maple Avenue</street> 
     <city>Padua</city> 
     <state>WI</state> 
     <zip>53701</zip> 
     <price>229000</price> 
     <style>2 Story Contemporary, Transitional</style> 
     <sqfeet>2328</sqfeet> 
     <bathrooms>2 1/2</bathrooms> 
     <bedrooms>4</bedrooms> 
     <garage>2 car, attached</garage> 
     <age>22</age> 
     <description>Very nice home on a one block dead end street with woods nearby. 
     Very special location for quiet and privacy! Home features open floor plan with 
     large rooms - new patio doors to pretty yard. updates: shingles, vinyl siding, 
     refrig and dishwasher, garage door. Fireplace in family room flanked by great 
     built-ins. add first floor laundry and award winning Padua schools. 
     </description> 
    </property> 
    <property ...> 
     <city>Broxton</city> 
    ... 
    </property> 
    <property ...> 
     <city>Cutler</city> 
    ... 
    </property> 
    <property ...> 
     <city>Argyle</city> 
    ... 
    </property> 
    <property ...> 
     <city>Stratmore</city> 
    ... 
    </property> 
    <property ...> 
     <city>Padua</city> 
    ... 
    </property> 
    <property ...> 
     <city>Oseola</city> 
    ... 
    </property> 
    <property ...> 
     <city>Fenmore</city> 
    ... 
    </property> 
    <property ...> 
     <city>Cutler</city> 
    ... 
    </property> 
    <property ...> 
     <city>Padua</city> 
    ... 
    </property> 
    <property ...> 
     <city>Cutler</city> 
    ... 
    </property> 
    <property ...> 
     <city>Oseola</city> 
    ... 
    </property> 
</listings> 

В моем учебнике (XML второе издание Патрик Carey) предоставляет пример использования «Muenchian Группировка», чтобы найти уникальные выборы. Часть я не понимаю, таким образом:XSLT - Доступ ключа по индексу - Например, в Muenchian Группировка

Он попадет сюда, в прогрессировании примера, где говорится: « свойства [генерировать-идентификатор() = генерировать-ID (ключ (» cityNames», «Катлер») [1])] », в котором говорится, что это найдет первый« Cutler »в выборе из-за индекса« [1] ». Что с учетом XML выше будет возвращать "Катлер"

Теперь пример прогрессирует таким образом: " свойства [генерировать-идентификатор() = генерировать-идентификатор (ключ (" cityNames», города) [1])] ", в котором говорится, что это найдет первое и единственное первое (поэтому уникальное) каждого города в ключе. Создание группы уникальных ценностей всего города. Какой из приведенных выше XML вернет «Argyle Broxton Cutler Fenmore Padua Stratmore Oseola» (обратите внимание, что кратных нет).

Теперь мой вопрос: почему второй оператор возвращает диапазон значений, а не только один?

Благодаря

ответ

0

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

Добавление фильтра предикатов для первого гарантирует, что вы получите не более одного (первого) узла, возвращаемого из ключа.

+0

Я отредактировал мой вопрос для лучшего понимания, пожалуйста, взгляните на него еще раз и дайте мне знать, что вы думаете. Благодарю. –

0

Хорошо, я полагаю, ответ, который я искал, таким образом:

свойство [генерировать-идентификатор() = генерировать-идентификатор (ключ ("cityNames", город) [1])] Этот код находит первый из каждого города

свойства [генерировать-идентификатор() = генерировать-идентификатор (ключ («cityNames» город [1]))] и этот код находит первую очередь города

достаточно легко , просто не видел этого раньше.

+1

Ваш второй XPath уверен, не имеет большого смысла, и вы не должны его использовать. Чтобы найти первый город (или, точнее, город первого имущества), используйте '/ listings/property [1]/city'. – Tomalak

 Смежные вопросы

  • Нет связанных вопросов^_^