Sintaxe XQuery

O XQuery é sensível a maiúsculas e minúsculas, e os elementos, atributos e variáveis XQuery devem ser nomes XML válidos.

Regras básicas de sintaxe do XQuery:

Alguns regras básicas de sintaxe:

  • O XQuery é sensível a maiúsculas e minúsculas
  • Os elementos, atributos e variáveis XQuery devem ser nomes XML válidos.
  • Os valores de string XQuery podem usar aspas simples ou duplas.
  • As variáveis XQuery são definidas com "$" seguido de um nome, por exemplo, $bookstore
  • Os comentários XQuery são divididos por (: e :), por exemplo, (: Comentário XQuery :)

Expressão condicional XQuery

A expressão "If-Then-Else" pode ser usada no XQuery.

Veja o exemplo a seguir:

for $x in doc("books.xml")/bookstore/book
return	if ($x/@category="CHILDREN")
	then <child>{data($x/title)}</child>
	else <adult>{data($x/title)}</adult>

Atenção à sintaxe "If-Then-Else": os parênteses após a expressão if são obrigatórios. else também é obrigatório, mas pode ser escrito apenas "else ()".

O resultado do exemplo acima:

<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>Learning XML</adult>
<adult> Kick Start XQuery</adult>

Comparação XQuery

No XQuery, há duas maneiras de comparar valores.

  1. Comparação genérica: =, !=, <, <=, >, >=
  2. Comparação de valores: eq, ne, lt, le, gt, ge

As diferenças entre esses métodos de comparação são como follows:

Veja a expressão XQuery abaixo:

$bookstore//book/@q > 10

Se o valor da propriedade 'q' for maior que 10, o valor retornado pela expressão acima é true.

$bookstore//book/@q gt 10

Se apenas um 'q' for retornado e seu valor for maior que 10, a expressão retorna true. Se mais de um 'q' for retornado, ocorrerá um erro.