Création de fichiers XML à partir de bases de données relationnelles

Parfois, suivre un exemple créé par quelqu'un d'autre est un bon moyen de démarrer rapidement un projet. L'inconvénient est que vous pourriez passer à côté d'une solution meilleure et plus efficace. Dans notre récent article sur XML dans le cloud, nous avons utilisé DatabaseSpy pour nous connecter à une base de données MySQL locale et au service Amazon Relational Database Service dans le cloud. Nous avons utilisé la fonction Concat() dans une instruction SQL SELECT pour créer une sortie au format XML à partir de données non-XML, comme illustré ci-dessous.

Notre instruction SELECT était basée sur un exemple présent dans la documentation MySQL concernant le support XML. Examinons de plus près le problème que cette affirmation tente de résoudre. Vous pouvez copier un tableau de résultats de DatabaseSpy, comme celui affiché ci-dessus, et le coller dans une fenêtre d'édition dans XMLSpy, mais le tableau de résultats seul ne crée pas un document XML correctement formaté. Pour être correctement formé, conformément à la définition du W3C, Un document XML doit contenir un élément racine. Tous les autres éléments et structures logiques doivent être intégrés à l'élément racine. Vous pouvez également considérer l'élément racine comme un conteneur englobant tout le contenu XML, de la même manière que l'élément encadre chaque ligne dans nos résultats originaux. Une meilleure façon de créer des fichiers XML à partir de données relationnelles Nous n'avons pas besoin de modifier manuellement les résultats pour ajouter un élément racine, et nous n'avons pas non plus besoin de modifier notre requête SQL, déjà complexe, pour ajouter cet élément. DatabaseSpy nous permet d'exporter facilement des documents XML correctement formatés à partir de tables de base de données contenant des données ordinaires, comme notre table des villes. Dans la fenêtre de dialogue d'exportation de DatabaseSpy, nous pouvons choisir le format XML comme format de sortie, cliquer sur la table "cities" pour la sélectionner dans la hiérarchie de la base de données, et choisir XMLSpy comme destination. La section Aperçu, située en bas de la fenêtre d'exportation, affiche un aperçu du contenu du tableau.

Lorsque nous cliquons sur le bouton "Exporter", DatabaseSpy formate les données relationnelles en utilisant des noms d'éléments XML dérivés des noms de colonnes de la table, et envoie le résultat directement à XMLSpy. La capture d'écran ci-dessous montre une partie du fichier dans XMLSpy. La fenêtre "Message" en bas confirme que le fichier est correctement formaté.

Il est important de noter que DatabaseSpy a fourni l'élément racine et a ajouté des commentaires pour décrire les types de données des colonnes de la table de la base de données. De plus, nous n'avons pas eu à construire une instruction SQL avec une fonction Concat() complexe. Nous avons commencé cet article pour répondre à un besoin simple : fournir un élément racine pour compléter la sortie de la fonction Concat() que nous avons décrite précédemment. Lorsque des projets réels nécessitent une conversion de bases de données relationnelles vers XML, les exigences sont susceptibles d'être beaucoup plus complexes.

Altova XMLSpy se connecte directement à toutes les bases de données populaires pour travailler avec les technologies XML et les données relationnelles. XMLSpy vous permet de créer facilement un schéma XML à partir de la structure d'une base de données, ou de créer un schéma de base de données à partir d'un schéma XML. XMLSpy inclut également des éditeurs et des débogueurs avancés pour XQuery et XPath, conçus pour les données XML stockées directement dans les bases de données, ainsi qu'un support spécialisé pour les fonctionnalités XML dans les bases de données Microsoft SQL Server, IBM DB2 et Oracle. À mesure que de plus en plus de secteurs adoptent et développent des normes basées sur XML pour l'échange d'informations, un besoin courant est de convertir les données stockées dans les anciennes bases de données vers le format XML. Altova MapForce se connecte aux bases de données et vous permet de mapper et de transformer les données relationnelles afin de les rendre compatibles avec un ou plusieurs schémas XML.

Vous pouvez utiliser votre mappage pour effectuer une conversion de données unique, vous pouvez enregistrer et rouvrir votre mappage pour effectuer une autre conversion ultérieure, ou vous pouvez demander à MapForce de générer du code source, libre de droits, à partir de votre mappage, que vous pourrez intégrer à votre propre projet lorsque des conversions répétées sont nécessaires.

Si vous souhaitez constater par vous-même la qualité avec laquelle les outils Altova peuvent générer des fichiers XML correctement formatés à partir de bases de données relationnelles, téléchargez une version d'essai gratuite de la suite Altova MissionKit.