Je dois souvent concevoir des schémas XML pour différentes routines d'importation de bases de données XML. Il est évident que les schémas XML évolueront avec le temps ou qu'ils pourraient contenir des bogues à corriger, il est donc important de capturer la version du schéma et d'avoir un mécanisme lié à une version spécifique.
Actuellement, j'ai deux scénarios :
-
Le bogue est trouvé dans le schéma et toutes les instances du schéma doivent respecter la version corrigée.
-
Le schéma est mis à jour et devrait être considéré comme préférable, mais l'ancien doit également être pris en charge.
Enfin, j'ai pensé à stocker les informations de version dans l'espace de noms du schéma :
targetNamespace="http://schemas.company.com/Geodesy/2010/River.xsd"
Lorsque je corrige un bogue, je le corrige dans le même espace de noms, mais si je suis sur le point de mettre à jour un schéma, je dois créer un nouveau espace de noms avec le mois de la mise à jour ajouté :
targetNamespace="http://schemas.company.com/Geodesy/2010/01/River.xsd"
Et si j'ai plus d'une mise à jour dans un mois, il suffit d'ajouter un jour également :
targetNamespace="http://schemas.company.com/Geodesy/2010/01/17/River.xsd"
Connaissez-vous une meilleure approche ?