Hoe debugt u XSLT en XQuery
Er is weinig frustrerender dan onverwachte resultaten krijgen van een XSLT- of XQuery-transformatie en urenlang moeten zoeken naar de oorzaak – vooral als u het project van een andere ontwikkelaar heeft overgenomen of de code al een paar maanden niet meer heeft bekeken. Uiteraard beschikt XMLSpy al lange tijd over een XSLT-debugger en een XQuery-debugger waarmee u pauzepunten kunt instellen en door transformaties kunt stappen om problemen te identificeren.
Voor een interactiever debugproces bevat XMLSpy ook terugkoppeling voor XSLT/XQuery.
Met de functie "terugkoppeling" ingeschakeld, kunt u eenvoudig klikken op of met de muiscursor over het gedeelte van uw uitvoerdocument bewegen waar u zich op wilt concentreren, en XMLSpy markeert direct de bron-XML en de XSLT- of XQuery-instructie die verantwoordelijk zijn. Laten we eens kijken hoe dit werkt.

Het debuggen van XSLT en XQuery met behulp van terugkoppeling
Omdat XSLT- en XQuery-documenten vaak lang en complex zijn, kan het moeilijk zijn om de oorzaak van ongewenste resultaten te achterhalen. Voor gerichte debugging maakt "back-mapping" het eenvoudig om direct te zien welke knooppunten en instructies de output beïnvloeden.
Met de functie "back-mapping" ingeschakeld, worden XSLT-transformaties en XQuery-uitvoeringen uitgevoerd, zodat het resultaatdocument kan worden gekoppeld aan de oorspronkelijke XSLT+XML- of XQuery+XML-documenten. Wanneer u met de muis over een sectie in het resultaatdocument beweegt, worden de XSLT/XQuery-instructie en de XML-brondata voor die specifieke resultaatknop gemarkeerd.
Laten we het proberen. Voordat u een XSLT- of XQuery-transformatie start, klikt u op de knop "Back-mapping inschakelen" in de XMLSpy-werkbalk.

XMLSpy biedt u de mogelijkheid om de bron- en uitvoerdocumenten naast elkaar weer te geven, zodat u gerelateerde elementen gemakkelijk in één venster kunt zien. Voer vervolgens de transformatie uit.
In de XSLT-transformatie die hieronder wordt weergegeven, heb ik met de muis over een van de radiobuttons in het uitvoerdocument in de browserweergave gezweerd. XMLSpy heeft automatisch de bijbehorende bronknopen en instructies in de XML- en XSLT-documenten gemarkeerd.

Het proces werkt op dezelfde manier in de tekstweergave voor zowel XSLT- als XQuery-uitvoer: selecteer eenvoudig het gedeelte van het uitvoerdocument dat u wilt analyseren.
De mogelijkheid om eenvoudigweg op uw uitvoer te klikken om de bron ervan te identificeren, bespaart aanzienlijk tijd bij het testen en debuggen van XSLT- en XQuery-code. Het beste van alles is dat XMLSpy terugkoppeling realiseert zonder uw uitvoerdocument op welke manier dan ook te wijzigen.
Bekijk in deze korte video hoe dit werkt voor zowel XSLT als XQuery.