We don’t store any node locations in the database, that’s correct. fn:path may be helpful to generate the Oxygen node path.
On Thu, Dec 22, 2022 at 11:21 AM Zimmel, Daniel D.Zimmel@esvmedien.de wrote:
I can’t answer anything helpful for the reliability of line numbers, but can tell you how we are doing this in a similar use case:
we make use of what Oxygen calls “simplified XPath index path” (https://www.oxygenxml.com/doc/versions/25.0/ug-editor/topics/opening-documen...)
Roughly:
we write out that path (“#element(1/2/6/15)”) to a Schematron diagnostics element
in our frontend to Schemaron we generate a button which will take you directly to Oxygen
So, if you don’t have to care about other editors than Oxygen, this might be a simple and reliable way. At least to us, works like a charm.
Best, Daniel
Von: BaseX-Talk basex-talk-bounces@mailman.uni-konstanz.de Im Auftrag von Eliot Kimber Gesendet: Mittwoch, 21. Dezember 2022 23:14 An: basex-talk@mailman.uni-konstanz.de Betreff: [basex-talk] Possible to get line number of node?
I’m pretty sure the answer is “no”, but is there any way from BaseX 9.6 to get the source line number a given node starts on?
My use case is I’m looking for specific elements and making a report of documents that contain them and identifying information about the elements to help with finding them outside of BaseX (i.e., in Oxygen where the authoring happens). I’m parsing with the “trim whitespace” option turned off and I’m not doing any DTD-aware parsing, so the elements as loaded into the database will match the source (no additional attributes or anything). So at least in theory BaseX could maintain accurate line numbers.
These elements don’t have @id attributes so no natural way to identify them, so it would be useful to be able to report the source line number as a guide to people fixing these elements.
I didn’t see anything in the docs so I thought I’d ask just in case I’ve missed some trick.
Thanks,
E.
Eliot Kimber
Sr Staff Content Engineer
O: 512 554 9368
M: 512 554 9368
servicenow.com
LinkedIn | Twitter | YouTube | Facebook