peter.murray.rust
peter.murray.rust

Reputation: 38063

How can I identify line numbers in XSLT input or from XPath?

I am processing XML files using an XSLT stylsheet and wish to report the input line number when a given template is triggered. I can use a DOM (e.g. XOM in Java) which supports a SAX parser so maybe can use a Locator.

Alternatively the XSLT generates an Xpath which could be applied to the original document and so, at least for a human, can lead to the particular line.

(The actual application is to detect error conditions in the XML, which are searched for using XSLT)

Upvotes: 3

Views: 1283

Answers (1)

Michael Kay
Michael Kay

Reputation: 163468

Saxon has an extension for this. You can set an option when building the source tree to maintain line number information (e.g. -l on the command line), and if this was set, you can use the extension function saxon:line-number() to get the line number associated with an element node in the tree.

Upvotes: 7

Related Questions