2012-04-06 7 views
0

Ich verwende Saxon, um eine XML-Datei in XHTML zu transformieren. Ich rufe Saxon als eine Befehlszeileninstanz durch ein Perl-Skript auf.Sächsische Transformationsfehler - welche Linie ist schuld?

Ich erhalte die folgende Fehlermeldung:

Validierungsfehler FORG0001: Datum ungültig „-“ (Kein Jahr nach ‚-‘) Transformation fehlgeschlagen: Laufzeitfehler wurden

berichtet

Dieser Fehler wird verursacht durch ein Nicht-Datum, das an eine XSLT-Funktion übergeben wurde, die ich geschrieben habe und die ein Datum erwartet. Allerdings verwende ich diese Funktion an vielen Stellen in meiner XSLT-Datei und ich weiß nicht, welche Instanz das Problem verursacht. Ich kann manuell Fehler beheben, aber ist es möglich, dass dieser Transformationsfehler auch darauf hinweist, welche Zeile in der XSLT das Problem verursacht?

Antwort

1

Leider haben Sie auf diese Frage keine Antwort erhalten. Zögern Sie nicht, Saxonics Hilfe-Listen und Support-Foren zu verwenden. In diesem Fall werden wir immer versuchen zu helfen. Es ist ein hit-and-miss, ob eine Frage zu StackOverflow bemerkt wird.

Jüngste Versionen von Saxon produzieren einen XSLT-Stack-Trace, der den Funktions/Template-Aufruf-Stack an dem Punkt zeigt, an dem ein Laufzeitfehler auftritt. Es ist nicht klar, warum du das nicht siehst; Es könnte etwas mit dem Perl-Skript zu tun haben.

Eine andere Diagnosetechnik besteht darin, die Option -T zu verwenden, um eine vollständige Ausführungsablaufverfolgung zu erstellen. Die letzten Zeilen der Ablaufverfolgung zeigen Ihnen, welcher Code zum Zeitpunkt des Fehlers ausgeführt wurde.

+0

Die Option -T macht es und zeigt die fehlerverursachende Zeile an. –