-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
6u5
-
x86
-
windows
The following sample code and attached XML demonstrates the issue SAXParser does not parse an XML file correctly.
// Test program to demonstrate a data corruption error in SAXParser.
//
// 2008-06-18 Christian d'Heureuse, ###@###.###, www.source-code.biz
//
// Environments tested in which the error occurs:
// 1.6.0_10-beta-b25 Windows XP SP2 (includes Xerces 2.6.2)
// 1.6.0_06-b02 Windows XP SP2 (includes Xerces 2.6.2)
// 1.6.0_05-b13 Windows XP SP2 (includes Xerces 2.6.2)
//
// Environments tested in which the error does not occur:
// 1.6.0_10-beta-b25 Windows XP SP2 with Xerces snapshot 2008-06-15 (file xml-parser-gump-15062008.jar)
// 1.6.0_10-beta-b25 Windows XP SP2 with Xerces 2.9.1
// 1.6.0_10-beta-b25 Windows XP SP2 with Xerces 2.8.1
// 1.5.0_10-b03 Linux (includes Xerces 2.6.2)
//
// (Note that the Xerces JAR file must be copied into the lib/endorsed
// directory, in order to override the Xerces classes of the Java library.
// It's not sufficient to include the JAR file in the classpath.)
import java.io.File;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.helpers.DefaultHandler;
public class SaxParserError extends DefaultHandler {
private static final String inputFileName = "SaxParserError.xml";
private static final String testPattern = "column-data";
public static void main (String args[]) throws Exception {
SAXParser saxParser;
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setValidating(false);
saxParser = factory.newSAXParser();
saxParser.parse(new File(inputFileName), new SaxParserError());
System.out.println ("OK, no error detected."); }
public void characters(char buf[], int offset, int len) {
String s = new String(buf, offset, len);
if (s.contains(testPattern)) {
System.out.println ("Data corruption error detected.");
System.exit (9); }}
} // end class SaxParserError
// Test program to demonstrate a data corruption error in SAXParser.
//
// 2008-06-18 Christian d'Heureuse, ###@###.###, www.source-code.biz
//
// Environments tested in which the error occurs:
// 1.6.0_10-beta-b25 Windows XP SP2 (includes Xerces 2.6.2)
// 1.6.0_06-b02 Windows XP SP2 (includes Xerces 2.6.2)
// 1.6.0_05-b13 Windows XP SP2 (includes Xerces 2.6.2)
//
// Environments tested in which the error does not occur:
// 1.6.0_10-beta-b25 Windows XP SP2 with Xerces snapshot 2008-06-15 (file xml-parser-gump-15062008.jar)
// 1.6.0_10-beta-b25 Windows XP SP2 with Xerces 2.9.1
// 1.6.0_10-beta-b25 Windows XP SP2 with Xerces 2.8.1
// 1.5.0_10-b03 Linux (includes Xerces 2.6.2)
//
// (Note that the Xerces JAR file must be copied into the lib/endorsed
// directory, in order to override the Xerces classes of the Java library.
// It's not sufficient to include the JAR file in the classpath.)
import java.io.File;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.helpers.DefaultHandler;
public class SaxParserError extends DefaultHandler {
private static final String inputFileName = "SaxParserError.xml";
private static final String testPattern = "column-data";
public static void main (String args[]) throws Exception {
SAXParser saxParser;
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setValidating(false);
saxParser = factory.newSAXParser();
saxParser.parse(new File(inputFileName), new SaxParserError());
System.out.println ("OK, no error detected."); }
public void characters(char buf[], int offset, int len) {
String s = new String(buf, offset, len);
if (s.contains(testPattern)) {
System.out.println ("Data corruption error detected.");
System.exit (9); }}
} // end class SaxParserError
- duplicates
-
JDK-6716312 Data corruption in saxparser, chars outside XML passed to sax.helpers.DefaultHandler.characters()
-
- Closed
-