Bug 27664 - XML parsing fails
Summary: XML parsing fails
Status: RESOLVED WORKSFORME
Alias: None
Product: classpath
Classification: Unclassified
Component: xml (show other bugs)
Version: 0.91
: P3 normal
Target Milestone: ---
Assignee: chris burdess
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-18 18:51 UTC by Egon Willighagen
Modified: 2012-01-11 13:08 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
XML file giving parse error with openjump (87 bytes, text/plain)
2006-06-07 10:08 UTC, pere
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Egon Willighagen 2006-05-18 18:51:56 UTC
When staring Taverna I get this stacktrace:

Exception occured whilst loading RDFS! Error on line 2: required string: "?>"
org.jdom.input.JDOMParseException: Error on line 2: required string: "?>"
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:468)
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:851)
   at org.embl.ebi.escience.scufl.semantics.RDFSParser.loadRDFSDocument(RDFSParser.java:70)
   at org.embl.ebi.escience.scuflui.workbench.Workbench.main(Workbench.java:128)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:355)
   at org.embl.ebi.escience.scuflui.workbench.WorkbenchLauncher.main(WorkbenchLauncher.java:40)
Caused by: org.xml.sax.SAXParseException: required string: "?>"
   at gnu.xml.stream.SAXParser.parse(SAXParser.java:660)
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
   ...6 more
Caused by: javax.xml.stream.XMLStreamException: required string: "?>"
   at gnu.xml.stream.XMLParser.error(XMLParser.java:4053)
   at gnu.xml.stream.XMLParser.require(XMLParser.java:1291)
   at gnu.xml.stream.XMLParser.readXMLDecl(XMLParser.java:1716)
   at gnu.xml.stream.XMLParser.next(XMLParser.java:1121)
   at gnu.xml.stream.XMLParser.hasNext(XMLParser.java:984)
   at gnu.xml.stream.SAXParser.parse(SAXParser.java:377)
   ...7 more
Caused by: org.xml.sax.SAXParseException: required string: "?>"
   at gnu.xml.stream.SAXParser.parse(SAXParser.java:660)
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:851)
   at org.embl.ebi.escience.scufl.semantics.RDFSParser.loadRDFSDocument(RDFSParser.java:70)
   at org.embl.ebi.escience.scuflui.workbench.Workbench.main(Workbench.java:128)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:355)
   at org.embl.ebi.escience.scuflui.workbench.WorkbenchLauncher.main(WorkbenchLauncher.java:40)
Caused by: javax.xml.stream.XMLStreamException: required string: "?>"
   at gnu.xml.stream.XMLParser.error(XMLParser.java:4053)
   at gnu.xml.stream.XMLParser.require(XMLParser.java:1291)
   at gnu.xml.stream.XMLParser.readXMLDecl(XMLParser.java:1716)
   at gnu.xml.stream.XMLParser.next(XMLParser.java:1121)
   at gnu.xml.stream.XMLParser.hasNext(XMLParser.java:984)
   at gnu.xml.stream.SAXParser.parse(SAXParser.java:377)
   ...7 more
Caused by: org.xml.sax.SAXParseException: required string: "?>"
   at gnu.xml.stream.SAXParser.parse(SAXParser.java:660)
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:851)
   at org.embl.ebi.escience.scufl.semantics.RDFSParser.loadRDFSDocument(RDFSParser.java:70)
   at org.embl.ebi.escience.scuflui.workbench.Workbench.main(Workbench.java:128)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:355)
   at org.embl.ebi.escience.scuflui.workbench.WorkbenchLauncher.main(WorkbenchLauncher.java:40)
Caused by: javax.xml.stream.XMLStreamException: required string: "?>"
   at gnu.xml.stream.XMLParser.error(XMLParser.java:4053)
   at gnu.xml.stream.XMLParser.require(XMLParser.java:1291)
   at gnu.xml.stream.XMLParser.readXMLDecl(XMLParser.java:1716)
   at gnu.xml.stream.XMLParser.next(XMLParser.java:1121)
   at gnu.xml.stream.XMLParser.hasNext(XMLParser.java:984)
   at gnu.xml.stream.SAXParser.parse(SAXParser.java:377)
   ...7 more

The code for the class (not the version I tested, line number don't match) comes from:

http://taverna.sourceforge.net/api/src-html/org/embl/ebi/escience/scufl/semantics/RDFSParser.html

Which is called from 

http://taverna.sourceforge.net/api/src-html/org/embl/ebi/escience/scuflui/workbench/Workbench.html

which tries to load this XML file:

org/embl/ebi/escience/scufl/semantics/mygrid-reasoned-small.rdfs

of which the source can be found here:

http://taverna.cvs.sourceforge.net/taverna/taverna1.0/src/org/embl/ebi/escience/scufl/semantics/mygrid-reasoned-small.rdfs?view=log

which has not changed since the first Taverna release, and I expect is the same for all versions.

The first two lines look OK, but CP 0.91 fails on it with:
Error on line 2: required string: "?>"
Comment 1 Egon Willighagen 2006-05-18 18:57:49 UTC
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE rdf:RDF [
         <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
         <!ENTITY a 'http://www.w3.org/2000/01/rdf-schema#'>
]>
<rdf:RDF xmlns:rdf="&rdf;"
         xmlns:a="&a;">
<a:Class rdf:about="http://www.mygrid.org.uk/ontology#2D_alignment_quality_graph_plot">
        <a:subClassOf rdf:resource="http://www.mygrid.org.uk/ontology#2D_graph_plot"/>
        <a:subClassOf rdf:resource="http://www.mygrid.org.uk/ontology#diagram"/>
</a:Class>
<a:Class rdf:about="http://www.mygrid.org.uk/ontology#2D_dot_plot">
        <a:subClassOf rdf:resource="http://www.mygrid.org.uk/ontology#diagram"/>
</a:Class>
<!-- any many more. See URL -->
</rdf:RDF>
Comment 2 pere 2006-05-19 21:15:01 UTC
When running openjump using jamvm and the CVS version of GNU classpath
with workbench-state.xml present in the current directory, I get the
same exception from the XML parser.  To reproduce it, run openjump
twice.  The first run will create the workbench-state.xml file, and
the second will output the exception.

org.jdom.input.JDOMParseException: Error on line 2: required string: "?>"
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:381)
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:764)
   at com.vividsolutions.jump.util.java2xml.XML2Java.read(XML2Java.java:61)
   at com.vividsolutions.jump.workbench.ui.plugin.PersistentBlackboardPlugIn.restoreState(PersistentBlackboardPlugIn.java:73)
   at com.vividsolutions.jump.workbench.ui.plugin.PersistentBlackboardPlugIn.initialize(PersistentBlackboardPlugIn.java:52)
   at com.vividsolutions.jump.workbench.JUMPConfiguration.initializeBuiltInPlugIns(JUMPConfiguration.java:988)
   at com.vividsolutions.jump.workbench.JUMPConfiguration.setup(JUMPConfiguration.java:269)
   at com.vividsolutions.jump.workbench.JUMPWorkbench.main(JUMPWorkbench.java:234)
   at com.vividsolutions.jump.workbench.JUMPWorkbench.main(JUMPWorkbench.java:200)
Caused by: org.xml.sax.SAXParseException: required string: "?>"
   at gnu.xml.stream.SAXParser.parse(SAXParser.java:660)
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:370)
   ...8 more
Caused by: javax.xml.stream.XMLStreamException: required string: "?>"
   at gnu.xml.stream.XMLParser.error(XMLParser.java:4053)
   at gnu.xml.stream.XMLParser.require(XMLParser.java:1291)
   at gnu.xml.stream.XMLParser.readXMLDecl(XMLParser.java:1716)
   at gnu.xml.stream.XMLParser.next(XMLParser.java:1121)
   at gnu.xml.stream.XMLParser.hasNext(XMLParser.java:984)
   at gnu.xml.stream.SAXParser.parse(SAXParser.java:377)
   ...9 more
Caused by: org.xml.sax.SAXParseException: required string: "?>"
   at gnu.xml.stream.SAXParser.parse(SAXParser.java:660)
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:370)
   at org.jdom.input.SAXBuilder.build(SAXBuilder.java:764)
   at com.vividsolutions.jump.util.java2xml.XML2Java.read(XML2Java.java:61)
   at com.vividsolutions.jump.workbench.ui.plugin.PersistentBlackboardPlugIn.restoreState(PersistentBlackboardPlugIn.java:73)
   at com.vividsolutions.jump.workbench.ui.plugin.PersistentBlackboardPlugIn.initialize(PersistentBlackboardPlugIn.java:52)
   at com.vividsolutions.jump.workbench.JUMPConfiguration.initializeBuiltInPlugIns(JUMPConfiguration.java:988)
   at com.vividsolutions.jump.workbench.JUMPConfiguration.setup(JUMPConfiguration.java:269)
   at com.vividsolutions.jump.workbench.JUMPWorkbench.main(JUMPWorkbench.java:234)
   at com.vividsolutions.jump.workbench.JUMPWorkbench.main(JUMPWorkbench.java:200)
Caused by: javax.xml.stream.XMLStreamException: required string: "?>"
   at gnu.xml.stream.XMLParser.error(XMLParser.java:4053)
   at gnu.xml.stream.XMLParser.require(XMLParser.java:1291)
   at gnu.xml.stream.XMLParser.readXMLDecl(XMLParser.java:1716)
   at gnu.xml.stream.XMLParser.next(XMLParser.java:1121)
   at gnu.xml.stream.XMLParser.hasNext(XMLParser.java:984)
   at gnu.xml.stream.SAXParser.parse(SAXParser.java:377)
   ...9 more
Comment 3 chris burdess 2006-06-07 08:05:15 UTC
I have successfully parsed http://taverna.cvs.sourceforge.net/*checkout*/taverna/taverna1.0/src/org/embl/ebi/escience/scufl/semantics/mygrid-reasoned-small.rdfs using the SAX parser in Classpath 0.91 and HEAD.

Note that this XML is well-formed but not valid, so if you use the SAX parser in validating mode it will produce the error

org.xml.sax.SAXParseException: attribute must be declared: "xmlns:rdf"
   at gnu.xml.stream.SAXParser.parse(SAXParser.java:660)
   ...

However I cannot reproduce the "required string" exception below. Please confirm the input being used, i.e. that it is not being modified somehow by JDOM. You can test the function of SAXParser yourself with

  $JAVA gnu.xml.stream.SAXParser <file>
Comment 4 pere 2006-06-07 10:08:36 UTC
Created attachment 11622 [details]
XML file giving parse error with openjump

Attached is a copy of workbench-state.xml generated by openjump.  When it is
present in cwd, openjump throws the exception mentioned above.  When it is
removed, openjump do not throw the exception.  Because of this, I believe
this is the file openjump complain about.
Comment 5 pere 2006-06-09 09:31:54 UTC
The exception is no longer happening when I run openjump.  So from my point of
view, the CVS version of classpath has fixed this bug.
Comment 6 Mark Wielaard 2006-06-10 09:06:23 UTC
Great, so openjump works with the cvs version. Egon could could you test Taverna using a recent build? http://builder.classpath.org/dist/ 
Or leave instructions how to reproduce the bug in some easy steps?
Comment 7 Richard Biener 2012-01-10 15:58:51 UTC
?
Comment 8 Andrew John Hughes 2012-01-11 13:08:34 UTC
Richard, why did you resolve this as invalid?

Based on the comments, changing to 'WORKSFORME'.