Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 调试xslt的工具_Xml_Debugging_Xslt - Fatal编程技术网

Xml 调试xslt的工具

Xml 调试xslt的工具,xml,debugging,xslt,Xml,Debugging,Xslt,我有一个Javaservlet,它生成xml,用xslt样式表翻译它,然后显示结果HTML。这是我第一次使用xslt。调试xslt的好方法是什么?我也有(或可以得到)一些示例XML文件来应用转换。但是我甚至不太确定语法,所以一些能给我语法警告的东西会很棒。学习时,语法突出显示编辑器通常对我来说就足够了(当然,在另一个窗口上打开ref doc时) Kate是XML和XSLT的优秀编辑器。我曾经不得不编写和调试一些复杂的XSLT文档。当时我使用调试过的“printf风格”通过输出大量中间值。我后来发

我有一个Javaservlet,它生成xml,用xslt样式表翻译它,然后显示结果HTML。这是我第一次使用xslt。调试xslt的好方法是什么?我也有(或可以得到)一些示例XML文件来应用转换。但是我甚至不太确定语法,所以一些能给我语法警告的东西会很棒。

学习时,语法突出显示编辑器通常对我来说就足够了(当然,在另一个窗口上打开ref doc时)


Kate是XML和XSLT的优秀编辑器。

我曾经不得不编写和调试一些复杂的XSLT文档。当时我使用调试过的“printf风格”通过输出大量中间值。我后来发现有一种更简单的方法可以做到这一点-。它允许您单步完成样式应用过程,查看中间输出,等等

VS8还支持XSLT调试。请参见此处:


我还应该提到XMLSpy和VS8都有语法高亮显示功能。如果在XML中指定XSD,VS8甚至可以提供intellisense!

Xalan在尝试使用无效XSLT时会给您带来有用的错误。如果您想要更强大的功能,调试XSLT的一个选项是。它与Xalan和Saxon transfo集成rm引擎。它的调试模式允许您设置断点、监视变量,并提供其他此类基本调试功能。对于您来说,这可能有些过分,但它非常好。

我几乎每天都使用XSLT,并且已经使用了六到七年

我发现XSLT的“printf风格”调试是如此有效,以至于我从未从使用任何其他调试机制中获益(我也尝试过XMLSpy和Visual Studio)。有时我确实希望能够检查变量的值并构建输出它的逻辑,这是一件麻烦事。但这非常罕见

有了调试器可能会使学习XSLT变得更容易。(任何东西都可以做到。)

是一个很棒的XSL调试工具,它将:

  • 让您逐步了解XSLT dom
  • 创建监视语句
  • 根据XML DOM计算XPath语句
  • 智能感知集成开发环境

我已经使用这个工具很多年了,它是一个很好的工具。

如果您想进行“printf风格”的调试,并且不想在输出中乱扔调试数据,请在处理样式表时使用
标记生成调试输出。使用
terminate=“yes”
属性您甚至可以停止样式表的处理。

和其他IntelliJ IDE(商业)支持。您可以逐步浏览文档并查看逐步生成的输出。

Microsoft Visual Studio也是xslt调试器的一个很好的工具。但是您必须安装语法高亮显示工具。语法高亮显示工具很有帮助。我现在正在服务器上使用VI,因为我还没有完成开发环境的设置。但我真正想要的是abl我可以通过处理器运行xml和xslt,并获得错误消息或其他任何东西,而不必运行整个servlet进程。尝试命令行xslt处理器;我使用xalan,但任何人都会这样做。我相信vi可以运行它,如果它甚至可以像使用编译器那样解析错误输出,我也不会感到惊讶。哦,你绝对想执行它调试转换并在IDE中查看它们的输出。我认为调试器不是很重要,但这是必不可少的。不幸的是,我现在无法向我的老板证明我有限使用的成本是合理的。如果这变成一个长期项目,我可能可以得到其中一个。然后下载Visual Studio的快速版。这是免费的。这是一篇关于Visual Studio的XSLT调试支持的好文章:在一个单独的ISSI上,我遇到了一个与性能相关的问题。我需要使用printf样式的日志记录来简单地在关键代码段之前和之后插入时间戳,以查找哪些XSLT段花费了太多的时间。从XSLT?A中写入到C#window日志的任何链接)使用命令行
xmllint mytransform.xsl
作为基本语法检查器有助于捕获不匹配的大括号等。B)也可以在详细模式下运行命令行处理器,特别是当您不知道xslt为什么会阻塞您的代码时
xsltproc-v mytransform.xsl input.xml&>log.txt
从xsltprocessor转储大量信息。通过使用vim或grep搜索调试消息(如“调试:我的代码的开始”)或有用的字符串模式(如“应用模板”)来过滤噪音。安装visual studio组件、office development组件您可以编辑答案。虽然我不认为这会给这个十年的问题增加什么,但这个问题还没有被提及。