¿Emite un documento XML de análisis utilizando SaxParser - límite de 2047 caracteres?

He creado una clase que extiende la clase SaxParser DefaultHandler. Mi intención es almacenar la entrada XML en una serie de objetos y preservar la integridad de los datos XML originales. Durante las pruebas, observo que algunos de los datos del nodo se estaban truncando arbitrariamente en la entrada.

Por ejemplo:

Input: <temperature>-125</temperature>  Output: <sensitivity>5</sensitivity>
Input: <address>101_State</city>             Output: <address>te</address> 

Para complicar aún más las cosas, los errores anteriores se producen "al azar" para 1 de cada ~ 100 instancias de las mismas etiquetas XML. Lo que significa que el archivo XML de entrada tiene aproximadamente 100 etiquetas que contienen<temperature>-125</temperature> pero solo uno de ellos produce una salida de<sensitivity>5</sensitivity>. Las otras etiquetas producen con precisión<sensitivity>-125</sensitivity>.

He sobrescrito el método abstracto de "caracteres (char [] ch, int start, int length)" para capturar el contenido de los caracteres entre las etiquetas XML:

public void characters(char[] ch, int start, int length)
            throws SAXException {

            value = new String(ch, start, length);

            //debug
            System.out.println("'" + value + "'" + "start: " + start + "length: " + length);
        }

Mis declaraciones de impresión producen la siguiente salida para la etiqueta de temperatura específica que produce una salida errónea:

> '-12'start: 2045length: 3 '5'start:
> 0length: 1

Esto me dice que los métodos de caracteres se están llamando dos veces para este elemento xml específico. Se llama una vez para todas las demás etiquetas xml. El valor de "inicio" de la segunda línea significa que los caracteres char [] se están restableciendo en medio de esta etiqueta XML. Y el método del carácter se está llamando nuevamente con el nuevo char [].

¿Alguien está familiarizado con este problema? Me preguntaba si estaba llegando al límite de la capacidad de un char []. Pero una consulta rápida hace que esto sea poco probable. Mi char [] parece estar reiniciando en ~ 2047 caracteres

Gracias,

LB

Respuestas a la pregunta(3)

Su respuesta a la pregunta