Gramatyka XQuery
- Poprzednia strona Terminologia XQuery
- Następna strona Dodawanie XQuery
XQuery jest wrażliwy na wielkość liter, elementy, atrybuty oraz zmienne w XQuery muszą być legalnymi nazwami XML.
Podstawowe zasady gramatyczne XQuery:
Oto kilka podstawowych zasad gramatycznych:
- XQuery jest wrażliwy na wielkość liter
- Elementy, atrybuty oraz zmienne w XQuery muszą być legalnymi nazwami XML.
- Wartości ciągłe w XQuery mogą być używane z pojedynczymi lub podwójnymi znakami cudzysłowymi.
- Zmienne w XQuery są definiowane poprzez znak $ i nazwę, na przykład, $bookstore
- Komentarze w XQuery są oddzielone przez (: i :), na przykład, (: Komentarz XQuery :)
Warunkowe wyrażenia XQuery
"If-Then-Else" może być używane w XQuery.
Proszę spojrzeć na poniższy 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>
Proszę zauważyć gramatykę "If-Then-Else": klamry po wyrażeniu if są obowiązkowe. else również jest obowiązkowy, ale można napisać również "else ()".
Wynik powyższych przykładów:
<adult>Everyday Italian</adult> <child>Harry Potter</child> <adult>Learning XML</adult> <adult>XQuery Kick Start</adult>
Porównanie w XQuery
W XQuery istnieją dwa sposoby porównywania wartości.
- Porównanie ogólne: =, !=, <, <=, >, >=
- Porównanie wartości: eq, ne, lt, le, gt, ge
Różnice między tymi dwoma metodami porównania są następujące:
Zobacz poniższe wyrażenie XQuery:
$bookstore//book/@q > 10
Jeśli wartość atrybutu q jest większa niż 10, wartość zwracana przez powyższe wyrażenie to true.
$bookstore//book/@q gt 10
Jeśli zwraca się tylko jeden q, a jego wartość jest większa niż 10, wyrażenie zwraca true. Jeśli zwraca się więcej niż jeden q, wystąpi błąd.
- Poprzednia strona Terminologia XQuery
- Następna strona Dodawanie XQuery