<html>
<body>
<br><br>
I have looked at the utf.xml file with SpyGlass and notepad but do not
see anything wrong with it.<br><br>
Error on line 0: File <br>
"?<?xml version="1.0" encoding="utf-8"
standalone="no"?><br>
<!doctype questestinterop system
"ims_qtiasiv1p2.dtd"><br>
<questestinterop><br><br>
</questestinterop>" not found.<br><br>
There is a leading "?" or a character that is being represented
as "?" because the assii is > 128.<br>
Here is the method.<br>
-------------------------------------------------------------------------------------------------------------------------------------------------<br>
<font face="Courier New, Courier" color="#7F0055"><b>private</b></font><font face="Courier New, Courier">
</font><font face="Courier New, Courier" color="#7F0055"><b>void</b></font><font face="Courier New, Courier"> readUtf8Input() {<br>
org.jdom.input.SAXBuilder builder = </font><font face="Courier New, Courier" color="#7F0055"><b>new</b></font><font face="Courier New, Courier"> org.jdom.input.SAXBuilder();<br><br>
</font><font face="Courier New, Courier" color="#7F0055"><b>try</b></font><font face="Courier New, Courier"> {<br>
java.io.FileInputStream fis = </font><font face="Courier New, Courier" color="#7F0055"><b>new</b></font><font face="Courier New, Courier"> java.io.FileInputStream(</font><font face="Courier New, Courier" color="#7F0055"><b>this</b></font><font face="Courier New, Courier">.input);<br>
java.io.InputStreamReader isr = </font><font face="Courier New, Courier" color="#7F0055"><b>new</b></font><font face="Courier New, Courier"> java.io.InputStreamReader(fis, </font><font face="Courier New, Courier" color="#2A00FF">"UTF8"</font><font face="Courier New, Courier">);<br>
java.io.Reader reader = </font><font face="Courier New, Courier" color="#7F0055"><b>new</b></font><font face="Courier New, Courier"> java.io.BufferedReader(isr);<br>
<br>
</font><font face="Courier New, Courier" color="#7F0055"><b>int</b></font><font face="Courier New, Courier"> ch;<br>
java.lang.StringBuffer buffer = </font><font face="Courier New, Courier" color="#7F0055"><b>new</b></font><font face="Courier New, Courier"> java.lang.StringBuffer();<br><br>
// </font>But if I strip it off it is still not finding the root.<br>
<font face="Courier New, Courier"> //System.out.println(</font><font face="Courier New, Courier" color="#2A00FF">"\n\n\t*** "</font><font face="Courier New, Courier"> + reader.read() + </font><font face="Courier New, Courier" color="#2A00FF">" ***\n\n\n"</font><font face="Courier New, Courier">);<br><br>
</font><font face="Courier New, Courier" color="#7F0055"><b>while</b></font><font face="Courier New, Courier"> ((ch = reader.read()) > -1) {<br>
buffer.append((</font><font face="Courier New, Courier" color="#7F0055"><b>char</b></font><font face="Courier New, Courier">)ch);<br>
} <br>
</font><font face="Courier New, Courier" color="#7F0055"><b>this</b></font><font face="Courier New, Courier">.doc = builder.build(buffer.toString()); <br>
</font><font face="Courier New, Courier" color="#7F0055"><b>this</b></font><font face="Courier New, Courier">.root = </font><font face="Courier New, Courier" color="#7F0055"><b>this</b></font><font face="Courier New, Courier">.doc.getRootElement();<br>
reader.close();<br><br>
} </font><font face="Courier New, Courier" color="#7F0055"><b>catch</b></font><font face="Courier New, Courier"> (org.jdom.JDOMException jde) {<br>
} </font><font face="Courier New, Courier" color="#7F0055"><b>catch</b></font><font face="Courier New, Courier"> (java.io.UnsupportedEncodingException use) { <br>
} </font><font face="Courier New, Courier" color="#7F0055"><b>catch</b></font><font face="Courier New, Courier"> (java.io.FileNotFoundException fnfe) {<br>
} </font><font face="Courier New, Courier" color="#7F0055"><b>catch</b></font><font face="Courier New, Courier"> (java.lang.Exception e) {<br>
} <br><br>
</font>---------------------------------------------------------------------------------------<br><br>
<br><br>
I rewritten the method and pass the pathname to the <font face="Courier New, Courier">SAXBuilder and this exceptionis:<br><br>
</font>org.jdom.JDOMException: Error on line 1 of document <a href="file://C:\src\in-utf-8.xml" eudora="autourl">file:/C:/src/in-utf-8.xml</a>: Document root element is missing.<br><br>
<br><br>
<font face="Courier New, Courier" color="#7F0055"><b>private</b></font><font face="Courier New, Courier"> </font><font face="Courier New, Courier" color="#7F0055"><b>void</b></font><font face="Courier New, Courier"> readUtf8Input() {<br>
org.jdom.input.SAXBuilder builder = </font><font face="Courier New, Courier" color="#7F0055"><b>new</b></font><font face="Courier New, Courier"> org.jdom.input.SAXBuilder();<br><br>
</font><font face="Courier New, Courier" color="#7F0055"><b>try</b></font><font face="Courier New, Courier"> {<br>
</font><font face="Courier New, Courier" color="#3F7F5F"><x-tab> </x-tab></font><font face="Courier New, Courier" color="#7F0055"><b>this</b></font><font face="Courier New, Courier">.doc = builder.build(</font><font face="Courier New, Courier" color="#7F0055"><b>this</b></font><font face="Courier New, Courier">.input);<br>
</font><font face="Courier New, Courier" color="#7F0055"><b><x-tab> </x-tab>this</b></font><font face="Courier New, Courier">.root = </font><font face="Courier New, Courier" color="#7F0055"><b>this</b></font><font face="Courier New, Courier">.doc.getRootElement();<br>
} </font><font face="Courier New, Courier" color="#7F0055"><b>catch</b></font><font face="Courier New, Courier"> (org.jdom.JDOMException jde) {<br>
} </font><font face="Courier New, Courier" color="#7F0055"><b>catch</b></font><font face="Courier New, Courier"> (java.lang.Exception e) { <br>
} <br>
}<br><br>
<br><br>
<br>
</font></body>
</html>