我正在使用XSLT样式表处理XML文件,并希望在触发给定模板时报告输入行号。我可以使用支持SAX解析器的DOM(例如Java中的XOM),因此也许可以使用Locator。
或者,XSLT生成一个可以应用于原始文档的Xpath,因此,至少对于人来说,可以导致特定的行。
(实际应用是检测XML中的错误条件,使用XSLT搜索)
答案 0 :(得分:6)
Saxon对此有一个扩展。您可以在构建源树时设置选项以维护行号信息(例如,命令行上的-l),如果已设置,则可以使用扩展函数saxon:line-number()来获取关联的行号使用树中的元素节点。