"Hope using offset/length can complement DOM/SAX in some situations."
Hmm...you can actually implement a SAX compatible interface using offset/length (except that you deliver objects for character data, not character arrays). And a DOM on top of that.