ZSBD-2st-1.2-w10.tresc-1.4-Slajd29

Z Studia Informatyczne
Wersja z dnia 14:24, 10 sie 2006 autorstwa PKrzyzagorski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

XML-QL – przykład

XML-QL – przykład


W przykładzie zapytania XML-QL zastosowano podzapytanie. Zostało ono ograniczone nawiasami klamrowymi. Jego zadaniem jest skonstruowanie elementu zewnętrznego male_zespoly (jest tu użyta niejawna klauzula CONSTRUCT). Podzapytanie składa się z wzorca rozpoczynającego się od elementu <zespoly>. Wzorzec składa się z dwóch części rozdzielonych przecinkiem. Zadaniem pierwszej części wzorca jest wielokrotne dopasowanie się do zawartości dokumentu zespoly.xml. W wyniku każdorazowego dopasowania zmienne $z, $n i $a uzyskują odpowiednie wartości. Jednocześnie, w wyniku każdego dopasowania, tworzona jest kolejna krotka podlegająca przetwarzaniu. Przy założeniu, że dokument zespoly.xml został przedstawiony na slajdzie, wzorzec użyty w zapytaniu utworzy 2 krotki zawierające każdorazowo trzy zmienne. Wartości zmiennych w kolejnych krotkach zostały przedstawione na slajdzie. Druga część wzorca sprawdza czy zawartość zmiennej $z to "zespol". Ten fragment wzorca funkcjonuje analogicznie do klauzuli WHERE w XQuery. Krotki wygenerowane za pomocą klauzuli WHERE zostają następnie przetwarzane za pomocą klauzuli CONSTRUCT. W naszym przykładzie tworzy ona elementy <NiA>, których zawartość zostanie zbudowana w oparciu o wartości zmiennych $n i $a.

Zwróćmy uwagę, że wzorzec wykorzystywany przez język XML-QL odpowiada klauzulom FOR i LET oraz wyrażeniom XPath używanym w języku XQuery. Sposób definiowania wzorca powoduje, że zwykle przyjmuje on duże rozmiary, ponadto nie jest on tak funkcjonalny jak wyrażenia XPath.

Podstawowymi wadami XML-QL są:

- brak możliwości korzystania z wyrażeń XPath i funkcji XPath

- brak obsługi przestrzeni nazw

- brak funkcji grupowych



<< Poprzedni slajd | Spis treści | Następny slajd >>