Verschachtelte Abfragen erstellen

Wenn Sie Abfragen verschachteln möchten, ordnen Sie sie untergeordneten Elementen zu.

Vorgehensweise

  1. Öffnen Sie in Document Studio die Sicht Datenquellenschemas.
  2. Ziehen Sie ein Element aus der Sicht Datenquellenschemas in das Vorlagenelement. Wenn eine Abfrage auf ein Element mit einem übergeordneten Element gezogen wird, wird überprüft, ob diese Abfrage im Kontext einer Abfrage für ein übergeordnetes Element durchgeführt werden kann. Alle Abfragen, die als Kontext dienen können, werden im Fenster Kontext auswählen angezeigt. Die Liste zeigt die ID und ihre Textdarstellung an.
  3. Wählen Sie den Abfragekontext aus der Liste aus. Wenn Sie den Wert "Ohne" für den Kontext auswählen, entstehen zwei nicht miteinander verbundene verschachtelte Abfragen.
  4. Klicken Sie auf OK.

Beispiel

Das folgende Beispiel zeigt eine verschachtelte Abfrage, die einem Vorlagenelement von Rational DOORS zugeordnet ist.

Paragraph DOORS 1 $1 Module/Object
	Text
	Module/Object/Object/Heading
Paragraph DOORS 1 $2 Module/Object/Attribute
	Text
	Module/Object/Attribute/Name
In diesem Beispiel dient die Abfrage Module/Object als Kontext für Module/Object/Attribute.

Im Beispiel wird durch das Festlegen des Kontextes für die zweite Abfrage auf $1 die folgende Ausgabe erzeugt:

Wenn Sie den Kontext für die zweite Abfrage auf none festlegen, wird die folgende Ausgabe erzeugt:

Das folgende Beispiel zeigt die verschachtelte Abfrage, die einem Vorlagenelement von IBM® Rational Tau zugeordnet ist.

Die erste Abfrage, model/root(Package), wird im Kontext des Rational-Tau-Modells durchgeführt. Die zweite Abfrage, model/root(Package)/ownedMember, wird für jedes von der ersten Abfrage zurückgegebene Paket durchgeführt.

Wenn eine Liste aller Klassen der Pakete der Ausgangsebene im Modell benötigt wird, ist die Abfrage model/root(Package)/ownedMember(Class). In diesem Formular enthält das Ausgabedokument nicht mehr den Namen jedes Pakets. Eine Klassenliste wird auf dieselbe Weise erstellt wie im ersten Fall. Die Abfrage wird in ihre Komponentenabfragen aufgeteilt, und jede Abfrage wird in dem von den vorherigen Abfragen definierten Kontext ausgeführt:
Tabelle 1. Untergeordnete Abfragen
Untergeordnete Abfrage Kontext Ergebnis
model Nicht zutreffend Modell
model/root(Package) Modell Paketliste
ownedMember(Class) Paketliste Klassenliste
Jede untergeordnete Abfrage wird für jedes Element zweimal durchgeführt, und die Ergebnisse der einzelnen Ausführungen sind miteinander verknüpft. Diese Ergebnisse werden zum Kontext der nächsten untergeordneten Abfrage bzw. zur Ergebnisliste, wenn die untergeordnete Abfrage die letzte ist.

Feedback