XQuery - Sequenze
Le sequenze rappresentano una raccolta ordinata di elementi in cui gli elementi possono essere di tipo simile o diverso.
Creazione di una sequenza
Le sequenze vengono create utilizzando parentesi con stringhe all'interno di virgolette o virgolette doppie e numeri in quanto tali. Gli elementi XML possono essere utilizzati anche come elementi di una sequenza.
XQuery Expression
let $items := ('orange', <apple/>, <fruit type="juicy"/>, <vehicle type="car">sentro</vehicle>, 1,2,3,'a','b',"abc") let $count := count($items) return <result> <count>{$count}</count>
<items>
{
for $item in $items
return <item>{$item}</item>
}
</items>
</result>
Produzione
<result>
<count>10</count>
<items>
<item>orange</item>
<item>
<apple/>
</item>
<item>
<fruit type="juicy"/>
</item>
<item>
<vehicle type="car">Sentro</vehicle>
</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>a</item>
<item>b</item>
<item>abc</item>
</items>
</result>
Visualizzazione degli elementi di una sequenza
Gli elementi di una sequenza possono essere iterati uno per uno, utilizzando l'indice o il valore. L'esempio sopra ha iterato gli elementi di una sequenza uno per uno. Vediamo gli altri due modi in azione.
Espressione XQuery (indice)
let $items := (1,2,3,4,5,6)
let $count := count($items)
return
<result>
<count>{$count}</count> <items> { for $item in $items[2] return <item>{$item}</item>
}
</items>
</result>
Produzione
<result>
<count>6</count>
<items>
<item>2</item>
</items>
</result>
Espressione XQuery (valore)
let $items := (1,2,3,4,5,6) let $count := count($items) return <result> <count>{$count}</count>
<items>
{
for $item in $items[. = (1,2,3)]
return <item>{$item}</item>
}
</items>
</result>
Produzione
<result>
<count>6</count>
<items>
<item>1</item>
<item>2</item>
<item>3</item>
</items>
</result>