XML/XQuery/distinct values

Материал из Web эксперт
Версия от 11:25, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Distinctness on a combination of values

   <source lang="xml">

File: Data.xml

<order>

 <car model="A">
   <id>1</id>
   <name language="en">name 1</name>
 </car>
 <car model="B">
   <id>2</id>
   <name language="en">name 2</name>
 </car>
 <car model="B">
   <id>3</id>
   <name language="en">name 3</name>
 </car>

</order>

File: Query.xquery let $prods := doc("Data.xml")//car for $d in distinct-values($prods/@model),

   $n in distinct-values($prods[@model = $d]/id)

return <result model="{$d}" id="{$n}"/>

Output: <?xml version="1.0" encoding="UTF-8"?> <result id="1" model="A"/> <result id="2" model="B"/> <result id="3" model="B"/>

</source>