XQuery - Sequências
As sequências representam uma coleção ordenada de itens onde os itens podem ser de tipos semelhantes ou diferentes.
Criando uma sequência
As sequências são criadas usando parênteses com strings entre aspas ou aspas duplas e números como tal. Os elementos XML também podem ser usados como itens de uma sequência.
Expressão XQuery
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>
Resultado
<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>
Vendo os itens de uma sequência
Os itens de uma sequência podem ser iterados um a um, usando índice ou valor. O exemplo acima iterou os itens de uma sequência, um por um. Vamos ver as outras duas formas de ação.
Expressão XQuery (Índice)
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>
Resultado
<result>
<count>6</count>
<items>
<item>2</item>
</items>
</result>
Expressão XQuery (valor)
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>
Resultado
<result>
<count>6</count>
<items>
<item>1</item>
<item>2</item>
<item>3</item>
</items>
</result>