Community
Participate
Working Groups
People are currently converting their XML parsing code from using the org.apache.xerces plug-in that is shipped with Eclipse, to the JAXP APIs which are a part of JDK 1.4. One thing that has been noticed is that the Locator object (used during parsing) doesn't return a real value for the column number in the Sun/Crimson parser implementation. By spec, it only has to return a column value as a hint so it doesn't have to be real. (-1 is being returned in this case) This is problematic because this value is relied on by code assist in the Ant XML file editor.
Please see Bug 46031 for further complications with reliance upon crimson. Applying Transformations on any DOM tree that has an element with a null attribute causes a null pointer exception deep within Xalan (the default transformer for 1.4).
If an xml file specifies a dtd that dtd file must be present. Even if you specify that you wish to use a non-validating parser, crimson will try to open a stream on this dtd file (without first checking to see if the dtd file exists). This causes the following exception: !STACK 0 java.io.FileNotFoundException: d:\EclipseEnvs\3.0 \I20031113Data\eclipse\runtime-workspace\abc\xxmyDTD.xml (The system cannot find the file specified) at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3339) at org.apache.crimson.parser.Parser2.externalParameterEntity (Parser2.java:3027) at org.apache.crimson.parser.Parser2.maybeDoctypeDecl (Parser2.java:1314) at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:623) at org.apache.crimson.parser.Parser2.parse(Parser2.java:333) at org.apache.crimson.parser.XMLReaderImpl.parse (XMLReaderImpl.java:448) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at javax.xml.parsers.SAXParser.parse(SAXParser.java:281) at org.eclipse.ui.internal.ide.model.PropertyParser.parseResource (PropertyParser.java:114) ...
Is there a known defect in the Javasoft bug parade for the problem Debbie describes? This would seem to be a pretty major limitation in their parser.
Closing. This is a problem in the VM's class library.