Składnia XQuery
XQuery rozróżnia wielkość liter, a elementy, atrybuty i zmienne XQuery muszą być poprawnymi nazwami XML.
Podstawowe zasady składni XQuery
Kilka podstawowych zasad składni:
- XQuery rozróżnia wielkość liter
- Elementy, atrybuty i zmienne XQuery muszą być poprawnymi nazwami XML
- Wartość ciągu XQuery może być w pojedynczych lub podwójnych cudzysłowach
- Zmienna XQuery jest zdefiniowana przez $, po której następuje nazwa, np. $bookstore
- Komentarze XQuery są oddzielone znakami (: i :), np. (: Komentarz XQuery :)
Przykładowy dokument XML
W poniższych przykładach użyjemy dokumentu „books.xml” (ten sam plik XML, co w poprzednich rozdziałach).
Wyświetl plik „books.xml” w przeglądarce .
Wyrażenia warunkowe XQuery
Wyrażenia "jeśli-to-inaczej" są dozwolone w XQuery.
Spójrz na następujący przykład:
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>
Uwagi dotyczące składni „jeśli-to-inaczej”: wymagane są nawiasy wokół wyrażenia if. wymagane jest inne, ale może to być po prostu inne ().
Wynikiem powyższego przykładu będzie:
<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>XQuery Kick Start</adult>
<adult>Learning XML</adult>
Porównania XQuery
W XQuery istnieją dwa sposoby porównywania wartości.
1. Porównania ogólne: =, !=, <, <=, >, >=
2. Porównanie wartości: eq, ne, lt, le, gt, ge
Poniżej przedstawiono różnicę między tymi dwiema metodami porównania.
Poniższe wyrażenie zwraca prawdę, jeśli jakikolwiek atrybut q ma wartość większą niż 10:
$bookstore//book/@q > 10
Poniższe wyrażenie zwraca prawdę, jeśli wyrażenie zwraca tylko jeden atrybut q, a jego wartość jest większa niż 10. Jeśli zwrócony zostanie więcej niż jeden atrybut q, wystąpi błąd:
$bookstore//book/@q gt 10