Mappen mehrerer Quellkomponenten auf eine Zielkomponente

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

Startseite >  Tutorials >

Mappen mehrerer Quellkomponenten auf eine Zielkomponente

Im vorherigen Tutorial haben Sie Daten aus einer Quelldatei (books.xml) in eine Zieldatei (library.xml) konvertiert. Vor Ausführung des Mappings war die Zieldatei (library.xml) nicht vorhanden; sie wurde durch die Mapping-Transformation erstellt. Angenommen, Sie haben ein Szenario, in dem bereits einige Daten in der Datei library.xml vorhanden sind. Sie möchten diese Daten nun mit den aus books.xml konvertierten Daten zusammenführen. Ziel dieses Tutorials ist die Erstellung eines Mappings, das eine Datei namens merged_library.xml generiert. Die generierte Datei enthält Daten aus zwei Quellen: der Datei books.xml und der Datei library.xml. Beachten Sie, dass die als Quellkomponenten verwendeten Dateien (books.xml und library.xml) unterschiedliche Schemas haben. Wenn die Quelldateien dasselbe Schema hätten, könnten Sie ihre Daten auch auf andere Art miteinander zusammenführen (siehe Dynamische Verarbeitung und Generierung von Dateien ).

Tutorial_Merge_Multiple_Sources_to_One_Target

Abstraktes Modell der Datentransformation

Um das gewünschte Ziel zu erreichen, gehen Sie folgendermaßen vor:

 

Schritt 1: Vorbereiten der Mapping-Design-Datei

In diesem Tutorial wird als Ausgangspunkt das Mapping BooksToLibrary.mfd aus dem Ordner <Dokumente>\Altova\MapForce2019\MapForceExamples\ verwendet. Sie haben dieses Mapping bereits im Tutorial Konvertieren von XML in ein neues Schema erstellt. Öffnen Sie zuerst die Datei BooksToLibrary.mfd in MapForce und speichern Sie sie unter einem neuen Namen.

 

Die neue Mapping-Datei muss im Ordner <Dokumente>\Altova\MapForce2019\MapForceExamples\ gespeichert werden, da mehrere Dateien von dieser Datei aus referenziert werden.

mfdBooksToLibrary-BAS

BooksToLibrary.mfd (MapForce Enterprise Edition)

 

Schritt 2: Erstellen einer zweiten Quellkomponente

Wählen Sie zuerst die Zielkomponente aus und kopieren Sie sie (mittels Strg + C und anschließendem Strg + V) in dasselbe Mapping. Klicken Sie auf die Überschrift der neuen Komponente und ziehen Sie die Komponente unter die Komponente books.

tut-03-01-BAS

Das Mapping hat nun zwei Quellkomponenten: books und library und eine Zielkomponente library.

 

Sie können Sie Mapping-Komponenten jederzeit beliebig verschieben (nach links, nach rechts, nach oben, nach unten). Wenn Sie eine Quellkomponente jedoch links von der Zielkomponente platzieren, wird das Mapping übersichtlicher und verständlicher. Dies ist auch die Konvention bei allen in dieser Dokumentation gezeigten Mappings und bei allen mit MapForce installierten Beispielmappingdateien.

 

Schritt 3: Überprüfen und Definieren der Input/Output-Dateien

Im vorherigen Schritt wurde die neue Quellkomponente aus der Zielkomponente kopiert, sodass sie die selben Einstellungen wie diese hat. Um sicherzustellen, dass der Name und die Input- und Output-Instanzdateien korrekt eingestellt sind, doppelklicken Sie auf die Überschrift der einzelnen Komponenten und überprüfen und ändern Sie die Namen und die Input/Output-Dateien der einzelnen Komponenten im Dialogfeld "Komponenteneinstellungen" wie unten gezeigt.

tut-03-03-BAS

Komponenteneinstellungen für die erste Quellkomponente (books)

tut-03-04-BAS

Komponenteneinstellungen für die zweite Quellkomponente (library)

tut-03-05-BAS

Komponenteneinstellungen für Zielkomponente (merged_library)

Wie oben gezeigt, liest die erste Quellkomponente Daten aus books.xml. Die zweite Quellkomponente liest Daten aus library.xml. Die Zielkomponente schließlich schreibt die Daten in eine Datei namens merged_library.xml.

 

Schritt 4: Erstellen der Verbindungen

Damit MapForce die Daten aus der zweiten Quellkomponente in die Zielkomponente schreibt, klicken Sie auf den Output-Konnektor (das kleine Dreieck) des Datenelements publications in der Quellkomponente library und ziehen Sie ihn auf den Input-Konnektor des Datenelements publications in der library-Zielkomponente. Da der Input-Konnektor der Zielkomponente bereits eine Verbindung hat, wird die folgende Meldung angezeigt.

tut-03-02-BAS

Das Ersetzen der Verbindung ist in diesem Tutorial aber nicht unser beabsichtigtes Ergebnis; unser Ziel ist es, Daten von zwei Quellkomponenten zu mappen. Klicken Sie daher auf Duplikat erzeugen. Dadurch konfigurieren Sie die Zielkomponente so, dass Sie auch Daten aus der neuen Quellkomponente akzeptiert. Das Mapping sieht nun folgendermaßen aus:

tut-03-06-BAS

Beachten Sie, dass das Datenelement publication in der Zielkomponente nun dupliziert wurde. Der neue Node publication(2) akzeptiert Daten aus der library-Quellkomponente. Beachten Sie außerdem, dass als Name dieses Node im Mapping zwar publication(2) angezeigt wird, dass der Name in der erzeugten XML-Daten aber, wie beabsichtigt, publication lautet.

 

Sie können nun am unteren Rand des Mapping-Fensters auf die Schaltfläche Ausgabe klicken und das Ergebnis das Mappings anzeigen. Sie werden sehen, dass die Daten aus den beiden Dateien library.xml und books.xml nun in der neuen Datei merged_library.xml zusammengeführt wurden.


© 2019 Altova GmbH