xsl w3schools probar online create como xml xslt xsd

w3schools - Cómo generar XSLT a partir de muestras XML



xslt introduction (3)

Estoy buscando una herramienta para la generación XSLT semiautomática .

Dado 2 archivos XML, fuente:

<elm>XXX</elm>

y objetivo:

<exx>XXX</exx>

La herramienta debe hacer que el archivo XSLT, que produce el destino desde la fuente. Al mirar el contenido, debe identificar los cambios en el nivel, la ubicación, los nombres de los elementos, etc. No hay una solución general para esto , pero necesitaría solo transformaciones simples.

Posible implementación:

1. scan the source, map XML data "XXX" to element path "elm" 2. scan the target, map XML data "XXX" to element path "exx" 3. output target XML structure, output XSLT mapping of "XXX", "elm" -> "exx"

En caso de conflicto, se necesita intervención manual. Un conflicto podría ser "XXX" en más que en su lugar en la fuente.

Sería bueno si la herramienta también estuviera atenta a XSD / DTD, por ejemplo, para realizar asignaciones manuales de "campos".

Editar : aclaración.



He utilizado Altova Map Force para generar XSLT para XML de gran tamaño y funciona bien. Puedes hacer casi todas las lógicas como lógica, función de cadena, funciones matemáticas y funciones definidas por el usuario, etc. Pero el caso es que cuando tu XML es muy grande, la araña como web a veces te confunde mucho y es desordenada, pero esto solo se espera. Y creo que el mantenimiento puede ser un poco difícil en altova.


Dudo que incluso las reglas simples de transformación puedan generarse automáticamente.

Por ejemplo, tome el XML

<family> <father>Paul</father> <mother>Maria</mother> <child>Paul</child> </family>

y el objetivo

<person>Paul</person>

que debería ser una combinación bastante común. Ni siquiera pude decidir manualmente (sin la ayuda del que desea la transformación) desde qué etiqueta se creó el objetivo <person >, desde <father > o <child >, así que dudo que una aplicación produzca algo sano aquí.

Actualización: si algún tipo de drag & drop-XSLT-generación estaría bien para usted, hay algunos productos comerciales disponibles, pero no pueden producir XSLT desde un archivo de destino. Pero arrastrar y soltar debe ser al menos una solución mejor que escribirla completamente a mano: