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>