JAXB genera XML no válido cuando los datos contienen caracteres que no se pueden mostrar
Estoy usando JAXB 2.2.5 para generar Xml de un modelo JAXB, los datos se completan desde la base de datos y, ocasionalmente, la base de datos contiene caracteres que no se pueden mostrar y que no deberían aparecer como
0x1a
Si lo hace, entonces JAXB genera un Xml no válido simplemente generando este carácter como está, ¿no debería escapar de él o algo así?
Actualizar
Me pregunto si hay implementaciones que solucionen este problema, tal vez Eclipselink MOX lo haga.
EDITAR
Intenté la solución alternativa que soluciona el problema del charo ilegal, pero cambia la salida de forma no deseada.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><metadata created="2013-02-27T11:40:04.009Z" xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ext="http://musicbrainz.org/ns/ext#-2.0"><cdstub-list count="1" offset="0"><cdstub id="w237dKURKperVfmckD5b_xo8BO8-" ext:score="100"><title>fred</title><artist></artist><track-list count="5"/></cdstub></cdstub-list></metadata>
a
<?xml version="1.0" ?><metadata xmlns:ext="http://musicbrainz.org/ns/ext#-2.0" xmlns="http://musicbrainz.org/ns/mmd-2.0#" created="2013-02-27T11:39:15.394Z"><cdstub-list count="1" offset="0"><cdstub id="w237dKURKperVfmckD5b_xo8BO8-" ext:score="100"><title>fred</title><artist></artist><track-list count="5"></track-list></cdstub></cdstub-list></metadata>
es decir<track-list count="5"/>
se ha convertido<track-list count="5"></track-list>
lo cual es indeseable, no estoy seguro de por qué está haciendo esto.