Using an inventory comparison : order by « XQuery « XML






Using an inventory comparison


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>
</order>

File: Query.xquery

let $prods := doc("Data.xml")//car
for $prod in $prods
where $prod << $prods[@model = $prod/@model][last()]
return $prod


Output:

<?xml version="1.0" encoding="UTF-8"?>
<car model="B">
    <id>0002</id>
    <name language="en">name 2</name>
  </car>

 








Related examples in the same category

1.order by clause demo
2.The order by clause
3.Using multiple inventorying specifications
4.Inadvertent resorting in document inventory
5.without inadvertent resorting
6.order by stateCt