我有一个 Java servlet,它生成 xml,使用 xslt 样式表对其进行翻译,然后显示生成的 HTML。这是我第一次使用 xslt。什么是调试 xslt 的好方法?我也有(或可以获得)一些示例 XML 文件来应用转换。但我什至不确定语法,所以会给我语法警告的东西会很棒。
8 回答
如果您想做“printf-style”调试并且不想在输出中乱扔调试数据,请<xsl:message>
在处理样式表时使用标签生成调试输出。使用该terminate="yes"
属性,您甚至可以停止样式表的处理。
当您尝试使用无效的 XSLT 时,Xalan 应该会为您提供有用的错误。如果您想要更强大的东西,调试 XSLT 的一个选项是Oxygen XML Editor。它与 Xalan 和 Saxon 变换引擎集成。它的调试模式允许您设置断点、监视变量并提供其他此类基本调试功能。你想要的可能有点矫枉过正,但它非常好。
我曾经不得不编写和调试一些复杂的 XSLT 文档。当时我通过输出大量中间值来使用调试的“printf-style”。后来我发现有一种更简单的方法可以做到这一点 - Altova XMLSpy。它允许您单步执行样式应用程序,查看中间输出等。
VS8 还具有 XSLT 调试支持。见这里: http: //msdn.microsoft.com/en-us/library/ms255605 (VS.80).aspx
我还应该提到 XMLSpy 和 VS8 都具有语法高亮功能。如果您在 XML 中指定 XSD,VS8 甚至会为您提供智能感知!
我几乎每天都在使用 XSLT,并且已经使用了六七年。
我发现 XSLT 的“printf 风格”调试非常有效,以至于我从来没有从使用任何其他调试机制中获益(我已经尝试过 XMLSpy 和 Visual Studio)。有时确实会发生我希望能够检查变量的值并构建输出它的逻辑是一件麻烦事。但这非常罕见。
拥有调试器可能会使学习XSLT 变得更容易。(任何东西都会有。)
学习时,语法高亮编辑器通常对我来说就足够了(当然,在另一个窗口上打开 ref doc。
Kate 是一位出色的 XML 和 XSLT 编辑器。
Xselerator是一个很棒的 XSL 调试工具,它将:
- 让您逐步了解您的 XSLT dom
- 创建监视语句
- 针对您的 XML DOM 评估 XPath 语句
- 带有 Intellisense 的 IDE
我已经使用了多年,它是一个很棒的工具。
Microsoft Visual Studio 也是 xslt 调试器的绝佳工具。但是你必须安装