XQuery Syntaks

XQuery er følsom over for store og små bogstaver, og XQuery's elementer, egenskaber og variabler skal være gyldige XML-navne.

XQuery's grundlæggende syntaksregler:

Nogle grundlæggende syntaksregler:

  • XQuery er følsom over for store og små bogstaver
  • XQuery's elementer, egenskaber og variabler skal være gyldige XML-navne.
  • XQuery strengværdier kan bruge enten enkelt- eller dobbeltanførsler.
  • XQuery variabler defineres med "$" følgt af et navn, f.eks. $bookstore
  • XQuery kommentarer adskilles af (: og :), f.eks. (: XQuery kommentar :)

XQuery betingelsesudtryk

"If-Then-Else" kan bruges i XQuery.

Se nedenstående eksempel:

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>

Bemærk syntaksen for "If-Then-Else": parenteser efter if-udtrykket er obligatoriske. else er også obligatorisk, men du kan også skrive "else ()".

Resultatet af de ovenstående eksempler:

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

XQuery Sammenligning

Der er to måder at sammenligne værdier på i XQuery.

  1. Generel sammenligning: =, !=, <, <=, >, >=
  2. Værdiskomparering: eq, ne, lt, le, gt, ge

Forskellen mellem disse to sammenligningsmetoder er som følger:

Se nedenstående XQuery udtryk:

$bookstore//book/@q > 10

Hvis værdien af q-attributten er større end 10, returnerer værdien af det ovenstående udtryk true.

$bookstore//book/@q gt 10

Hvis kun en q returneres, og dens værdi er større end 10, returnerer udtrykket true. Hvis mere end en q returneres, opstår der en fejl.