Wiederholungen von Zielstruktur-Knoten durch Quellstruktur
Die Anzahl der Wiederholungen eines Zielstruktur-Knotens kann durch die Quellstruktur gesteuert werden mit den Zielstruktur-Knoten-Eigenschaften Pfad und Ist relativer Pfad. Hinweis: Siehe auch Abschnitt Selbstberechnete Wiederholungen von Zielstruktur-Knoten.
Knoteneigenschaft Pfad
Die folgende Abbildung zeigt die Auswirkungen der Knoten-Eigenschaft Pfad anhand von zwei Beispielen.
(1) Quellstruktur. Auf diese Struktur bezieht sich die Zielstruktur.
(2) Zielstruktur. Steuert die Erstellung des Zielbaumes.
(3) Die Eigenschaft Pfad des Knotens wurde auf gleichnamigen Quellstruktur-Knoten gesetzt. Die Namen der Knoten sind frei wählbar und müssen nicht gleichlautend sein. Der Pfadname muss jedoch ein Knotenname aus der Quellstruktur sein.
(4) Alternativ zu (3) wurde der Pfad des Knotens auf Position gesetzt. Es kann natürlich immer nur ein Pfad angegeben werden.
(5) Der Quellbaum, der aus der Quellstruktur (1) erstellt wurde.
(6) Der Zielbaum, der aus dem Quellbaum mittels Zielstruktur und (3) erstellt wurde. Da der zugeordnete Knoten im Quellbaum nur einmal vorkommt, wird der Knoten im Zielbaum ebenfalls nur einmal erstellt.
(7) Der Zielbaum, der aus dem Quellbaum mittels Zielstruktur und (4) erstellt wurde. Der zugeordnete Knoten im Quellbaum (Position) kommt mehrfach vor, im Zielbaum wird der Knoten ebenso oft wiederholt.
Knoteneigenschaft Ist relativer Pfad
Wie bereits erwähnt, arbeitet die Knoten-Eigenschaft Pfad mit der Knoten-Eigenschaft Ist relativer Pfad zusammen. Diese Option bestimmt, aus welcher Richtung (oben oder unten) die Vorkommen des zugeordneten Pfades gezählt werden. In Abhängigkeit dieser Option werden unterschiedlich viele Vorkommen des zugeordneten Knotens gefunden.
In den nachfolgenden Abbildungen sind Beispiele zur Verdeutlichung aufgeführt. Da die bisherigen Beispiele nicht komplex genug sind, um die Leistungsfähigkeit des Mappers zu verdeutlichen, wurde in den nachfolgenden Beispielen eine zusätzliche Ebene eingefügt.
Die folgende Abbildung zeigt die Quell- und Zielstruktur für die folgenden Beispiele.
(1) Quellstruktur. Eine Auftragsposition besteht aus einer Position und beliebig vielen Texten zu dieser Position.
(2) Zielstruktur. Auftragskopf und Auftragsposition wurden wie bisher mit relativem Pfad auf die gleichnamigen Knoten in der Quellstruktur gemappt. Das Mapping von Position und PositionText wird in den nachfolgenden Beispielen verändert und die Auswirkungen der Veränderungen aufgezeigt.
(3) Mapping von Auftragskopf zu Auftragskopf mit relativem Pfad (1:1-Mapping).
(4) Mapping von Auftragsposition zu Auftragsposition mit relativem Pfad (1:1-Mapping).
Folgende Abbildung zeigt das Ergebnis des Mappings, wenn für die Eigenschaft Ist relativer Pfad der Wert Nein eingetragen wurde, also der absolute Pfad verwendet wird.
(1) Mapping von Position und PositionText mit Pfad auf gleichnamigen Eingangsstrukturknoten und Ist relativer Pfad mit dem Wert Nein.
(2) Der Quellbaum. Aus Gründen der Übersichtlichkeit wird auf die Darstellung der Felder verzichtet.
(3) Der Zielbaum. Auf die Darstellung der Felder wird hier ebenfalls verzichtet.
(4) Der Knoten Position wiederholt sich so oft, wie der Knoten im Quellbaum vorkommt (gesteuert durch den Pfad). Der Algorithmus sucht alle Knoten mit dem Namen Position im Quellbaum und findet zwei Vorkommen. Deshalb wird der Knoten im Zielbaum ebenfalls zweimal wiederholt.
(5) Der Knoten PositionText wiederholt sich so oft, wie der Knoten im Quellbaum vorkommt (gesteuert durch den Pfad). Der Algorithmus sucht alle Knoten mit dem Namen PositionText im Quellbaum und findet vier Vorkommen. Deshalb wird der Knoten im Zielbaum ebenfalls viermal wiederholt.
Man kann sich die Ausgangsknoten wie eine Programmschleife vorstellen. Diese Knoten werden einfach so oft wiederholt, wie die zugehörigen Eingangsknoten gefunden werden. Die Anzahl der Fundstellen hängt dabei von der Einstellung Ist relativer Pfad ab, wie in der folgenden Abbildung zu sehen ist.
(1) Mapping von Position und PositionText mit dem Wert PositionText für den Pfad und dem Wert Ja für Eigenschaft Ist relativer Pfad.
(2) Der Quellbaum. Aus Gründen der Übersichtlichkeit wird auf die Darstellung der Felder verzichtet.
(3) Der Zielbaum. Auf die Darstellung der Felder wird hier ebenfalls verzichtet.
(4) Der Knoten Position wiederholt sich so oft, wie der Knoten PositionText im Quellbaum unter dem Vaterknoten (OrderPosition) vorkommt (gesteuert durch den Pfad). Der Algorithmus sucht alle Knoten mit dem Namen PositionText unter dem Vater und findet ein Vorkommen. Deshalb wird der Knoten im Zielbaum ebenfalls einmal wiederholt.
(5) Der Knoten Position wiederholt sich so oft, wie der Knoten PositionText im Quellbaum unter dem Vaterknoten (OrderPosition) vorkommt (gesteuert durch den Pfad). Der Algorithmus sucht alle Knoten mit dem Namen PositionText unter dem Vater und findet drei Vorkommen. Deshalb wird der Knoten im Zielbaum ebenfalls dreimal wiederholt.
Bei relativer Pfadangabe (Eigenschaft Ist relativer Pfad mit Wert Ja) sucht der Algorithmus wie folgt.
Suche im Quellbaum unterhalb des (einschließlich) Vaterknotens nach Knoten mit gleichem Namen. Wenn Vorkommen gefunden, zähle die Fundstellen und wiederhole den Knoten auf Zielseite so oft wie Vorkommen gefunden. Wenn keine Fundstellen gefunden, mache nächsten Schritt.
Gehe eine Ebene nach oben und suche dort unterhalb des (einschließlich) Vaterknotens nach Knoten mit gleichem Namen. Wenn Vorkommen gefunden, zähle die Fundstellen und wiederhole den Knoten auf Zielseite so oft wie Vorkommen gefunden. Wenn keine Fundstellen gefunden, wiederhole den Schritt so lange bis Vorkommen gefunden oder bis Wurzel des Datenblatts erreicht.
Die folgende Abbildung zeigt den Algorithmus anhand eines schematischen Zielbaums.
(1) Ausgangspunkt der Suche. Innerhalb des markierten Bereiches wird nach Vorkommen des angegebenen Knotens (Pfad) gesucht.
(2) Wenn in (1) nichts gefunden wurde, erweitert der Algorithmus seinen Suchbereich um einen Knoten nach oben, und sucht unterhalb des neuen Ausgangspunktes alle Vorkommen des angegebenen Knotens (Pfad).
(3) Wenn in (2) nichts gefunden wurde, erweitert der Algorithmus seinen Suchbereich, um einen Knoten nach oben und sucht unterhalb des neuen Ausgangspunktes alle Vorkommen des angegebenen Knotens (Pfad).
(4) Wenn in (3) nichts gefunden wurde, erweitert der Algorithmus seinen Suchbereich, um einen Knoten nach oben und sucht unterhalb des neuen Ausgangspunktes alle Vorkommen des angegebenen Knotens (Pfad). Der markierte Bereich entspricht hier der Einstellung absoluter Pfad, da alle Vorkommen des Knotens gefunden werden. Über die Grenzen des Datenblattes wird die Suche nicht ausgedehnt.
Knoteneigenschaft Pfadangabe optimieren
Hat die Eigenschaft Pfadangabe optimieren den Wert Nein, dann wird die normalerweise aktive Optimierung der Pfadangabe deaktiviert. Existiert z. B. unterhalb eines Knotens der Zielstruktur ein Knoten mit der gleichen Pfadangabe wie sie der Vaterknoten hat und die Eigenschaft Ist relativer Pfad des Kindknotens hat den Wert Nein, erscheint der Kindknoten bei aktivierter Optimierung im Zielbaum nur einmal. Ist die Optimierung deaktiviert, erscheint der Kindknoten im Zielbaum genau so oft, wie er im Quellbaum vorkommt.
GUI
: Die Konfiguration dieser Phase finden Sie im Abschnitt Phase 3/4 (GUI) beschrieben.