elena 2002/08/20 15:11:55 Modified: java/src/org/apache/xerces/parsers AbstractDOMParser.java Log: Applied patch from Philippe Le Hegaret: NPE parsing entity with no value. Revision Changes Path 1.70 +22 -19 xml-xerces/java/src/org/apache/xerces/parsers/AbstractDOMParser.java Index: AbstractDOMParser.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/AbstractDOMParser.java,v retrieving revision 1.69 retrieving revision 1.70 diff -u -r1.69 -r1.70 --- AbstractDOMParser.java 14 Aug 2002 17:52:52 -0000 1.69 +++ AbstractDOMParser.java 20 Aug 2002 22:11:55 -0000 1.70 @@ -1496,24 +1496,27 @@ NodeList children = fCurrentNode.getChildNodes(); Node parent = fCurrentNode.getParentNode(); int length = children.getLength(); - // get previous sibling of the entity reference - Node node = fCurrentNode.getPreviousSibling(); - // normalize text nodes - Node child = children.item(0); - if (node != null && node.getNodeType() == Node.TEXT_NODE && - child.getNodeType() == Node.TEXT_NODE) { - ((Text)node).appendData(child.getNodeValue()); - fCurrentNode.removeChild(child); + if (length > 0) { + + // get previous sibling of the entity reference + Node node = fCurrentNode.getPreviousSibling(); + // normalize text nodes + Node child = children.item(0); + if (node != null && node.getNodeType() == Node.TEXT_NODE && + child.getNodeType() == Node.TEXT_NODE) { + ((Text)node).appendData(child.getNodeValue()); + fCurrentNode.removeChild(child); - } else { - node = parent.insertBefore(child, fCurrentNode); - handleBaseURI(node); - } + } else { + node = parent.insertBefore(child, fCurrentNode); + handleBaseURI(node); + } - for (int i=1;i <length;i++) { - node = parent.insertBefore(children.item(0), fCurrentNode); - handleBaseURI(node); - } + for (int i=1;i <length;i++) { + node = parent.insertBefore(children.item(0), fCurrentNode); + handleBaseURI(node); + } + } // length > 0 parent.removeChild(fCurrentNode); fCurrentNode = parent; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]