File: Data.xml
<order>
<car model="A">
<id>0001</id>
<name language="en">name 1</name>
</car>
<car model="B">
<id>0002</id>
<name language="en">name 2</name>
</car>
<car model="B">
<id>0003</id>
<name language="en">name 3</name>
</car>
<car model="C">
<id>0004</id>
<name language="en">name 4</name>
</car>
</order>
File: Query.xquery
let $modelNames := <modelNames>
<model code="B" name="Accessories"/>
<model code="C" name="Menswear"/>
<model code="A" name="Womens"/>
</modelNames>
let $cat := doc("Data.xml")/order
for $model in distinct-values($cat/car/@model)
return <li>Department: {data($modelNames/model[@code = $model]/@name)
} ({$model})</li>
Output:
<?xml version="1.0" encoding="UTF-8"?>
<li>Department: Womens (A)</li>
<li>Department: Accessories (B)</li>
<li>Department: Menswear (C)</li>
|