¿Cuáles son las mejores prácticas para versionar esquemas XML?

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 que deben solucionarse, por lo que es importante capturar la versión del esquema y tener algún mecanismo para enlazar contra una versión específica.

Actualmente tengo dos escenarios:

El error se encuentra dentro del esquema y todas las instancias del esquema deben cumplir con la versión corregida.

El esquema actualizado y debe considerarse como preferible, pero también se debe admitir uno antiguo.

Finalmente se me ocurrió almacenar información de versión dentro del espacio de nombres del esquema:

targetNamespace="http://schemas.company.com/Geodesy/2010/River.xsd"

Cuando soluciono un error, lo soluciono en el mismo espacio de nombres, pero si estoy a punto de actualizar un esquema, entonces necesito crear un nuevo espacio de nombres pero con el mes de actualización agregado:

targetNamespace="http://schemas.company.com/Geodesy/2010/01/River.xsd"

Y si tengo más de una actualización en un mes, simplemente agregue un día también:

targetNamespace="http://schemas.company.com/Geodesy/2010/01/17/River.xsd"

¿Conoces algún enfoque mejor?

Respuestas a la pregunta(2)

Su respuesta a la pregunta