XML - xsl, elementos abstractos y polimorfismo

 
Vista:

xsl, elementos abstractos y polimorfismo

Publicado por silverfox (1 intervención) el 19/01/2006 17:12:52
Buenas. Espero que alguien sepa responder a mi pregunta, puesto que soy algo novato como para conocer ciertos conceptos, que creo muy avanzados. Vamos a ver...

Estoy trabajando en una pequeña biblioteca de .xsd para validar unos xml como estos:

<peticion>
<fecha hora="" minuto="" segundo=""/>
<respuesta tipo=""/>

y aqui una lista de un tipo de peticion

<peticionTipo1>
aqui vienen datos de la peticion
</peticionTipo1>
....
</peticion>

La estructura del xml está prefijada, así que no puedo retocarla de ninguna manera, ni quitar ni añadir parámetros ni nada de nada.

la lista de peticiones puede contener peticiones de uno de los tipos disponibles, pero sólo de uno de ellos, o sea, no se pueden mezclar tipos de peticiones en el mismo xml.

He estado buscando la forma de hacer algo parecido al polimorfismo, pero no me sale nada sin cambiar la estructura del xml

¿Existe alguna posibilidad de crear este xsd con algo parecido al polimorfismo?


Por otro lado, toda esta estructura debe soportar varios idiomas para los tags xml, así que he estado intentando montar todo esto con elementos abstract. Sólo son válidos los archivos xml que tienen todos sus tags traducidos al mismo idioma, sea cual sea este de entre los disponibles. Así que he generado un fichero por idioma con todos los tags traducidos a ese idioma dentro de el, mientras que en todos los demás ficheros xsd trabajo a base de elementos 'sin idioma' abstract y substitutionGroup.

El problema me surge cuando intento validar:

<xsd:element name="etiquetaGeneral1" abstract="true" type="Tipo1"/>

y en traducciones:

<xsd:element name="etiquetaTraducida1" substitutionGroup="etiquetaGeneral1"/>

porque dice que la etiquetaTraducida no tiene un tipo especificado. Parece ser que de esta forma no me coge el tipo que he pueto en la etiqueta general porque es un elemento abstracto, sin embargo, si pongo el tipo en la etiqueta traducida me lo coge perfectamente.

Mis preguntas son si existe una forma mejor de hacer esta traducción multiidioma y cómo sería ésta más o menos, para coger una idea y probar otra cosa, y si existe una forma para no tener que poner los tipos en las etiquetas traducidas, sino dejarlos en la general, por cuestiones obvias de mantenibilidad.


Muchas gracias a todos por vuestras respuestas.
Un saludo.

Silverfox
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:xsl, elementos abstractos y polimorfismo

Publicado por Iuav (39 intervenciones) el 07/04/2006 01:26:30
Hola,
Mándame un correito con los archivos xsd y xml que estás tratando de validar para indicarte cómo trabajar con el polimorfismo.

Saludos

Iuav
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar