Gramatyka XQuery
- Poprzednia strona Terminologia XQuery
- Następna strona Dodaj XQuery
XQuery jest wrażliwy na wielkość liter, elementy, atrybuty oraz zmienne w XQuery muszą być legalnymi nazwami XML.
Podstawowe reguły gramatyczne XQuery:
Niektóre podstawowe reguły gramatyczne:
- XQuery jest wrażliwy na wielkość liter
- Elementy, atrybuty oraz zmienne w XQuery muszą być legalnymi nazwami XML.
- Wartości ciągowe w XQuery można definiować za pomocą apostrofów prostych lub podwójnych
- Zmienne w XQuery są definiowane za pomocą "$" i nazwy, na przykład, $bookstore
- Komentarze w XQuery są oddzielone przez (: i :), na przykład, (: Komentarz XQuery :)
Wyrażenie warunkowe w XQuery
Wyrażenie "If-Then-Else" można używać w XQuery.
Proszę zobaczyć 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ązkowe, ale można napisać również "else ()".
Wynik powyższego przykładu:
<adult>Everyday Italian</adult> <child>Harry Potter</child> <adult>Uczenie się XML</adult> <adult>Podstawy XQuery</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 Dodaj XQuery