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
Guide de Sécurité IA et IoT
Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.