public void characters(char[] ch, int start, int length) {
Node current = eltStack.peek();
if (current.getChildNodes().getLength() == 1
&& current.getChildNodes().item(0).getNodeType() == Node.TEXT_NODE) {
Text text = (Text) current.getChildNodes().item(0);
text.appendData(new String(ch, start, length));
} else {
Text text = document.createTextNode(new String(ch, start, length));
eltStack.peek().appendChild(text);
}
}