Altova MapForce 2024 Basic Edition

Eine Quellkomponente auf eine Zielkomponente

Zur Startseite Zurück Nach oben Weiter

In diesem Tutorial wird beschrieben, wie Sie ein Mapping für eines der einfachsten Szenarien erstellen. Ziel ist es, die Daten aus der XML-Datei A, (der das XML-Schema A zugewiesen ist), in die XML-Datei B (der das XML-Schema B zugewiesen ist) zu übertragen. Im Prinzip wird dabei folgendermaßen vorgegangen:

 

1.Da wir zwei Datenstrukturen verwenden, werden wir in unserem Mapping-Design zwei Komponenten (eine Quell- und eine Zielkomponente) erstellen.

2.Um ein Dokument in ein anderes zu transformieren, wählen wir die geeignete Transformationssprache aus.

3.Anschließend müssen wir die Quell-Nodes mit den gewünschten Ziel-Nodes verbinden. Diese Verbindungen bilden das Mapping und bestimmen, welcher Quell-Node auf welchen Ziel-Node gemappt wird.

4.Als Ergebnis des Mappings erhalten wir das XML-Zieldokument, das gemäß dem Zielschema gültig ist.

5.Schlussendlich können wir die XML-Ausgabedatei speichern.

 

Im abstrakten Modell unten sehen Sie, wie Datentransformationen durchgeführt werden.

 

Abstraktes Modell

Im unten gezeigten abstrakten Modell wird die Datentransformation in diesem Tutorial veranschaulicht:

MF_Tut1_SchemaToSchema

Unser Mapping hat eine Quell- und eine Zielkomponente. Im Quellschema (Books.xsd) ist die Struktur der Quellinstanzdatei (Books.xml) beschrieben. Im Zielschema (Library.xsd) ist die Struktur der Zielinstanzdatei (BooksOutput.xml) beschrieben. Wenn Sie die Nodes der Quellkomponente mit den entsprechenden Nodes der Zielkomponente verbinden, generiert das Mapping Transformationscode in XSLT 3.0. Der Transformationscode liest Daten aus Books.xml aus und schreibt diese in BooksOutput.xml.

 

Quell- und Zieldatei

Das nachstehende Codefragment enthält die Beispieldaten aus der Datei Books.xml, die als Datenquelle verwendet wird.

 

<books>
  <book id="1">
     <author>Mark Twain</author>
     <title>The Adventures of Tom Sawyer</title>
     <category>Fiction</category>
     <year>1876</year>
  </book>
  <book id="2">
     <author>Franz Kafka</author>
     <title>The Metamorphosis</title>
     <category>Fiction</category>
     <year>1912</year>
  </book>  
</books>

 

So sollten die Daten in der Zieldatei namens BooksOutput.xml aussehen:

 

<library>
  <last_updated>2015-06-02T16:26:55+02:00</last_updated>
  <publication>
     <id>1</id>
     <author>Mark Twain</author>
     <title>The Adventures of Tom Sawyer</title>
     <genre>Fiction</genre>
     <publish_year>1876</publish_year>
  </publication>
  <publication>
     <id>2</id>
     <author>Franz Kafka</author>
     <title>The Metamorphosis</title>
     <genre>Fiction</genre>
     <publish_year>1912</publish_year>
  </publication>
</library>

 

Unser Ziel ist, die Elemente <author>, <title>, <genre> und <publish_year> der Zieldatei mit dem Inhalt aus den entsprechenden Elementen in der Quelldatei (<author>, <title>, <category>, <year>) zu befüllen. Das Attribut id in der Quelldatei wird auf das Element <id> in der Zieldatei gemappt. Schließlich wird noch das Element <last_updated> der Zieldatei mit dem Datum und der Uhrzeit der letzten Aktualisierung der Datei befüllt.

 

Um die erforderliche Datentransformation durchzuführen, gehen Sie vor, wie in den nachfolgenden Unterabschnitten beschrieben.

 

© 2018-2024 Altova GmbH