Bug #6351
closedGetting the line number is not available via the API on XdmNode
100%
Description
Reported by user here: https://stackoverflow.com/questions/78008394/how-do-i-get-the-line-numbers-of-a-saxonc-xpath-match/78009287#78009287
There is no straight forward way to get the line number on a XdmNode in C++, PHP and Python.
For example, the Python PyXdmNode (see: https://www.saxonica.com/saxon-c/doc12/html/saxonc.html#PyXdmNode) currently does not support getting line numbers as its Java equivalent class XdmNode: https://www.saxonica.com/html/documentation12/javadoc/net/sf/saxon/s9api/XdmNode.html#getLineNumber()
Updated by O'Neil Delpratt 10 months ago
The workaround is as follows:
xpath_processor.set_context(xdm_item=item)
print(item, xpath_processor.evaluate_single('saxon:line-number(.)'))
Updated by Martin Honnen 10 months ago
If line number gets exposed in the C++, Python and PHP API, I think the column number https://www.saxonica.com/html/documentation12/javadoc/net/sf/saxon/s9api/XdmNode.html#getColumnNumber() should be exposed as well, for completeness.
Updated by O'Neil Delpratt 10 months ago
- Status changed from New to In Progress
- % Done changed from 0 to 90
The methods getLinenumber()
and getColumnNumber()
have been added to the the XdmNode on C++, Python and PHP APIs.
Tests cases added. But still doing some testing on PHP.
Updated by O'Neil Delpratt 7 months ago
- Status changed from In Progress to Resolved
- % Done changed from 90 to 100
Issue reviewed. We now have unit tests for PHP.
Updated by O'Neil Delpratt 5 months ago
- Status changed from Resolved to Closed
- Fixed in version set to 12.5
Bug fix applied in the Saxon 12.5 Maintenance release.
Please register to edit this issue