Turning content into markup : output « XQuery « XML






Turning content into markup


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

for $model in distinct-values(doc("Data.xml")/order/car/@model)
return element {$model}
               {doc("Data.xml")/order/car[@model = $model]/name}

Output:

<?xml version="1.0" encoding="UTF-8"?>
<A>
   <name language="en">name 1</name>
</A>
<B>
   <name language="en">name 2</name>
   <name language="en">name 3</name>
</B>

 








Related examples in the same category

1.Constructing elements using XML-like syntax
2.Wrapping results in a new element
3.Adding attributes to results
4.Adding an attribute to an element
5.Removing a child from an element