browsing through the apache bpel code, i found a breakpoint class. so i started looking at how we could do that too... the conclusion is that java xml api's suck big time.
to have a process debugger, the first thing that needs to be resolved is to associate the process objects with the line number in the original process source file.
our current parser is build on dom. only sax knows about line numbers. so now we'll have to write a dombuilder, which is a contenthandler in sax parsing that builds up the dom tree. then we can add the line numbers to the dom tree. great, no ? things get even better. the line numbers are provided in a locator object that is set with a setter on the sax contenthandler. this is from the javadocs: 'SAX parsers are not required to supply a locator, but they are very strongly encouraged to do so'
after a quick test the sun impl seems to do so. phew. let's keep our fingers crossed for the other platforms :-)