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
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- BlueSecure repense la sensibilisation à la cybersécurité avec des formats immersifs et engageants
- Les agents d’IA fragilisent la sécurité : pour les sécuriser, inutile de repartir de zéro
- Yampa : innovation en IA, souveraineté et sécurité au service des DSI
- Les marchés publics peuvent-ils encore faire émerger des champions numériques français ?
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
