如何在XSLT输入或XPath中识别行号?

时间:2011-10-25 22:13:32

标签: xslt xpath

我正在使用XSLT样式表处理XML文件,并希望在触发给定模板时报告输入行号。我可以使用支持SAX解析器的DOM(例如Java中的XOM),因此也许可以使用Locator。

或者,XSLT生成一个可以应用于原始文档的Xpath,因此,至少对于人来说,可以导致特定的行。

(实际应用是检测XML中的错误条件,使用XSLT搜索)

1 个答案:

答案 0 :(得分:6)

Saxon对此有一个扩展。您可以在构建源树时设置选项以维护行号信息(例如,命令行上的-l),如果已设置,则可以使用扩展函数saxon:line-number()来获取关联的行号使用树中的元素节点。