Sources multiples vers cibles multiples
Ce tutoriel vous montre comment mapper les données depuis des fichiers source multiples vers des fichiers cible multiples. Pour illustrer cette technique, nous allons créer un mappage avec les objectifs suivants :
1.Pour lire des données depuis des fichiers XML multiples situé dans le même répertoire. Les fichiers sont basés dans le même schéma source.
2.Pour chaque fichier source XML, générez un nouveau fichier cible XML. Les fichiers cible seront basés dans un schéma cible.
L’image ci-dessous illustre un modèle abstrait de la transformation de données utilisée dans le présent tutoriel :
Présentation sommaire
Le point de départ de ce tutoriel est le mappage Tut1_OneToOne.mfd du premier tutoriel (voir la capture d’écran ci-dessous).
Modifier le composant source
Nous modifierons les paramètres de composant du composant source pour qu’il lise les données depuis de multiples fichiers source : BookTitle1.xml, BookTitle2.xml et BookTitle3.xml. Chacun des trois fichiers est basé sur Books.xsd et entrepose un livre (voir ci-dessous).
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>
Modifier le composant cible
Nous configurerons également le composant cible de telle manière que les données sont écrites dans de multiples fichiers cible. Les fichiers cible seront basés sur le même schéma appelé Library.xsd. Les fichiers cible générés seront appelés Publication1.xml, Publication2.xml, et Publication3.xml (liste de code ci-dessous).
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>
Pour effectuer la transformation de données requise, suivez les étapes décrites dans les sous-sections ci-dessous.