Zusammenführen von Daten aus mehreren Schemas

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

Startseite >  Datenquellen und -ziele > XML und XML-Schema >

Zusammenführen von Daten aus mehreren Schemas

Sie können in MapForce mehrere Dateien in einer einzigen Zieldatei zusammenführen.

 

In diesem Beispiel werden mehrere Quellkomponenten mit unterschiedlichen Schemas zu einem Zielschema zusammengeführt. Informationen, wie Sie beliebig viele Dateien anhand desselben Schemas zusammenführen, finden Sie unter "Dynamische Verarbeitung mehrerer Input- oder Output-Dateien".

 

In der Datei CompletePO.mfd im Ordner ...\MapForceExamples sehen Sie, wie drei XML-Dateien in einer XML-Bestelldatei zusammengeführt werden.

merge-xml1

Beachten Sie, dass mehrere Quellkomponentendateien in einer XML-Zieldatei  - CompletePO - kombiniert werden.

 

ShortPO ist ein Schema mit einer dazugehörigen XML-Instanzdatei und enthält nur Kundennummern- und Artikeldaten, d.h. die Einträge LineItem, Number und Amount. (Diese Datei enthält nur einen Kunden, mit der Kundennummer 3).
Customers ist ein Schema mit einer dazugehörigen XML-Instanzdatei und enthält die Kundennummern sowie die Kundendaten, also Namen und Adresse
Articles ist ein Schema mit einer dazugehörigen XML-Instanzdatei und enthält die Artikeldaten, d.h. den Artikelnamen, die Artikelnummer und den Preis.
CompletePO ist eine Schemadatei ohne Instanzdatei, da alle Daten von den drei XML-Instanzdateien geliefert werden. Aufgrund der hierarchischen Struktur dieser Datei können alle XML-Daten darin zusammengeführt und ausgegeben werden.

 

Diese Schemadatei muss in einem XML-Editor wie z.B. XMLSpy erstellt werden. Sie wird nicht von MapForce generiert (obwohl dies möglich wäre, wenn Sie eine Instanzdatei für CompletePO.xml hätten).

 

Die Struktur von CompletePO ist eine Kombination der Strukturen der XML-Quelldateien.

 

Mit Hilfe der filter-Komponente (Customer) werden die Daten, in denen die Kundennummern sowohl in der XML-Datei "ShortPO" als auch in der XML-Datei "Customers" identisch sind, gesucht/gefiltert und die verknüpften Daten werden an die Zielkomponente "CompletePO" übergeben.

 

CustomerNr in ShortPO wird mit Hilfe der "equal"-Funktion mit Number in Customers verglichen.

 

Da ShortPO nur einen Kunden (Nummer 3) enthält, können nur die Kunden und Artikeldaten für den Kunden Nr. 3 an die Filterkomponente übergeben werden.

 

Der node/row-Parameter der Filterkomponente übergibt die Customer-Daten (Kundendaten) an "on-true", wenn der Boolsche Parameter "true" ist, d.h. wenn  dieselbe Nummer gefunden wurden, in diesem Fall Kundennummer 3.

 

Die restlichen Kunden- und Artikeldaten werden über die beiden anderen Filterkomponenten an das Zielschema übergeben.

© 2019 Altova GmbH