---
title: Comment déboguer XSLT et XQuery
date: 2022-04-13
categories:
  - development
  - software
  - xml
tags:
  - data-mapping
  - xml-editor
  - xmlspy
  - xquery
  - xslt
description: Vidéo de démonstration  – découvrez comment la fonction de "remontée" XSLT/XQuery facilite le débogage de XSLT et XQuery en mettant en évidence le code XML source et l'instruction XSLT/XQuery qui génère le résultat.
---
Status: #blog

Tags:  #data-mapping #xml-editor #xmlspy #xquery #xslt

Categories: [development](/blog/fr/category/development.md) | [xsl](/blog/fr/category/xsl.md) | [xpath+xquery](/blog/fr/category/xpathxquery.md)
# Comment déboguer XSLT et XQuery

Rien n'est plus frustrant que d'obtenir des résultats inattendus lors d'une transformation XSLT ou XQuery et de devoir passer des heures à identifier la source du problème, surtout si vous avez hérité du projet d'un autre développeur ou si vous n'avez pas consulté le code depuis plusieurs mois. Bien entendu, XMLSpy intègre depuis longtemps un [débogueur XSLT](https://www.altova.com/fr/xmlspy-xml-editor#xslt_debugger) et un [débogueur XQuery](https://www.altova.com/fr/xmlspy-xml-editor#xquery_debug) qui permettent de définir des points d'arrêt et d'exécuter les transformations pas à pas afin d'identifier les problèmes.

Pour un processus de débogage plus interactif, XMLSpy comprend également : [Correspondance inverse XSLT/XQuery](https://www.altova.com/fr/xmlspy-xml-editor#xslt_back-mapping).

Une fois la fonction de traçabilité inversée activée, vous pouvez simplement cliquer sur la partie du document de sortie que vous souhaitez examiner de plus près, et XMLSpy mettra immédiatement en évidence le code XML source ainsi que l'instruction XSLT ou XQuery qui en est responsable. Voyons comment cela fonctionne.

![Déboguer les transformations XSLT avec une fonctionnalité de remontée en arrière ](/blog/images/v2017R3_backmapping.jpg)

<!--more-->

## Débogage de XSLT et de XQuery avec la technique de rétro-traçage

Étant donné que les documents XSLT et XQuery sont souvent longs et complexes, il peut être difficile de déterminer la source d'un résultat inattendu. Pour faciliter le débogage ciblé, la fonction de "remontée" permet de visualiser immédiatement les nœuds et les instructions qui génèrent ce résultat.

Avec la fonction de rétro-traçage activée, les transformations XSLT et les exécutions XQuery sont effectuées de manière à ce que le document résultant puisse être retracé vers les documents XSLT+XML ou XQuery+XML d'origine. Lorsque vous passez la souris sur une section du document résultant, l'instruction XSLT/XQuery et les données XML sources correspondant à ce nœud seront mises en évidence.

Essayons. Avant de lancer une transformation XSLT ou XQuery, cliquez sur le bouton "Activer la rétro-transformation" dans la barre d'outils de XMLSpy.

![Débogage avec la remontée d'informations via XQuery](/blog/images/debug-xquery-backmapping.png)

XMLSpy vous offre la possibilité d'afficher côte à côte les documents source et de sortie, ce qui vous permet de visualiser facilement les éléments associés dans une seule fenêtre. Ensuite, lancez la transformation.

Dans la transformation XSLT présentée ci-dessous, j'ai placé le curseur sur l'un des boutons radio dans le document de sortie, en mode "Navigateur", et XMLSpy a automatiquement mis en évidence le nœud source et l'instruction correspondants dans les documents XML et XSLT.

![Déboguer les transformations XSLT avec une fonctionnalité de remontée en arrière](/blog/images/debug-xslt-back-mapping.png)

Le processus est le même dans la vue texte, que ce soit pour les résultats XSLT ou XQuery : il suffit de sélectionner la partie du document de sortie que vous souhaitez analyser.

La possibilité de simplement cliquer sur le résultat pour identifier sa source permet de gagner un temps considérable lors des tests et du débogage du code XSLT et XQuery. Le plus important est que **XMLSpy permet la [reconstitution du chemin d'origine](https://www.altova.com/fr/xmlspy-xml-editor#xslt_back-mapping) sans modifier en aucune façon votre document de sortie.**

Découvrez comment cela fonctionne pour XSLT et XQuery grâce à cette courte vidéo explicative.

![](https://www.youtube.com/watch?v=lK1EDLbxxyo)
