tags:

views:

171

answers:

1

I already have written a DOM parser for a large XML document format that contains a number of items that can be used to automatically generate Java code. This is limited to small expressions that are then merged into a dynamically generated Java source file.

So far - so good. Everything works.

BUT - I wish to be able to embed the line number of the XML node where the Java code was included from (so that if the configuration contains uncompilable code, each method will have a pointer to the source XML document and the line number for ease of debugging). I don't require the line number at parse-time and I don't need to validate the XML Source Document and throw an error at a particular line number. I need to be able to access the line number for each node and attribute in my DOM or per SAX event.

Any suggestions on how I might be able to achieve this?

P.S. Also, I read the StAX has a method to obtain line number whilst parsing, but ideally I would like to achieve the same result with regular SAX/DOM processing in Java 4/5 rather than become a Java 6+ application or take on extra .jar files.

+1  A: 

Perhaps with org.xml.sax.Locator ?

Istao
Great, I'll check it out. I asked this question as I actually seem to have consumed some misinformation that claimed this was not possible in the default SAX processor of 1.4/5.0. I'll report back here with if I have success.
Chris