Mapping - Füllen eines Datenblatts des Zielbaums
Die Reihenfolge in der die Knoten erzeugt, Felder erzeugt und mit Daten gefüllt werden, kann später nach Belieben komplizierter gestaltet werden. Zum einführenden Verständnis beziehen wir uns nur auf die Default-Einstellungen. Im Grunde müssen Sie hier nur wissen, was in den Abschnitten zuvor dargestellt wurde. Das Aufspalten der Daten in Datenblätter und das Verwenden von Pfaden. Wenn auf diese Art das Gerüst des Zielbaums erstellt wurde, wird dieser von oben nach unten durchlaufen und mit Werten gefüllt. Datenblatt für Datenblatt werden also die (Teil-)Zielbäume von oben nach unten mit Daten gefüllt. Behalten Sie dabei im Hinterkopf, dass immer nur auf Daten innerhalb des aktuellen Datenblatts zugegriffen werden kann. Auf Daten anderer Datenblätter kann man nicht zugreifen (allerdings kann man Variablen nutzen, um Daten eines vorherigen Datenblattes in später folgende Datenblätter zu "retten").
Hinweis: Für Fortgeschrittene sei hier erwähnt, dass es durchaus Konzepte gibt, diese strenge Abarbeitungsreihenfolge beim Füllen mit Werten zu umgehen/durchbrechen. Einmal möchten wir hierzu verweisen auf den Abschnitt Zukunftswerte verwenden und zudem auf Abschnitt Profil als Unterknoten einhängen.
Aufbauen des (Teil-)Zielbaums
Ausgehend von der von Ihnen angelegten Zielstruktur, wird der Zielbaum auf folgende Art und Weise erstellt und mit Daten gefüllt.
Zuordnen von Quellstrukturfeldwerten zu Zielstrukturfeldern
Dies ist was wir als das eigentliche Mapping bezeichnen. Sie sagen dabei nicht anderes, als dass der Wert eines Quellstrukturfeldes X einem Zielstrukturfeld Y zugeordnet wird. Der Wert, den der Parser also in X steckt, landet in Y. Ausgeführt wird diese "Anweisung" jedes Mal, wenn das Zielstrukturfeld Y in einem (Teil-)Baum erzeugt wird.
Um zwei Felder zu mappen, ziehen Sie das Feld der Quellstruktur einfach auf das gewünschte Feld der Zielstruktur (siehe folgende Abbildung). Sie können auch ein Feld der Zielstruktur auf das gewünschte Feld der Quellstruktur ziehen. Hat ein Feld einen grünen Punkt, zeigt dies an, dass es gemappt ist.
Hinweis: Eine Übersicht aller zugeordneten/gemappten Felder finden Sie auch auf Seite Suchen und Finden. Über das Kontextmenü eines Quellstrukturfeldes und über das Kontextmenü eines Zielstrukturfeldes können Sie Zuordnungen finden und auch löschen.
Hinweis: Zu Testzwecken ist es oft bequem und nützlich sich schlicht ein 1:1-Mapping automatisch erzeugen zu lassen.
Es kann immer nur genau ein Feld der Quellstruktur auf ein Feld der Zielstruktur gemappt werden. Ein Feld der Quellstruktur kann aber auf beliebig viele Zielstrukturfelder gemappt werden. Der Grund ist einfach, dass nicht definiert ist, welchen Wert ein Zielstrukturfeld hätte, wenn z. B. einmal der Wert 4 und gleichzeitig der Wert Baumweg 3 auf es gemappt würde. Hinweis: Mit Funktionen auf Feldern kann solch eine Zusammenführung von Werten später aber durchaus vorgenommen werden.
Beschneiden des (Teil-)Zielbaums
Das theoretisch zu erzeugende Grundgerüst des Zielbaums kann nochmal weiter beschnitten werden, indem manche Knoten schlicht nicht erzeugt werden (wir sagen auch "nicht betreten" werden). Das gilt auch für bestimmte Felder.
Funktionen auf Knoten
Dazu kann man z. B. eine sogenannte Funktion auf einen Knoten legen. Hat die Funktion das Ergebnis true, dann wird der Knoten (und alle Knoten und Felder unterhalb des Knotens) erzeugt/betreten, sonst nicht. Siehe auch Abschnitt "Wirkung von Funktionen auf Zielstruktur-Knoten". In einem Mapping-Test werden nicht betretene Knoten nicht angezeigt. Hinweis: Dasselbe gilt natürlich, wenn Sie einen Knoten auf inaktiv setzen.
Betretenen Knoten wieder entfernen
Es ist möglich mit der Funktion remove last entered node(a) einen bereits betretenen Knoten wieder zu entfernen. Siehe Details dort.
SQL-Knoten
Es gibt auch spezielle Knoten, die nicht in den Ausgangsdaten angezeigt werden (Eigenschaft "Gilt nur für SQL"). Diese Knoten dienen lediglich der Interaktion mit Datenbanken.
Berechnungsfelder
Es gibt spezielle Felder (Eigenschaft "Berechnungsfeld"), die lediglich der Berechnung oder Manipulation von Werten dienen und ebenfalls nicht in den Ausgangsdaten angezeigt werden.
Iterationsknoten
Es gibt spezielle Knoten (Eigenschaft "Iterationsknoten"), die hauptsächlich der Berechnung oder Manipulation von Werten dienen und nur teilweise in den Ausgangsdaten angezeigt werden.
Iterationsknoten weisen eine Besonderheit gegenüber normalen Knoten auf. Wie Sie wissen, kann jeder Knoten über die Eigenschaft Pfad beliebig oft wiederholt werden. Wird nun z. B. ein Iterationsknoten 10 mal wiederholt, werden Sie am Ende immer nur ein Auftreten des Knotens angezeigt bekommen. D. h. der Knoten wird 10 mal betreten und damit werden auch 10 mal alle Felder des Knotens betreten und auch alle evtl. vorhandenen Funktionen ausgeführt. Alle Eigenschaften und Einstellungsmöglichkeiten, die Sie von normalen Knoten kennen, gelten auch hier, der Unterschied ist aber, dass nur der letzte Durchlauf des Knotens im Speicher gehalten wird. Das hat den offensichtlichen Vorteil, dass Sie unter Umständen enorme Speichereinsparungen mit dieser Einstellung erreichen können.
In einem Mappingtest und in den Ausgangsdaten wird jeweils nur der letzte Durchlauf des Knotens angezeigt.
Fortgeschrittene Einstellungsmöglichkeiten
Auf den Folgeseiten finden Sie fortgeschrittene Möglichkeiten, den Aufbau des Zielbaums zu beeinflussen. Im Normalfall wird das nicht nötig sein, aber es gibt manchmal durchaus Situationen, in denen diese Mittel nützlich sein können.