Reihenfolge der Verarbeitung von Mapping-Komponenten ändern

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Erstellen von Mappings > Mapping-Regeln und -Strategien >

Reihenfolge der Verarbeitung von Mapping-Komponenten ändern

MapForce unterstützt Mappings, die aus mehreren Zielkomponenten bestehen. Jede der Zielkomponenten hat eine Vorschau-Schaltfläche, mit der Sie eine Vorschau des Mapping-Ergebnisses für die jeweilige Komponente anzeigen können.

 

Wenn das Mapping über die Befehlszeile oder anhand von generiertem Code ausgeführt wird, so wird, unabhängig davon, welche Vorschau gerade aktiv ist, das gesamte Mapping ausgeführt und die Ausgabe für jede einzelne Zielkomponente generiert.

 

Die Reihenfolge, in der die Zielkomponenten verarbeitet werden, kann durch Ändern der Position der Zielkomponente im Mapping-Fenster beeinflusst werden. Die Position einer Komponente wird anhand ihrer linken oberen Ecke definiert.

 

Die Zielkomponenten werden anhand ihrer Y-X-Position am Bildschirm von oben nach unten und von links nach rechts verarbeitet.

 

Wenn zwei Komponenten dieselbe vertikale Position haben, so wird zuerst die am weitesten links liegende Komponente verarbeitet.
Wenn zwei Komponenten dieselbe horizontale Position haben, so wird die weiter oben liegende Komponente zuerst verarbeitet.
In den seltenen Fällen, in denen zwei Komponenten sich an exakt derselben Stelle befinden, wird automatisch eine eindeutige interne Komponenten-ID verwendet. Damit ist eine genau definierte Reihenfolge definiert, die allerdings nicht geändert werden kann.

 

In der Abbildung unten sehen Sie das Tutorial-Beispiel Tut-ExpReport-multi.mfd aus dem Ordner ...<Dokumente>\Altova\MapForce2019\MapForceExamples\. Beide Zielkomponenten (ExpReport-Target) nehmen dieselbe vertikale Position ein. Die Vorschau-Schaltfläche ist bei der Zielkomponente auf der rechten Seite aktiv.

Tut-ExpReport-multi-ENT

Tut-ExpReport-multi.mfd (MapForce Enterprise Edition)

Nach Auswahl von XSLT2 und Generierung von Code:

 

wird die am weitesten links gelegene Zielkomponente zuerst verarbeitet und die Datei ExpReport.xml generiert.
wird als nächstes die Komponente rechts davon verarbeitet und die Datei SecondXML.xml generiert.

 

Um dies zu überprüfen, öffnen Sie die Datei DoTransform.bat (in dem von Ihnen definierten Ausgabeordner) und sehen Sie, in welcher Reihenfolge die Ausgabedateien generiert werden. ExpReport-Target.xml ist die erste Ausgabedatei, die von der Batch-Datei generiert wird,  die zweite Datei ist SecondXML.xml.

 

process2

 

 

Ändern der Reihenfolge der Mapping-Verarbeitung:

1.Klicken Sie auf die linke Zielkomponente und ziehen Sie sie tiefer als die rechte Komponente.

 

Tut-ExpReport-multi-detail-ENT

 

2.Generieren Sie Ihren Code erneut und werfen Sie einen Blick in die Datei DoTransform.bat.

process4

Nun generiert die Batch-Datei als erstes die Datei SecondXML.xml und anschließend die Datei ExpReport-Target.xml.

 

Verkettete Mappings

Dieselbe oben beschriebene Verarbeitungsreihenfolge gilt auch für verkettete Mappings. Die verkettete Mapping-Gruppe wird jedoch als eine Einheit behandelt. Wenn Sie die Zwischen-, End- oder Zielkomponente eines einzigen verketteten Mappings verschieben, hat dies keine Auswirkung auf die Verarbeitungsreihenfolge.

 

Die Position der Endkomponenten von einzelnen Gruppen hat nur dann einen Einfluss auf die Verarbeitungsreihenfolge, wenn mehrere Ketten bzw. mehrere Zielkomponenten in einem Mapping vorhanden sind.

 

Wenn zwei Endkomponenten dieselbe vertikale Position einnehmen, so wird zuerst die weiter links gelegene verarbeitet.
Wenn zwei Endkomponenten dieselbe horizontale Position einnehmen, so wird zuerst die weiter oben gelegene verarbeitet.
In den seltenen Fällen, in denen zwei Komponenten sich an exakt derselben Stelle befinden, wird automatisch eine eindeutige interne Komponenten-ID verwendet. Damit ist eine genau definierte Reihenfolge definiert, die allerdings nicht geändert werden kann.

© 2019 Altova GmbH