Syntaxe XQuery
XQuery rozlišuje velká a malá písmena a prvky, atributy a proměnné XQuery musí být platné názvy XML.
Základní pravidla syntaxe XQuery
Některá základní pravidla syntaxe:
- XQuery rozlišuje velká a malá písmena
- Prvky, atributy a proměnné XQuery musí být platné názvy XML
- Hodnota řetězce XQuery může být v jednoduchých nebo dvojitých uvozovkách
- Proměnná XQuery je definována znakem $ následovaným názvem, např. $knihkupectví
- Komentáře XQuery jsou odděleny (: a :), např. (: Komentář XQuery :)
Vzorový dokument XML
V příkladech níže použijeme dokument „books.xml“ (stejný soubor XML jako v předchozích kapitolách).
Zobrazte soubor „books.xml“ ve svém prohlížeči .
XQuery podmíněné výrazy
Výrazy "If-Then-Else" jsou v XQuery povoleny.
Podívejte se na následující příklad:
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>
Poznámky k syntaxi "if-then-else": jsou vyžadovány závorky kolem výrazu if. else je vyžadován, ale může to být jen else ().
Výsledkem výše uvedeného příkladu bude:
<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>XQuery Kick Start</adult>
<adult>Learning XML</adult>
Srovnání XQuery
V XQuery existují dva způsoby porovnávání hodnot.
1. Obecná srovnání: =, !=, <, <=, >, >=
2. Porovnání hodnot: eq, ne, lt, le, gt, ge
Rozdíl mezi těmito dvěma srovnávacími metodami je uveden níže.
Následující výraz vrátí hodnotu true, pokud mají některé atributy q hodnotu větší než 10:
$bookstore//book/@q > 10
Následující výraz vrátí hodnotu true, pokud výraz vrátí pouze jeden atribut q a jeho hodnota je větší než 10. Pokud je vráceno více než jedno q, dojde k chybě:
$bookstore//book/@q gt 10