Lekérdezések egymásba ágyazásához utód elemekhez kell
hozzárendelni őket.
Eljárás
- A Document Studio alkalmazásban nyissa meg az
Adatforrásséma nézetet.
- Húzzon egy elemet az Adatforrásséma nézetből a
sablonelembe. Amikor olyan elembe húz egy lekérdezést, amelynek szülő eleme van, a
rendszer ellenőrzi, hogy az odahúzott lekérdezés futtatható-e a szülő elem
lekérdezésének kontextusában. A Kontextus
kiválasztása ablakban láthatók mindazok a lekérdezések, amelyek
kontextusként szolgálhatnak.
A felsorolás tartalmazza az megjelenést és a hozzá tartozó szöveges
ábrázolást.
- Válassza ki a lekérdezéskontextust a listából. Ha nem választ kontextust, az két nem kapcsolódó egymásba ágyazott
lekérdezést eredményez.
- Kattintson az OK gombra.
Példa
Az alábbi példa bemutat egy
Rational DOORS
sablonelemhez hozzárendelt beágyazott lekérdezést.
Paragraph DOORS 1 $1 Module/Object
Text
Module/Object/Object/Heading
Paragraph DOORS 1 $2 Module/Object/Attribute
Text
Module/Object/Attribute/Name
A példában a
Module/Object lekérdezés szolgál a
Module/Object/Attribute kontextusaként.
A példában
a második lekérdezés kontextusának $1-re állítása az
alábbi kimenetet állítja elő:
- Olyan bekezdéskészlet, amely a modulba található minden egyes objektum
fejlécét tartalmazza.
- Bekezdések listája az aktuális objektumhoz tartozó attribútumnevekkel
az $1 lekérdezésben.
A második lekérdezés
kontextusának none-ra állítása az alábbi kimenetet
állítja elő:
- Olyan bekezdéskészlet, amely a modulba található minden egyes objektum
fejlécét tartalmazza.
- Bekezdések listája az összes objektumhoz tartozó attribútumnevekkel.
Az alábbi példa bemutat egy
IBM® Rational Tau
sablonelemhez hozzárendelt beágyazott lekérdezést.
Az első
lekérdezés, a model/root(Package) a
Rational Tau
modell kontextusában kerül végrehajtásra.
A második lekérdezés, a
model/root(Package)/ownedMember az első lekérdezés
által visszaadott minden egyes csomagra kerül végrehajtásra.
Ha a
modellben található felső szintű csomagok összes osztályának listájára
kíváncsi, akkor a lekérdezés:
model/root(Package)/ownedMember(Class).
Ebben a formában a kimeneti dokumentum már nem tartalmazza az egyes
csomagok nevét. Az osztályok listája ugyanúgy kerül összeállításra, mint
az első esetben. A lekérdezés felosztásra kerül az összetevő
lekérdezésekre, és mindegyik lekérdezés a korábbi lekérdezések által
meghatározott kontextusban
fut:
1. Táblázat RészlekérdezésekRészlekérdezés |
Környezet |
Eredmény |
model |
Nem alkalmazható |
a modell |
model/root(Package) |
modell |
csomagok listája |
ownedMember(Class) |
csomagok listája |
osztályok listája |
Az egyes
részlekérdezések egyszer kerülnek végrehajtásra minden elemre, és az egyes
végrehajtások eredményei összefűzésre kerülnek. Ezek az eredmények képezik
a következő részlekérdezés kontextusát, illetve ha a részlekérdezés az
utolsó, akkor az eredménylistát.