Inadvertent resorting in document inventory : order by « XQuery « XML






Inadvertent resorting in document inventory


File: Data.xml
<order>
  <car model="A">
    <id>0001</id>
    <name language="en">name 1</name>
    <colorChoices>navy black</colorChoices>
  </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 $sortedProds := for $prod in doc("Data.xml")//car
                    order by $prod/id
                    return $prod
for $prodName in $sortedProds/name
return <li>{string($prodName)}</li>

Output:

<?xml version="1.0" encoding="UTF-8"?>
<li>name 1</li>
<li>name 2</li>
<li>name 3</li>
<li>name 4</li>

 








Related examples in the same category

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