---
title: Como depurar XSLT e XQuery
date: 2022-04-13
categories:
  - development
  - software
  - xml
tags:
  - data-mapping
  - xml-editor
  - xmlspy
  - xquery
  - xslt
description: Vídeo demonstrativo – veja como a função de "back-mapping" do XSLT/XQuery facilita a depuração do XSLT e do XQuery, destacando o XML de origem e a instrução XSLT/XQuery que controla o resultado.
---
Status: #blog

Tags:  #data-mapping #xml-editor #xmlspy #xquery #xslt

Categories: [development](/blog/pt/category/development.md) | [xsl](/blog/pt/category/xsl.md) | [xpath+xquery](/blog/pt/category/xpathxquery.md)
# Como depurar XSLT e XQuery

Não há nada mais frustrante do que obter resultados inesperados numa transformação XSLT ou XQuery e ter de passar horas a tentar identificar o problema – especialmente se herdou o projeto de outro programador ou não tem consultado o código há alguns meses. Naturalmente, o XMLSpy já inclui um [depurador XSLT](https://www.altova.com/pt/xmlspy-xml-editor#xslt_debugger) e um [depurador XQuery](https://www.altova.com/pt/xmlspy-xml-editor#xquery_debug) que permitem definir pontos de interrupção e percorrer as transformações para identificar problemas.

Para um processo de depuração mais interativo, o XMLSpy também inclui: [Mapeamento inverso XSLT/XQuery](https://www.altova.com/pt/xmlspy-xml-editor#xslt_back-mapping).

Com o recurso de rastreamento reverso ativado, pode simplesmente clicar ou passar o cursor sobre a parte do seu documento de saída que pretende analisar, e o XMLSpy irá imediatamente destacar o código XML de origem e a instrução XSLT ou XQuery responsável. Vamos ver como funciona.

![Depurar transformações XSLT com mapeamento inverso ](/blog/images/v2017R3_backmapping.jpg)

<!--more-->

## Depuração de XSLT e XQuery com mapeamento inverso

Como os documentos XSLT e XQuery são frequentemente longos e complexos, pode ser difícil identificar a origem de resultados inesperados. Para uma depuração mais precisa, a função de "back-mapping" permite visualizar imediatamente quais nós e instruções estão a gerar o resultado.

Com o recurso de "back-mapping" ativado, as transformações XSLT e as execuções XQuery são realizadas de forma que o documento resultante possa ser mapeado de volta para os documentos XSLT+XML ou XQuery+XML de origem. Quando o utilizador passa o cursor sobre uma secção no documento resultante, a instrução XSLT/XQuery e os dados XML de origem correspondentes a esse nó serão destacados.

Vamos experimentar. Antes de iniciar uma transformação XSLT ou XQuery, clique no botão "Ativar Mapeamento Inverso" na barra de ferramentas do XMLSpy.

![Depuração com mapeamento inverso em XQuery](/blog/images/debug-xquery-backmapping.png)

O XMLSpy oferece a opção de organizar os documentos de origem e de saída em mosaico, para que possa visualizar facilmente os elementos relacionados numa única janela. Em seguida, execute a transformação.

Na transformação XSLT mostrada abaixo, passei o cursor sobre um dos botões de opção no documento de saída, na visualização do navegador, e o XMLSpy destacou automaticamente o nó e a instrução correspondentes nos documentos XML e XSLT.

![Depurar transformações XSLT com mapeamento inverso](/blog/images/debug-xslt-back-mapping.png)

O processo é o mesmo na visualização de texto, tanto para a saída XSLT como para a saída XQuery: basta selecionar a parte do documento de saída que pretende analisar.

A capacidade de clicar diretamente no resultado para identificar a sua origem representa uma enorme poupança de tempo para testar e depurar código XSLT e XQuery. O melhor de tudo é que o **XMLSpy consegue realizar o [mapeamento inverso](https://www.altova.com/pt/xmlspy-xml-editor#xslt_back-mapping) sem modificar o seu documento de saída de qualquer forma.**

Veja como isto funciona tanto para XSLT como para XQuery neste vídeo curto que demonstra o processo.

![](https://www.youtube.com/watch?v=lK1EDLbxxyo)
