Sintaxe do XQuery

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

Expressão condicional do XQuery

"If-Then-Else" pode ser usado no XQuery.

Por favor, 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>

Observe a sintaxe de "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 dos exemplos acima é:

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

Comparação no 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 as seguintes:

Veja a expressão XQuery abaixo:

$bookstore//book/@q > 10

Se o valor da propriedade q for maior que 10, o valor de retorno da 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.