2008-10-20 6 views
27

Ich habe ein Java-Servlet, die xml erzeugt, übersetzt sie mit einem XSLT-Stylesheet, und zeigt dann die resultierende HTML. Dies ist das erste Mal, dass ich mit xslt gearbeitet habe. Was ist eine gute Möglichkeit, xslt zu debuggen? Ich habe (oder kann) einige Beispiel-XML-Dateien erhalten, um die Transformation auch anzuwenden. Aber ich bin mir nicht wirklich sicher über die Syntax, also würde etwas, das mir Syntaxwarnungen geben würde, großartig sein.Werkzeuge zum Debuggen von Xslt

Antwort

8

Xalan sollten Sie nützliche Fehler geben, wenn Sie versuchen, eine ungültige XSLT zu verwenden. Wenn Sie etwas leistungsfähigeres wollen, ist eine Option zum Debuggen von XSLT Oxygen XML Editor. Es ist in Xalan und Saxon Transform-Engines integriert. Im Debug-Modus können Sie Haltepunkte setzen, Variablen beobachten und andere grundlegende Debugging-Funktionen bereitstellen. Es kann für Sie zu viel Overkill sein, aber es ist sehr gut.

2

, wenn das Lernen, eine Syntaxhervorhebung Editor ist für mich in der Regel genug, um (natürlich mit dem ref doc offen auf einem anderen Fenster.

Kate ein großer Editor für XML und XSLT ist.

+0

installieren Ein Syntax Highlighter ist hilfreich. Ich verwende jetzt VI auf meinem Server, weil ich meine Entwicklungsumgebung nicht eingerichtet habe. Aber was ich wirklich will, ist in der Lage zu sein, die xml und xslt durch einen Prozessor laufen zu lassen und Fehlermeldungen oder was auch immer zu erhalten, ohne den ganzen Servletprozeß laufen zu lassen. –

+0

versuchen Sie einen Befehlszeilenprozessor xslt; Ich benutze Xalan, aber jeder würde es tun. Ich bin mir sicher, dass vi es ausführen kann und nicht überrascht wird, wenn es die Fehlerausgaben sogar analysieren könnte, wie es mit Compilern der Fall ist. – Javier

+0

Oh, du willst unbedingt deine Transformationen ausführen und ihre Ausgaben in deiner IDE ansehen. Ich glaube nicht, dass ein Debugger sehr wichtig ist, aber das ist wichtig. –

7

ich einmal hatte .. schreiben und zu debuggen einige komplexe XSLT-Dokumente zu der Zeit habe ich „printf-Stil“ debuggt durch eine Menge von Zwischenwerten ausgibt später fand ich heraus, dass es einen viel einfacheren Weg, dies zu tun -. Altova XMLSpy Es ermöglicht Ihnen, einzelne -Intensivierung durch den Stil-Antrag zu stellen, beobachten Zwischenausgabe, etc. etc.

VS8 hat auch XSLT debugg Unterstützung. Siehe hier: http://msdn.microsoft.com/en-us/library/ms255605(VS.80).aspx

Ich sollte auch erwähnen, dass beide XMLSpy und VS8 haben auch Syntax-Hervorhebung. Wenn Sie in Ihrem XML eine XSD angeben, gibt Ihnen VS8 sogar Intellisense!

+0

Leider kann ich die Kosten meines Chefs für den beschränkten Gebrauch, den ich jetzt bekommen würde, nicht rechtfertigen. Wenn dies zu einem längerfristigen Projekt wird, kann ich vielleicht das eine oder andere bekommen. –

+0

Laden Sie einfach die Express Edition von Visual Studio herunter. Es ist kostenlos. –

+0

Ein guter Beitrag über die XSLT-Debug-Unterstützung von Visual Studio hier: http://www.codeproject.com/Articles/41992/Debugging-XML-Transforms-XSLT-with-Visual-Studio – Merenzo

3

ich mit XSLT arbeiten fast jeden Tag, und für sechs oder sieben Jahren.

Ich habe festgestellt, dass "printf-style" Debugging von XSLT ist so effektiv, dass ich nie einen Vorteil von der Verwendung eines anderen Debugging-Mechanismus (und ich habe versucht, XMLSpy und Visual Studio) abgeleitet. Es passiert manchmal, dass ich in der Lage sein möchte, den Wert einer Variablen zu inspizieren und eine Logik zu erstellen, die es ausgibt. Aber das ist ziemlich selten.

Es könnte sein, dass mit einem Debugger Lernen XSLT einfacher gemacht hätte. (. Alles, was hätte)

2

Xselerator ist s große XSL-Debugging-Tool, das wird:

  • Sie dom Schritt durch Ihre XSLT Lassen
  • Uhr Anweisungen erstellen
  • auswerten XPath-Anweisungen für Sie XML DOM
  • IDE mit Intellisense

ich dies schon seit Jahren verwendet, und es ist ein großes Werkzeug.

8

Wenn Sie "printf-style" -Debugging durchführen und Ihre Ausgabe nicht mit Debugging-Daten verwässern möchten, verwenden Sie das Tag <xsl:message>, um während der Verarbeitung des Stylesheets Debugging-Ausgabe zu generieren. Mit dem Attribut terminate="yes" können Sie sogar die Verarbeitung des Stylesheets anhalten.

+2

A) Die Verwendung der Befehlszeile 'xmllint mytransform.xsl' als grundlegende Syntaxüberprüfung ist hilfreich, um nicht übereinstimmende Klammern etc. zu finden. B) Auch das Ausführen eines Befehlszeilenprozessors im ausführlichen Modus kann sehr hilfreich sein. wenn Sie nicht wissen, warum xslt an Ihrem Code erstickt. 'xsltproc -v mytransform.xsl input.xml &> log.txt' gibt eine Menge Informationen vom xsltprocessor aus. Filtern Sie das Rauschen, indem Sie die Suche mit vim oder grep für Ihre Debug-Meldungen wie "DEBUG: Start meines Codes" oder nützliche Zeichenfolgen wie "Vorlage anwenden" verwenden. – GuruM

2

PHPStorm und die anderen IntelliJ IDEs (kommerzielle) Unterstützung debugging XSLT. Sie können durch das Dokument gehen und sehen, wie die Ausgabe Schritt für Schritt erstellt wird.

0

Microsoft Visual Studio ist auch ein großartiges Werkzeug für xslt Debugger. Aber Sie müssen die

+0

Installieren Sie die Visual Studio-Komponente, Office-Entwicklungskomponente – Pratzz

+0

Sie können die Antwort bearbeiten. Obwohl ich nicht sehe, dass dies etwas zu dieser zehn Jahre alten Frage beiträgt, wurde das noch nicht erwähnt. – MrT