Mehrere Quellkomponenten auf mehrere Zielkomponenten
In diesem Tutorial wird gezeigt, wie Sie mit derselben Transformation Daten aus mehreren Quelldateien auf mehrere Zieldateien mappen. Um dies zu veranschaulichen, werden wir nun ein Mapping erstellen, mit dem Folgendes bewerkstelligt werden soll:
1.Auslesen der Daten aus mehreren XML-Dateien im selben Verzeichnis. Den Dateien liegt dasselbe Quellschema zugrunde.
2.Generieren einer neuen XML-Zieldatei für jede XML-Quelldatei. Die Zieldateien basieren auf dem neuen Zielschema.
In der Abbildung unten sehen Sie ein abstraktes Modell der in diesem Tutorial verwendeten Datentransformation:
Grundkonzept
Die Ausgangsbasis für dieses Tutorial bildet das Mapping Tut1_OneToOne.mfd aus dem ersten Tutorial (Abbildung unten).
Ändern der Quellkomponente
Wir ändern die Komponenteneinstellungen der Quellkomponente, sodass sie Daten aus mehreren Quelldateien ausliest: BookTitle1.xml, BookTitle2.xml und BookTitle3.xml. Jede dieser Dateien basiert auf Books.xsd und es ist darin ein einziger Buchdatensatz gespeichert (siehe unten).
BookTitle1.xml
<?xml version="1.0" encoding="UTF-8"?>
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Books.xsd">
<book id="1">
<author>Mark Twain</author>
<title>The Adventures of Tom Sawyer</title>
<category>Fiction</category>
<year>1876</year>
</book>
</books>
BookTitle2.xml
<?xml version="1.0" encoding="UTF-8"?>
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Books.xsd">
<book id="2">
<author>Franz Kafka</author>
<title>The Metamorphosis</title>
<category>Fiction</category>
<year>1912</year>
</book>
</books>
BookTitle3.xml
<?xml version="1.0" encoding="UTF-8"?>
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Books.xsd">
<book id="3">
<author>Herman Melville</author>
<title>Moby Dick</title>
<category>Fiction</category>
<year>1851</year>
</book>
</books>
Ändern der Zielkomponente
Außerdem konfigurieren wir die Zielkomponente so, dass die Daten in mehrere Zieldateien geschrieben werden. Die Zieldateien basieren auf demselben Schema Library.xsd. Die generierten Zieldateien erhalten jeweils den Namen Publication1.xml, Publication2.xml und Publication3.xml (Codefragmente unten).
Publication1.xml
<library>
<publication>
<id>1</id>
<author>Mark Twain</author>
<title>The Adventures of Tom Sawyer</title>
<genre>Fiction</genre>
<publish_year>1876</publish_year>
</publication>
</library>
Publication2.xml
<library>
<publication>
<id>2</id>
<author>Franz Kafka</author>
<title>The Metamorphosis</title>
<genre>Fiction</genre>
<publish_year>1912</publish_year>
</publication>
</library>
Publication3.xml
<library>
<publication>
<id>3</id>
<author>Herman Melville</author>
<title>Moby Dick</title>
<genre>Fiction</genre>
<publish_year>1851</publish_year>
</publication>
</library>
Um die erforderliche Datentransformation durchzuführen, gehen Sie vor, wie in den nachfolgenden Unterabschnitten beschrieben.