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.

Respuestas a la pregunta(3)

Su respuesta a la pregunta