XQuery - Secuencias
Las secuencias representan una colección ordenada de elementos donde los elementos pueden ser de tipos similares o diferentes.
Crear una secuencia
Las secuencias se crean utilizando paréntesis con cadenas entre comillas o comillas dobles y números como tales. Los elementos XML también se pueden utilizar como elementos de una secuencia.
Expresión 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>
Salida
<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>
Ver los elementos de una secuencia
Los elementos de una secuencia se pueden iterar uno por uno, usando índice o por valor. El ejemplo anterior iteraba los elementos de una secuencia uno por uno. Veamos las otras dos formas en acción.
Expresión 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>
Salida
<result>
<count>6</count>
<items>
<item>2</item>
</items>
</result>
Expresión de 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>
Salida
<result>
<count>6</count>
<items>
<item>1</item>
<item>2</item>
<item>3</item>
</items>
</result>