Altova MapForce 2025 Professional Edition

Cet exemple vous guide à travers les étapes nécessaires pour créer un mappage de MapForce qui lit des données provenant de plusieurs fichiers XML et qui les rédige dans une base de données SQLite. L'objectif du mappage est de créer, pour chaque fichier de source XML, un nouvel enregistrement de base de données dans la base de données SQLite. Chaque enregistrement stockera le document XML en tant qu'un champ TEXTE.

 

Tous les fichiers utilisés dans cet exemple sont disponibles dans le chemin suivant : <Documents>\Altova\MapForce2025\MapForceExamples\Tutorial\. Les noms de fichier sont comme suit :

 

Le fichier de design de mappage

XmlToSqliteField.mfd

Les fichiers XML de source

bookentry1.xml

bookentry2.xml

bookentry3.xml

Le schéma XML utilisé pour validation

books.xsd

La base de données SQLite cible

Library.sqlite

 

Pour atteindre l'objectif du mappage, les mesures suivantes seront prises :

 

1.Ajouter le composant XML et le configurer pour lire depuis plusieurs fichiers.

2.Ajouter le composant de la base de données SQLite et attribuer un schéma XML dans le champ TEXTE cible.

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

 

Étape 1: Ajouter le composant XML

1.Dans le menu Insérer, cliquer sur Schéma XML/Fichier et chercher le schéma books.xsd situé dans le répertoire <Documents>\Altova\MapForce2025\MapForceExamples\Tutorial\. Lorsque vous êtes invité à fournir un fichier XML échantillon, cliquer sur Sauter. Lorsque vous êtes invité à choisir un élément racine, choisir Books.

2.Double-cliquer sur l'en-tête du composant et saisir bookentry*.xml dans le champ Fichier XML d'entrée. Cela indique à MapForce de lire tous les fichiers XML dont le nom commence avec "bookentry-" dans le répertoire de source. Pour plus d'informations concernant cette technique, voir Traiter plusieurs fichiers d'entrée ou de sortie dynamiquement.

xml_to_sqlite_field_01

 

Étape 2: Ajouter le composant SQLite

Dans le menu Insérer, cliquer sur Base de données, et suivre l'assistant pour se connecter au fichier de base de données Library.sqlite provenant du répertoire <Documents>\Altova\MapForce2025\MapForceExamples\Tutorial\ (voir aussi Connexion à une base de données SQLite existante ). Lorsque vous êtes invité à choisir les objets de base de données, choisir la table BOOKS.

xml_to_sqlite_field_02

Le champ de base de données où le contenu XML sera écrit s'appelle metadata. Pour attribuer un schéma XML à ce champ, cliquer avec la touche de droite et sélectionner Attribuer Schéma XML dans le champ depuis 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 de source. Cliquer sur Chercher et choisir le schéma books.xsd depuis le répertoire <Documents>\Altova\MapForce2025\MapForceExamples\Tutorial\ :

xml_to_sqlite_field_04

Le schéma books.xsd possède deux éléments avec une déclaration globale : book et books. Dans cet exemple, nous allons définir book en tant que l'élément racine du XML écrit dans le champ de base de données. Cliquer sur Choisir, et sélectionner book en tant qu'élément racine :

xml_to_sqlite_field_05

 

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

Créer les connexions de mappage comme suit :

xml_to_sqlite_field_07

Comme indiqué ci-dessus, la connexion provenant de book vers book est une connexion "Copy-All", étant donné qu'aussi bien la source et la cible utilisent le même schéma et que les noms des éléments enfants sont les mêmes. Pour plus d'informations concernant ce type de connexions, voir connexions Copy-all.

 

La connexion supérieure (books vers BOOKS) itère par chaque élément de livre dans la source et écrit un nouvel enregistrement dans la table BOOKS. Cliquer sur la touche A:In sur le composant de base de données et définit les paramètres de mise à jour de la base de données comme affiché ci-dessous :

xml_to_sqlite_field_06

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

 

Les actions Insérer toutes spécifient qu'une requête INSERT de base de données aura lieu. Le champ id est généré depuis la base de données elle-même, alors que le champ metadata sera rempli avec la valeur fournie par le mappage.

 

Veiller à enregistrer le mappage avant de l'exécuter.

 

Pour exécuter le mappage et consulter l'entrée générée, cliquer sur l'onglet Sortie. Veuillez noter que cette action ne met pas à jour la base de données immédiatement. Lorsque vous êtes prêt à exécuter le script de base de données généré, choisir la commande de menu Sortie | Exécuter Script SQL (ou cliquer sur la touche ic-start-sel dans la barre d'outils).

© 2018-2024 Altova GmbH