Abarbeitungsreihenfolge von Knoten

Mit der Knoten-Eigenschaft "Abarbeitung" steht eine weitere Steuerungsmöglichkeit für die Erstellung des Zielbaums zur Verfügung. Diese Eigenschaft legt fest, wie im Quellbaum die untergeordneten Knoten gesucht werden.

Abwechselnd über alle Knoten


In den bisherigen Beispielen wurde mit dem Standardwert abwechselnd über alle Knoten gearbeitet. Dabei durchsucht der Mapper die parallelen Knoten abwechselnd nach gleichartigen Unterknoten. Die folgende Abbildung zeigt die Auswirkungen der Abarbeitungsreihenfolge abwechselnd über alle Knoten auf einen Zielbaum.


images/download/attachments/164335174/Mapping_28-version-1-modificationdate-1705390140091-api-v2.png


(1) Im Knoten OrderPosition (Zielstruktur) steht die Abarbeitungsreihenfolge auf abwechselnd über alle Knoten.

(2) Zunächst werden alle Unterknoten Position gesucht und in den Zielbaum gestellt.

(3) Nach Bearbeitung von (2) werden die Unterknoten PositionText gesucht und in den Zielbaum gestellt.

(4) Nach Abarbeitung des Knotens (1) wird der nächste gleichnamige Knoten ermittelt und dort alle Unterknoten Position gesucht und in den Zielbaum gestellt.

(5) Nach Bearbeitung von (4) werden die Unterknoten PositionText gesucht und in den Zielbaum gestellt.

(6) Zielbaum, der mit den beschriebenen Einstellungen entsteht.


Die gefundenen Unterknoten werden den jeweiligen Oberknoten zugeordnet. Die Abarbeitung der gefundenen Unterknoten wird durch die Einstellung des Oberknotens nicht beeinflusst.

Alle Elemente pro Knoten


Wird als Einstellung für die Abarbeitung alle Elemente pro Knoten eingestellt, stellt der Mapper seine Suche um. Es werden zu einem Knoten zuerst alle Elemente der Unterknoten gesucht, bevor zum nächsten Knoten gegangen wird. Die folgende Abbildung zeigt die Auswirkungen der Abarbeitungsreihenfolge alle Elemente pro Knoten auf einen Zielbaum.


images/download/attachments/164335174/Mapping_29-version-1-modificationdate-1705390140090-api-v2.png


(1) Im Knoten OrderPosition (Zielstruktur) steht die Abarbeitungsreihenfolge auf alle Elemente pro Knoten.

(2) Zunächst werden alle Unterknoten Position gesucht und in den Zielbaum gestellt. Im Unterschied zum vorangegangenen Beispiel wird auch in den Geschwister-Knoten gesucht. Es werden zwei Elemente gefunden.

(3) Nach Bearbeitung von (2) werden die Unterknoten PositionText gesucht und in den Zielbaum gestellt. Im Unterschied zum vorangegangenen Beispiel wird auch in den Geschwister-Knoten gesucht. Es werden vier Elemente gefunden. Danach wird die Suche im nächsten Knoten OrderPosition wiederholt, bereits gefundene Elemente werden nicht mehr berücksichtigt.

(4) Es entsteht ein Zielbaum mit Knoten OrderPosition, in dem die Unterknoten aus dem Quellbaum in einem Knoten gesammelt sind.

Wiederkehrende Schleife


Es existiert noch eine weitere Einstellung für die Reihenfolge der Abarbeitung: wiederkehrende Schleife. Diese Einstellung hat nur Auswirkungen unterhalb eines Knotens mit der Einstellung alle Elemente pro Knoten. Die Unterknoten mit der Einstellung wiederkehrende Schleife werden nicht in benachbarten Knoten gesucht. Deshalb findet der Mapper beim Betreten der Nachbarknoten die Elemente erstmals und ordnet sie dem Nachbarknoten zu. Die folgende Abbildung zeigt die Auswirkungen der Abarbeitungsreihenfolge wiederkehrende Schleife auf einen Zielbaum.


images/download/attachments/164335174/Mapping_30-version-1-modificationdate-1705390140088-api-v2.png


(1) Im Knoten OrderPosition (Zielstruktur) steht die Abarbeitungsreihenfolge auf alle Elemente pro Knoten.

(2) Im Knoten Position (Zielstruktur) steht die Abarbeitungsreihenfolge auf wiederkehrende Schleife.

(3) Zunächst wird unterhalb von OrderPosition der Unterknoten Position gefunden, der Unterknoten hat die Abarbeitungsreihenfolge wiederkehrende Schleife, deshalb werden die Positionen in den parallelen Knoten OrderPosition nicht gesucht. Der Knoten Position wird in den Zielbaum gestellt.

(4) Nach Bearbeitung von (3) werden die Unterknoten PositionText gesucht und in den Zielbaum gestellt. Da die Abarbeitungsreihenfolge auf alle Elemente pro Knoten steht, wird auch in den Geschwister-Knoten gesucht. Es werden vier Elemente gefunden. Danach wird die Suche im nächsten Knoten OrderPosition wiederholt, bereits gefundene Elemente werden nicht mehr berücksichtigt.

(5) Nach Bearbeitung des ersten Knotens OrderPosition wird der zweite Knoten analog bearbeitet. Zunächst wird der Unterknoten Position gefunden, der Unterknoten wurde vorher noch nicht gefunden, deshalb wird Position in den Zielbaum gestellt.