У меня есть апплет, который отлично работает в средстве просмотра апплетов, но после его воспроизведения на сервере он не может анализировать XML-файлы.
причина проста: синтаксический анализатор SAX пытается открыть dtd на жестком диске, а не в JAR.
Мне сказали сделать так:
URL-адреса ресурсов можно легко сформировать с помощью конструктора URL(baseURL, pathString), где базовый URL-адрес получается из Applet.getDocumentBase() или Applet.getCodeBase().
но я не знаю, как применить это в моем случае:
вот образец XML:
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "leveldtd.dtd">
<level>
...
</level>
а вот инициализация моего парсера
public static void parseThis(InputSource is) throws Exception{
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLHandlerLevel myExampleHandler = new XMLHandlerLevel();
XMLReader xr = sp.getXMLReader();
xr.setContentHandler(myExampleHandler);
/* Begin parsing */
xr.parse(is);
}
Любые идеи ?
Джейсон
<!DOCTYPE note
), а корневым элементом являетсяlevel
. - person Daniel Haley   schedule 23.06.2011Validity constraint: Root Element Type
-The Name in the document type declaration MUST match the element type of the root element.
- person Daniel Haley   schedule 24.06.2011