If statement in return clause : if « XQuery « XML






If statement in return clause


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
     let $idProds := count($prods)
     for $prod at $count in $prods
     return if ($count = $idProds)
            then concat($prod/name,".")
            else concat($prod/name,",")

Output:

<?xml version="1.0" encoding="UTF-8"?>name 1, name 2, name 3.

 








Related examples in the same category

1.Conditional expression
2.Conditional expression returning multiple expressions
3.Nested conditional expressions
4.Converting values without a lookup table
5.If then else stateCt