Poniżej zamieszczono przykład zapytania zagnieżdżonego ze schematu źródła danych produktu Rational Tau.
W poniższym przykładzie przedstawiono zagnieżdżone zapytanie przypisane do elementu szablonu produktu
IBM® Rational Tau.
Pierwsze zapytanie - model/root(Package) -
jest wykonywane w kontekście modelu produktu Rational Tau.
Drugie zapytanie - model/root(Package)/ownedMember - jest
wykonywane w każdym pakiecie zwracanym przez pierwsze zapytanie.
Jeśli
lista wszystkich klas z pakietów najwyższego poziomu w modelu jest wymagana, zapytanie
to
model/root(Package)/ownedMember(Class).
W tym formularzu dokument wyjściowy nie zawiera już nazwy
każdego pakietu. Lista klasy jest budowana w taki sam sposób, jak w pierwszym
przypadku. Zapytanie jest podzielone na własne zapytania komponentów, a każde zapytanie
działa w kontekście zdefiniowanym przez poprzednie zapytania:
Tabela 1. PodzapytaniaPodzapytanie |
Kontekst |
Wynik |
model |
Nie dotyczy |
model |
model/root(Package) |
model |
lista pakietów |
ownedMember(Class) |
lista pakietów |
lista klas |
Każde podzapytanie jest wykonywane jeden raz dla każdego elementu, a wyniki
każdego wykonania są konkatenowane. Te wyniki
stają się kontekstem dla następnego podzapytania lub listy wyników, jeśli podzapytanie
jest ostatnim zapytaniem.