我正在寻找一个积极维护的 XSL lint 工具。我唯一能找到的是这个,但最后一次更新是在 2000 年(9 岁!)。任何帮助都会很棒!
3 回答
是的,看看这个,发表于 2008 年 12 月:
菲利普,
为 xlst 创建一个好的 lint 非常困难,因为 xslt 模板的有效性取决于所使用的解析器。每个解析器都有自己的扩展。例如 java 的 xalan 可以很容易地用自定义的 xpath 函数进行扩展,这些函数显然是用 java 编写的。因此,任何 .net 验证器都无法验证高级 xalan 的 xslt。
所以首先你需要知道你要使用什么处理器。如果您使用基于 java 的处理器,我建议使用 Eclipse,它可以即时验证模板。
两个eclipse插件累了,值得一提的是都支持调试和xslt/xpath代码补全:
Oxygen XML 编辑器- 一个商业(约 300 美元)XML/XSLT 编辑器/eclipse 插件。它可以使用以下引擎:Xalan、Saxon、Xsltproc、
它能够检查:
- xsl:template 的正确性
- xsl:call-template 的名称属性的正确性
- xslt 变量的重复定义
- dtd 的有效性
- xslt 标头的有效性
- xml 命名空间的有效性
- XPath 的有效性
- 如果 xml 关联到 xslt,则 xsl:value-of 的有效性
- xsl:import 用于本地和远程文件的正确性(它支持 xml 目录)
我必须说该插件非常好,但另一方面它不是开源的。
XSLT Project - 一个开源插件(它是 Eclipse Web 工具平台的一部分)。它还很年轻(始于 2008 年 9 月),但它拥有非常活跃的社区。目前它只支持 Xalan 和 JAXP。
它检测以下错误和警告:
- 无效的 xslt 标头
- 错误的 dtd
- 不正确的导入(它只处理相对导入,为 1.1 版计划了 xml 目录)
上面的列表肯定是不完整的,因为缺乏对 xml 目录的支持使得这个项目对我来说无法使用。
您应该寻找“XSL 分析器”或“XSL 调试器”。有几十个。