A menudo tengo que diseñar esquemas XML para diferentes rutinas de importación de bases XML. Está claro que los esquemas XML evolucionarán con el tiempo o podrían contener errores por corregir, por lo que es importante capturar la versión del esquema y tener algún mecanismo para enlazar con una versión específica.¿Cuáles son las mejores prácticas para el control de versiones de esquemas XML?
Actualmente tengo dos escenarios:
El error se encuentra dentro del esquema y todas las instancias de esquema deben cumplir con la versión fija.
El esquema se actualizó y debería considerarse como preferible, pero también debería admitirse uno anterior.
Finalmente se me ocurrió con el almacenamiento de información de la versión dentro del espacio de nombres del esquema:
targetNamespace="http://schemas.company.com/Geodesy/2010/River.xsd"
Al fijar un error lo fijo en el mismo espacio de nombres, pero si estoy a punto de actualizar un esquema a continuación, necesito crear un nuevo espacio de nombres pero con meses de actualización ha añadido:
targetNamespace="http://schemas.company.com/Geodesy/2010/01/River.xsd"
Y si tengo más de una actualización en un mes a continuación, sólo añadir un día demasiado:
targetNamespace="http://schemas.company.com/Geodesy/2010/01/17/River.xsd"
¿Conoces algún mejor enfoque?
Entonces, ¿deberíamos poner información sobre la versión en un comentario? –
¿Hay alguna manera de obtener el número de versión en la raíz después de demarshalling con JAXB? – CMPE