Chcete-li vnořit dotazy, přiřaďte je k podřízeným prvkům.
Postup
- V produktu Document Studio otevřete pohled Schéma zdroje dat.
- Přetáhněte prvek z pohledu Schéma zdroje dat do prvku šablony. Po přetažení dotazu do prvku, který má nadřízený prvek, se přetažený dotaz zkontroluje, zda ho lze spustit v kontextu dotazu nadřízeného prvku. Všechny dotazy, které nemohou sloužit jako kontext, se zobrazí v okně
Vybrat kontext.
Seznam zobrazí jejich ID a textové znázornění.
- Ze seznamu vyberte kontext dotazu. Výběrem žádného kontextu dostanete dva nesouvisející vnořené dotazy.
- Klepněte na tlačítko OK.
Příklad
Následující příklad zobrazuje vnořený dotaz přiřazený k prvku šablony
Rational DOORS.
Paragraph DOORS 1 $1 Module/Object
Text
Module/Object/Object/Heading
Paragraph DOORS 1 $2 Module/Object/Attribute
Text
Module/Object/Attribute/Name
V tomto příkladu slouží dotaz
Module/Object jako kontext atributu
Module/Object/Attribute.
V tomto příkladu vytvoří nastavení kontextu druhého dotazu na
$1 tento výstup:
- Sadu odstavců, z nichž každý obsahuje záhlaví každého objektu z modulu.
- Seznam odstavců s názvy atributů pro aktuální objekt v dotazu
$1.
Nastavením kontextu druhého dotazu na none získáte tento výstup:
- Sadu odstavců, z nichž každý obsahuje záhlaví každého objektu z modulu.
- Seznam odstavců s názvy atributů všech objektů.
Následující příklad zobrazuje vnořený dotazu přiřazený k prvku šablony produktuIBM® Rational Tau.
První dotaz model/root(Package) se provádí v kontextu modelu produktu
Rational Tau.
Druhý dotaz model/root(Package)/ownedMember se provádí v každém balíku vráceném prvním dotazem.
Pokud je potřeba seznam všech tříd balíků nejvyšší úrovně z modelu, bude dotaz
model/root(Package)/ownedMember(Class).
V tomto tvaru výstupní dokument již nebude obsahovat název každého balíku. Seznam tříd se sestaví stejným způsobem jak v prvním případu. Dotaz se rozdělí do dotazů na komponenty, a každý dotaz se spustí v kontextu definovaném v předchozích dotazech:
Tabulka 1. Dílčí dotazyDílčí dotaz |
Kontext |
Výsledek |
model |
Nelze aplikovat |
model |
model/root(Package) |
model |
seznam balíků |
ownedMember(Class) |
seznam balíků |
seznam tříd |
Každý dílčí dotaz se provádí pro každý prvek jednou a výsledky každého provedení se řetězí. Tyto výsledky se stanou kontextem dalšího dílčího dotazu nebo seznamem výsledků, pokud je tento dílčí dotaz posledním.