Cómo depurar XSLT y XQuery
No hay nada más frustrante que obtener resultados inesperados de una transformación XSLT o XQuery y tener que dedicar horas a rastrear el problema, especialmente si has heredado el proyecto de otro desarrollador o no has revisado el código en varios meses. Por supuesto, XMLSpy lleva mucho tiempo incluyendo un depurador XSLT y un depurador XQuery para establecer puntos de interrupción y analizar paso a paso las transformaciones con el fin de identificar los problemas.
Para un proceso de depuración más interactivo, XMLSpy también incluye: Retrotraducción de XSLT/XQuery.
Con la función de trazado inverso activada, simplemente puede hacer clic o pasar el cursor sobre la sección del documento de salida que desea analizar, y XMLSpy resaltará inmediatamente el código XML de origen y la instrucción XSLT o XQuery responsable. Veamos cómo funciona.

Depuración de XSLT y XQuery mediante el mapeo inverso
Dado que los documentos XSLT y XQuery suelen ser extensos y complejos, puede ser difícil identificar la causa de resultados inesperados. Para depurar de forma precisa, la función de "retro-mapeo" facilita la visualización inmediata de los nodos y las instrucciones que están generando la salida.
Con la función de trazado inverso activada, las transformaciones XSLT y las ejecuciones de XQuery se realizan de manera que el documento resultante pueda ser mapeado de nuevo a los documentos XSLT+XML o XQuery+XML originales. Cuando se pasa el cursor sobre una sección del documento resultante, la instrucción XSLT/XQuery y los datos XML de origen correspondientes a ese nodo se resaltarán.
Intentemos. Antes de iniciar una transformación XSLT o XQuery, haga clic en el botón "Activar el mapeo inverso" en la barra de herramientas de XMLSpy.

XMLSpy le ofrecerá la opción de mostrar los documentos de origen y de salida de forma que se puedan visualizar fácilmente los elementos relacionados en una sola ventana. Luego, ejecute la transformación.
En la transformación XSLT que se muestra a continuación, he pasado el cursor sobre uno de los botones de opción en el documento de salida, en la vista del navegador, y XMLSpy automáticamente resaltó el nodo y la instrucción correspondientes en los documentos XML y XSLT.

El proceso es el mismo tanto en la vista de texto como para la salida de XSLT y XQuery: simplemente seleccione la parte del documento de salida que necesita analizar.
La posibilidad de simplemente hacer clic en el resultado para identificar su origen supone un gran ahorro de tiempo al realizar pruebas y depurar código XSLT y XQuery. Lo mejor de todo es que XMLSpy realiza la retro-mapeo sin modificar de ninguna manera su documento de salida.
Vea cómo funciona esto tanto para XSLT como para XQuery en este breve video explicativo.