XSLT-Debugger

Perfektionieren des XSLT-Codes durch Debuggen und Rückwärts-Mappen

  • Unterstützung für XSLT 1.0, 2.0 und 3.0
  • XSLT-Rückwärts-Mapping
  • Identifizierung von Quell-Node/Quellanweisung durch Klicken in die Ausgabe
  • Schrittweise Node-Transformation
  • Überprüfen einzelner Nodes und Überspringen von Nodes
  • Setzen von Breakpoints und Tracepoints
  • Informationsfenster "Kontext"
  • Fenster "Call Stack"
  • Nebeneinander angezeigte XML-, XSLT- und Ausgabefenster
  • XSLT Profiler und XSL-Geschwindigkeitsoptimierung
  • Debuggen von XSLT-Code, der Java, JavaScript, C# und VBScript-Code enthält

Debuggen mit XSLT-Rückwärts-Mapping

Debuggen mit XSLT-Rückwärts-Mapping

Bei Aktivierung des Rückwärts-Mapping werden XSLT-Transformationen so ausgeführt, dass das Ergebnis- dokument zurück auf das XSLT+XML-Ursprungsdokument gemappt werden kann. Wenn Sie also auf einen Node im Ergebnisdokument klicken, werden die dazugehörige XSLT-Anweisung und die XML-Quelldaten markiert.

Beim Rückwärts-Mapping haben Sie die Option, das Quelldokument, das XSLT/XQuery- und das Ergebnisdokument nach der Transformation übersichtlich nebeneinander anzuordnen (Abb. rechts).

Klicken Sie für das Rückwärts-Mapping entweder in der Text- oder der Browser-Ansicht auf die transformierte Ausgabe. Zusätzlich dazu können Sie in der Browser-Ansicht durch Bewegen der Maus über die gewünschte Stelle im HTML-Ausgabedokument automatisch den XML-Ursprungs-Node und den XSLT-Ausdruck markieren lassen.

Video zum Debuggen von XSLT-Anweisungen durch Rückwärts-Mapping

Warum XMLSpy?

Das Rückwärts-Mapping in XMLSpy ist aus zwei Gründen bahnbrechend.

Erstens sparen Sie beim Debuggen, Verfeinern und Perfektionieren Ihres Codes und beim Analysieren von Code, der von anderen Mitgliedern des Teams stammt, unglaublich viel Zeit.

Zweitens nimmt XMLSpy beim Rückwärts-Mapping keine Änderungen vor und fügt keinen zusätzlichen Code zum Ausgabedokument hinzu.

XSLT-Debugger

Für gründlichere Tests steht der XMLSpy XSLT-Debugger zur Verfügung.

XSLT-Debugger

In den drei Bereichen des Altova XSLT Debuggers können Sie das XML-Dokument, das dazugehörige XSLT-Stylesheet und das in Echtzeit erstellte Ausgabedokument anzeigen. Unterhalb davon befinden sich die Fenster "Kontext" und "Callstack" mit mehreren Registerkarten, auf denen alle erforderlichen Debugging-Informationen angezeigt werden.

Schrittweises Debuggen

Sie können die XSLT-Transformation Schritt für Schritt durchgehen, in einzelne Nodes einsteigen, daraus aussteigen oder Nodes überspringen. Die aktuelle Anweisung im XSLT-Stylesheet und der entsprechende Node in der XML-Datei sowie die dazugehörige Ausgabe im Ausgabefenster erscheinen markiert. So sehen Sie auf einen Blick, wie die XML-Daten verarbeitet werden.

Kontextfenster

Beim Debuggen eines Stylesheet stellt der XSLT Debugger eine Reihe von nützlichen Informationen zur Verfügung. Als Ergänzung zu den Informationen in Ausgabe-Bereich und im Fenster "Ablaufverfolgung" enthalten die Fenster mit den Debugging-Informationen zusätzliche wichtige Details im Kontextfenster:

  • Kontext: Zeigt den Kontext-Node und die dazugehörigen Attribute oder Werte an.
  • Variablen: Zeigt die globalen, lokalen und parameterbasierten Variablen sowie den Namen und Wert der Variable an.
  • XPath-Watch: Zeigt das Resultat der XPath-Ausdrücke an, die je nach Art der Eingabe anhand des Root- oder Kontext-Node überprüft werden. Hier können Sie die XPath Ausdrücke, die Sie überwachen wollen, definieren.

Fenster "Call Stack"

Das Call Stack-Fenster enthält die Register:

  • Call Stack: Zeigt eine Liste der bisher verarbeiteten XSL-Anweisungen und Templates an, wobei die aktuelle Anweisung an oberster Stelle zu sehen ist.
  • Templates: Zeigt alle zum Debuggen der aktuellen XSLT-Datei verwendeten Templates an. Dazu gehören die Standard-Templates im vordefinierten Template sowie alle inkludierten oder importierten Templates.
  • Info: Zeigt Informationen über die Debugging-Art an (XSLT 1.0, 2.0 oder 3.0), die verwendeten Dateien und den Debugger-Status.
  • Meldungen: Zeigt die xsl:message Anweisung(en) bzw. etwaige Fehlermeldungen an.
  • Ablaufverfolgung: Zeigt die Ausgabeinformationen für die einzelnen Tracepoints an.