Altova MapForce 2027 Professional Edition

Cet exemple vous guide à travers les étapes nécessaires à la création d’un mappage MapForce qui lit les données de plusieurs fichiers XML et les écrit dans une base de données SQLite. L’objectif de ce mappage est de créer, pour chaque fichier XML source, un nouvel enregistrement dans la base de données SQLite. Chaque enregistrement stockera le document XML sous la forme d’un champ TEXT.

 

Tous les fichiers utilisés dans cet exemple sont disponibles dans le dossier DocExamples. Les noms des fichiers sont les suivants :

 

Le fichier de conception du mappage

•XmlToSqliteField.mfd

Les fichiers XML sources

•bookentry1.xml

•bookentry2.xml

•bookentry3.xml

Le schéma XML utilisé pour la validation

•books.xsd

La base de données SQLite cible

•Library.sqlite

 

Pour atteindre l’objectif du mappage, procédez comme suit :

 

1.Ajoutez le composant XML et configurez-le pour qu’il lise plusieurs fichiers.

2.Ajoutez le composant de base de données SQLite et attribuez un schéma XML au champ TEXT cible.

3.Créer les connexions de mappage et configurer l’action INSERT de la base de données.

 

Étape 1 : Ajouter le composant XML

1.Dans le menu Insérer, cliquez sur Fichier/schéma XML, puis recherchez le schéma books.xsd situé dans le répertoire DocExamples. Lorsque vous êtes invité à fournir un fichier XML d’exemple, cliquez sur Ignorer. Lorsque vous êtes invité à sélectionner un élément racine, sélectionnez Books.

2.Double-cliquez sur l'en-tête du composant et saisissez bookentry*.xml dans le champ Entrée fichier XML. Cela indique à MapForce de lire tous les fichiers XML dont le nom commence par « bookentry- » dans le répertoire source. Pour plus d’informations sur cette technique, voir Traiter plusieurs fichiers d'entrée et de sortie dynamiquement.

 

Étape 2 : Ajouter le composant SQLite

Dans le menu Insérer, cliquez sur Base de données, puis suivez l’assistant pour vous connecter au fichier de base de données Library.sqlite situé dans le répertoire DocExamples (voir également Se connecter à une base de données SQLite existante). Lorsque vous êtes invité à sélectionner les objets de la base de données, sélectionnez la table BOOKS.

xml_to_sqlite_field_02

Le champ de la base de données dans lequel le contenu XML sera écrit s’appelle metadata. Pour attribuer un schéma XML à ce champ, cliquez dessus avec le bouton droit de la souris et sélectionnez Attribuer un schéma XML dans le menu contextuel.

xml_to_sqlite_field_03

Dans ce tutoriel, le schéma attribué au champ metadata est le même que celui utilisé pour valider les fichiers XML source. Cliquez sur Naviguer et sélectionnez le schéma books.xsd dans le répertoire DocExamples.

 

Le schéma books.xsd comporte deux éléments déclarés globalement : book et books. Dans cet exemple, nous définirons book comme élément racine du XML écrit dans le champ de la base de données. Cliquez sur Choisir, puis sélectionnez book comme élément racine :

xml_to_sqlite_field_05

 

Étape 3 : Créer les connexions de mappage et configurer l’action INSERT de la base de données

Créez les connexions de mappage comme suit :

xml_to_sqlite_field_07

Comme indiqué ci-dessus, la connexion entre book et book est une connexion de type « Copier-Tout », car la source et la cible utilisent le même schéma et les noms des éléments enfants sont identiques. Pour plus d’informations sur ce type de connexions, voir Connexions copier-tout.

 

La connexion la plus en haut (books vers BOOKS) parcourt chaque élément book de la source et écrit un nouvel enregistrement dans la table BOOKS. Cliquez sur le bouton A:In du composant de base de données et configurez les paramètres de mise à jour de la base de données comme indiqué ci-dessous :

xml_to_sqlite_field_06

L'option SUPPRIMER tous les enregistrements indique à MapForce de supprimer le contenu de la table BOOKS avant d'insérer des enregistrements.

 

Les actions Insérer tout spécifient qu'une requête INSERT sera exécutée dans la base de données. Le champ id est généré à partir de la base de données elle-même, tandis que le champ metadata sera renseigné avec la valeur fournie par le mappage.

 

Veillez à enregistrer le mappage avant de l’exécuter.

 

Pour exécuter le mappage et afficher le résultat généré, cliquez sur le volet Sortie. Notez que cette action ne met pas immédiatement à jour la base de données. Lorsque vous êtes prêt à exécuter le script de base de données généré, sélectionnez la commande de menu Sortie | Exécuter script SQL (ou cliquez sur le bouton ic-start-sel de la barre d’outils).

© 2020-2026 Altova GmbH