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.Lire des données depuis des fichiers XML multiples dans le même répertoire.
2.Mapper le schéma de chaque fichier dans un nouveau schéma.
3.Pour chaque fichier source XML, générer un nouveau fichier cible XML avec un nouveau schéma.
4.Supprimer la déclaration XML et d’espace de noms des fichiers générés.
L’image ci-dessous illustre un modèle abstrait de la transformation de données utilisée dans le présent tutoriel :

Point de départ
Nous utiliserons trois fichiers source XML en tant qu’exemples. Ils portent la dénomination BookTitle1.xml, BookTitle2.xml et BookTitle3.xml. Chacun des trois fichiers est basé sur Books.xsd et entrepose un seul 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>
Étapes supplémentaires
Nous allons procéder comme suit :
1.D’abord, nous devons mapper le schéma source (Books.xsd) au schéma cible (Library.xsd).
2.Une fois la transformation effectuée, le mappage générera trois fichiers conformément à ce nouveau schéma (voir la liste de codes ci-dessous).
3.Nous allons également configurer le mappage de telle manière que les noms des fichiers générés portent les dénominations Publication1.xml, Publication2.xml et Publication3.xml. Veuillez noter que la déclaration XML et l'espace de noms doivent être supprimés.
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.