Il est aussi possible de vérifier que le document soit « valide » à partir d’un XML Schéma (XSD).
Validation des données avec un schéma XML
On comprendra qu’un XSD permet de délocaliser une partie de l’intelligence de l’application : quoi de plus simple que de valider des règles métier avec un Schéma XML !
La validation à partir d’un DTD ne sera pas possible, mais il existe de nombreux outils gratuits qui permettent la conversion d’un DTD en XSD (ex TRANG).
Par exemple, si un XML Schéma dit qu’une valeur de tag devrait être un nombre et si le fichier XML possède une lettre, le fichier XML, même bien formé, sera non valide. Il est donc très facile de contrôler le bon état d’un document avant son intégration dans DB2, mais ce n’est pas une obligation.
Avant qu’un schéma XML puisse être utilisé pour valider un document XML, ce dernier doit être enregistré dans le « XML Schema Repository » appelé XSR. Cette étape préalable sera accomplie grâce à de nouvelles procédures stockées intégrés à DB2 : XSR_REGISTER et XSR_COMPLETE comme montré en figure 4.
Un appel à la procédure XSR_COMPLETE est nécessaire afin d’achever l’enregistrement du XSD, car il est possible de combiner de multiples schémas XML (les fusionner) en un unique XSR en utilisant la procédure XSR_ADDSCHEMADOC. Ceci offre la possibilité de valider un flux XML à partir de plusieurs schémas en une seule passe.
Mais dans quel cas ? Tout simplement si votre flux XML évolue avec l’ajout de nouvelles informations, vous pourrez valider ces nouvelles informations avec un nouveau schéma partiel relatif à ces nouvelles données sans tout recommencer.
A l’inverse, la procédure XSR_REMOVE permet la suppression d’un objet *SQLXSR.
Le contenu du référentiel de schémas XML (XSR) peut être interrogé en lançant une requête SQL sur QSYS2.XSROBJECTS faisant dorénavant partie des références croisées de DB2 ou directement via iSeries Navigator.
Pour insérer dans une colonne XML un document XML en demandant sa validation, il faudra utiliser l’ordre XMLVALIDATE comme montré en figure 5.
Pourquoi ne pas pouvoir valider directement un XML dans une colonne à partir d’un XSD stocké dans l’IFS sans passer par un XSR ? Simplement pour des questions de performances qui seraient impactées si DB2 devait à chaque fois accéder à un fichier externe stocké dans l’IFS.
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
- Forum INCYBER : le cybercrime change d’échelle, l’Europe cherche sa riposte
- IA : ne déléguez pas votre cœur de métier à une boîte noire
- Identité de l’IA : 4 priorités pour anticiper plutôt que subir la régulation
- Sauvegarder les données ne suffit plus : il faut refonder le poste de travail
Articles les + lus
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
À la une de la chaîne Tech
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
- Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
- Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
