compatibilidad entre versiones de xsd

drules
08 de Septiembre del 2004
Hola a todos,
mi problema es el siguiente, se ha desarrollado un proyecto que tiene como base un lenguaje basado en xml para la transmisión de mensajes entre sistemas. Este lenguaje está definido por un xsd, actualmente estamos trabajando para un proyecto parecido en el mismo cliente pero hemos detectado fallos en el xsd ya implantado y queremos ampliarlo, sin eliminar lo que tiene. Por ejemplo: tiene identificadores de tipo string para identificar equipos informáticos, zonas, etc. Queremos por muchisimas razones poner un identificador numérico, dejaremos el antiguo como descripción. El problema es el siguiente, es muy posible que entre ambos proyectos haya comunicación de mensajes de este tipo, mi duda es alguien ha mantenido dos versiones diferentes de "schemas" mediante un wrapper o traductor entre ambas. Por supuesto estamos preparando para un futuro unificar las dos versiones, esto es, que prevalezca la nueva versión.
¿Existe algún tipo de patrón de diseño que nos pueda ayudar?El requisito indispensable deber ser la velocidad.
No sé si ha quedado más o menos claro. Os pongo un ejemplo.
Aplicación 1 envía un mensaje acerca del estado de un equipo(mensaje XML) hacia Aplicación 2 (que tiene un lenguaje XML extendido del de Aplicación 1). En este mensaje viene identificado un equipo de la siguiente forma <origen>MAQUINA1/INTERFAZ4</origen>
Ese teórico wrapper debería traducir ese origen por un identificador numérico, <origen>02397462</origen> ya que aplicación 2 sólo trabaja con id numéricos. Pues ese paso de traducción, o traducción entre versiones es lo que necesito conocer, tal vez una combinación entre trnasformaciones xslt y lógica en java para extraer la equivalencia entre identificadores.....
Saludos a todos.