Análisis XML de Java y compensaciones de bytes originales

Me gustaría analizar un XML bien formado en un DOM, pero me gustaría saber el desplazamiento de la etiqueta de cada nodo en el medio original.

Por ejemplo, si tuviera un documento XML con el contenido algo como:

<html>
<body>
<div>text</div>
</body>
</html>

Me gustaría saber que el nodo comienza en el desplazamiento 13 en el medio original y (más importante) que el "texto" comienza en el desplazamiento 18.

¿Es esto posible con los analizadores XML estándar de Java? JAXB? Si no hay una solución fácilmente disponible, ¿qué tipo de cambios son necesarios a lo largo de la ruta de análisis para que esto sea posible?