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 ?
Générer un flux XML à partir de données relationnelles
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
Comment accélérer la transformation des environnements de travail ?
Dans un monde professionnel en pleine mutation, la mobilité, l’efficacité énergétique, la sécurité et l’intelligence embarquée sont devenues des critères décisifs pour les équipements informatiques. Découvrez comment les nouveaux PC Microsoft Surface dotés des processeurs Snapdragon X Series s’imposent comme une réponse stratégique aux nouveaux enjeux IT.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- À l’aube de 2026, le SaaS entre dans une nouvelle phase
- Face à l’urgence écologique, l’IT doit faire sa révolution
- IoT et cybersécurité : les bases que chaque décideur doit maîtriser
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
