Tengo un XSL y su salida XML. ¿Puedo producir un archivo de entrada de muestra usando estos? Necesito ver cómo debe ser la estructura del XML de entrada.Revertir salida XSL
Respuesta
Puede obtener una idea de algunos del formato original, sin embargo, es probable que no pueda reconstruir el original completo.
Si el XSLT no usa parte del XML original para construir el resultado, no puede reconstruir la estructura original.
Además, si su XSLT usa plantillas correctamente, puede ser difícil discernir a qué plantillas se llamó cuando (y en particular cómo se procesó el XML original).
Gracias por su respuesta. Está bien si pierdo parte de la estructura original, solo necesito un archivo de entrada de muestra. ¿Sabes qué herramientas puedo usar para hacer esto? – Michael
@Michael - No conozco ninguna de esas herramientas. Probablemente porque el flujo se invierte (salida -> entrada) y porque un original no se puede reconstruir de manera confiable. – Oded
Tengo un XSL y su salida XML. ¿Puedo producir un archivo de entrada de muestra usando estos?
Para cualquier función f()
tener un inverso, es necesario que el f()
es una bidireccional 1: 1 de mapeo.
No todas las funciones son asignaciones bidireccionales 1: 1. El ejemplo más simple que me viene a la mente es:
f(x) = x^2
Por lo tanto, la cuadratura no es una asignación bidireccional 1: 1. La aplicación del reverso de escuadrar al 9
tendría que producir dos valores: -3
y 3
, pero, por definición, una función solo puede producir un valor.
Generalmente, si una función no es una asignación bidireccional 1: 1, es con pérdida, y no toda la información que tiene en la entrada está presente en (o puede deducirse de) el resultado.
En el caso de cuadrar, la información que se pierde es si el argumento fue positivo o negativo.
Hay algunas funciones que pierden el 100% todo, como las constantes:
f(x) = 1
lo general una transformación XSLT es una función que transforma el documento XML de origen a algún resultado de salida. En general, dicha transformación es con pérdida (por ejemplo, a menudo se nos dice que descartemos/ignoremos algunos atributos o elementos).
Por lo tanto, la respuesta si la entrada a una transformación se puede recuperar de la salida es generalmente negativa.
Incluso si no es necesaria la entrada exacta, sino "una entrada de muestra", esto no siempre se puede producir y nunca contendrá los datos que se pierden por la transformación.
Gracias por eso. Sin embargo, no necesito lo contrario para producir la misma entrada. Si comienzo con el archivo A y obtengo el archivo B después de la transformación, la transformación inversa tomará el archivo B y producirá el archivo C (que es diferente de A). Sin embargo, una transformación directa del archivo A o C produce B. Supongo que no hay una herramienta que lo haga, y no tengo tiempo para escribirlo. – Michael
- 1. Capture xsl: mensaje de salida en java
- 2. valor de Salida de xsl: variable, con xsl: value-of problema
- 3. XSL xsl: template match = "/"
- 4. cómo conseguir código doctype con el URL utilizando XSL: salida
- 5. XSL - ¿Cómo deshabilitar el escape de salida para un atributo?
- 6. Cómo formatear/sangrar salida de una Transformación XSL
- 7. ¿Cómo hago que la transformación xsl sangre la salida?
- 8. XSL
- 9. xsl: cómo dividir cadenas?
- 10. Cómo revertir una lista?
- 11. diferencia entre xsl: param y xsl: variable
- 12. TortoiseGit - Revertir?
- 13. transformación xsl
- 14. Revertir una compilación de fusión de git, y luego revertir la revertir
- 15. <xsl: variable> Imprime el valor de la variable XSL usando <xsl: value-of>
- 16. XSL llamada recursiva - xsl: funciones vs xsl: plantilla con plantilla de llamada
- 17. Git fusionar, a continuación, revertir, a continuación, revertir la reversión
- 18. XSL: Muerto o no muerto
- 19. ¿Dónde pongo una función XSL en un documento XSL?
- 20. Ruta relativa para xsl: import o xsl: include
- 21. xsl: variable como valor de xpath para otra etiqueta xsl
- 22. Cómo usar la variable XSL en xsl: apply-templates?
- 23. XSL - Escapar un apóstrofo durante xsl: cuando prueba
- 24. xsl: value-of utilizado como XSL: nombre del elemento
- 25. deshacer bzr revertir
- 26. Revertir para copia masiva
- 27. Cómo revertir una matriz
- 28. git revertir en Egit
- 29. Revertir atrás registro modificado
- 30. jQuery.draggable() - botón Revertir sobre
Sí, puede, pero no de manera unívoca. Supongamos que la función 'f()' de A a B y a1, a2 de A y b de B: por definición, usted podría tener 'f (a1) = b' y' f (a2) = b' –
Buena pregunta, + 1. Vea mi respuesta para una explicación detallada de por qué esto generalmente no se puede hacer. –
Buena pregunta, pero estoy más interesado en cómo te encuentras en una posición donde tienes el XSLT y la salida, pero no acceso a la entrada. ¿La reconstrucción mediante la inversión del XSLT es realmente la única forma de obtener una entrada de muestra? –