> Tech > Générer un flux XML à partir de données relationnelles

Générer un flux XML à partir de données relationnelles

Tech - Par Renaud ROSSET - Publié le 04 avril 2013
email

Dans le chapitre précédent, on pouvait extraire des données d’un flux XML pour les stocker dans la base de données en modèle relationnel. Mais l’inverse est-il possible ?

Dans les versions antérieures à la 7.1, pour générer du XML à partir des données stockées dans les tables, l’on pouvait s’appuyer sur :

•    Des outils externes (SQL via ODBC ou JDBC…) gratuits ou payants.
•    Les ordres natifs COBOL ou Fichiers plats copiés dans l’IFS
•    Les toolkits IBM (CGIDEV2, XML toolkits)
•    Le middleware DB2 XML Extenders (logiciel sous licence payant)
•    Divers frameworks : (projets HTTPAPI de Scott Klement, RPG-XML Suite, ….)

Dorénavant la 7.1 nous offre une collection de fonctions et d’expressions disponibles  nous permettant de produire du contenu XML appelées « Publishing ».

Liste des fonctions de publication :

FONCTION

DESCRIPTIF

XMLATTRIBUTES

Cette expression produit un attribut XML, à utiliser à l’intérieur de l’expression XMLELEMENT.

XMLCOMMENT

Cette fonction crée une valeur XML contenant un commentaire.

XMLCONCAT

Cette fonction concatène une liste de valeurs XML individuelles pour créer une valeur simple contenant un fragment de contenu XML

XMLDOCUMENT

Casting d’un CHAR/VARCHAR/LOB vers un type XML bien formé. Une colonne de type XML stockée dans une table DB2 doit être un DOCUMENT.

XMLELEMENT

Cette expression produit un élément XML

XMLFOREST

Cette expression produit un arbre XML (autrement dit une séquence) d’éléments utilisant les noms et le contenu donnés.

XMLPI

Cette expression crée une instruction de traitement XML

XMLNAMESPACES

Cette expression produit un espace de nommage, elle ne peut être utilisée seulement en tant qu’argument de XMLELEMENT ou XMLFOREST.

XMLROW

Cette expression produit une ligne XML à partir des colonnes d’une table

XMLTEXT

Cette fonction permet de produire un texte compatible XML

XMLAGG

Cette fonction est, à la différence des fonctions décrites ici, une fonction d’agrégat. Elle concatène les valeurs en entrée pour les passer en argument à la fonction d’agrégat.

XMLGROUP

Cette expression un flux XML par groupes de données

 

Ces fonctions sont détaillés dans le Redbook « DB2 for i SQL Reference 7.1 » dont ci-dessous un aperçu partiel de leurs possibilités avec un exemple sur deux tables, EMPLOYEE et DEPARTMENT que vous pouvez créer avec la procédure stockée : voir figure 13.

CALL CREATE_SQL_SAMPLE(‘SQLSAMPLE’)

Téléchargez cette ressource

Rapport mondial 2025 sur la réponse à incident

Rapport mondial 2025 sur la réponse à incident

Dans ce nouveau rapport, les experts de Palo Alto Networks, Unit 42 livrent la synthèse des attaques ayant le plus impacté l'activité des entreprises au niveau mondial. Quel est visage actuel de la réponse aux incidents ? Quelles sont les tendances majeures qui redessinent le champ des menaces ? Quels sont les défis auxquels doivent faire face les entreprises ? Découvrez les top priorités des équipes de sécurité en 2025.

Tech - Par Renaud ROSSET - Publié le 04 avril 2013