Microsoft a fait avec son SGBD le choix d’une stratégie différente du mode “XML intégré” proposé par ses concurrents Oracle, IBM et Software AG notamment. Comme nous le constations dans le banc d’essai comparatif “Quatre SGBD pour les données XML” (lire DM&R n?’481), l’éditeur ne propose pas d’extension majeure de son SGBDR et ne prend pas en compte, par exemple, le type de données XML natif. Toutefois, Microsoft propose une offre globale (SGBDR et outils de développement) destinée à faciliter la production d’applications faisant usage du langage XML : résultats de requêtes SQL en XML, production de documents bien formés et valides par rapport à une DTD, mises à jour de données relationnelles à partir de contenus XML… La version 2.0 du kit de développement SQLXML, annoncée le 15 octobre dernier (après la publication de notre banc d’essai), intègre de nouvelles fonctions qui comblent certaines des lacunes de l’offre.
Génération de documents XML en deux temps
SQLXML 2.0 permet tout d’abord de produire un document XML à partir du contenu de tables relationnelles. Tel est l’objectif de la clause FOR XML, extension de SQL. Cette génération de code XML est effectuée en deux temps. D’abord en faisant exécuter la requête SQL par le serveur, puis en transformant le résultat en document XML. Le développeur peut choisir d’opérer la transformation au sein du SGBDR (procédure stockée) ou au niveau de la couche intermédiaire (middle-tier) depuis un appel d’URL ou dans un Template. Trois modes de traitement sont proposés. Le premier génère un fichier dont la structure se rapproche d’un format CSV en XML avec des balises dont les attributs correspondent au nom des colonnes de la base. Le deuxième mode produit un document XML classique dont la structure et les noms de balises correspondent à la structure des tables manipulées. Enfin, le dernier mode offre un contrôle complet sur le format du résultat et du document produit : structure, imbrication, nom des balises et attributs, sections littérales et constantes…SQLXML permet par ailleurs de créer de véritables vues XML sur les bases de données SQL Server qui s’appuient sur la définition d’un schéma XDR ou XSD.SQLXML 2.0 offre également la possibilité de créer des vues relationnelles à partir de documents XML, une première dans ce domaine. Après la validation syntaxique ou sémantique, un document XML peut ainsi être utilisé pour effectuer des mises à jour de tables relationnelles.
Une bonne gestion de la proposition actuelle du W3C
SQLXML 2.0 exploite XSD pour automatiser et simplifier le mapping des données XML sous forme de tables relationnelles afin de produire des documents valides, ainsi que pour fournir des vues relationnelles à partir de documents XML. Microsoft offre ici une bonne gestion de la proposition actuelle du W3C : nom des éléments et des attributs, mapping, hiérarchie des relations, dépendances, clés, sections constantes…Enfin, les Updategrams permettent de mettre à jour le contenu d’une base de données relationnelle à partir du contenu d’un document XML. Le document à utiliser doit respecter un schéma XDR ou XSD et contenir notamment deux sections spécifiques par mise à jour.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.