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
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Stratégie de cyber résilience : la France en avance sur la prise de conscience mais en retard sur les moyens
- Pourquoi Shopify Plus s’impose dans la transformation du e-commerce B2B
- Cybersécurité 2026 : Deepfakes, IA agentique et déficit de préparation
- Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
Articles les + lus
Confiance et curiosité : les clés pour entrer (et grandir) en tant que femme dans la tech
Portails développeurs internes : accélérer l’innovation sans alourdir les budgets
Pourquoi Shopify Plus s’impose dans la transformation du e-commerce B2B
Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
Alliée ou menace ? Comment l’IA redessine le paysage cyber
À la une de la chaîne Tech
- Confiance et curiosité : les clés pour entrer (et grandir) en tant que femme dans la tech
- Portails développeurs internes : accélérer l’innovation sans alourdir les budgets
- Pourquoi Shopify Plus s’impose dans la transformation du e-commerce B2B
- Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
- Alliée ou menace ? Comment l’IA redessine le paysage cyber
