If then else stateCt : if « XQuery « XML






If then else stateCt



File: Data.xml

<prices>
  <priceList effDate="2006-11-15">
    <prod num="1">
      <price currency="USD">29.99</price>
      <discount type="CLR">10.00</discount>
    </prod>
    <prod num="2">
      <price currency="USD">69.99</price>
    </prod>
    <prod num="3">
      <price currency="USD">39.99</price>
      <discount type="CLR">3.99</discount>
    </prod>
  </priceList>
</prices>


File: Query.xquery


let $bargains := doc("Data.xml")/prices/priceList/prod[price < 30]
return if ($bargains)
       then <bargain-bin>{$bargains}</bargain-bin>
       else ()


Output:

<?xml version="1.0" encoding="UTF-8"?>
<bargain-bin>
   <prod num="1">
      <price currency="USD">29.99</price>
      <discount type="CLR">10.00</discount>
    </prod>
</bargain-bin>

 








Related examples in the same category

1.Conditional expression
2.Conditional expression returning multiple expressions
3.Nested conditional expressions
4.If statement in return clause
5.Converting values without a lookup table