Looks like Tatu Saloranta did much of the work needed:
This functionality has been included as a feature of JDOM2. Not quite the same as Tatu's suggestion because JDOM2 tends to do 'raw' input and 'filtered' output, wheras Tatu's suggested solution was doing character-formatting on the input side.
See commit 59ee0d5
See commit f3733f5
See commit 1add3e9
See the wiki page https://github.com/hunterhacker/jdom/wiki/JDOM2-Feature:-StAX-Support