アプレットビューアで正常に動作するアプレットがありますが、サーバーに再生されると、XMLファイルを解析できません。
理由は単純です。SAXパーサーは、JARではなくハードディスクでdtdを開こうとしています。
私はこれをするように言われました:
リソースへの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);
}
何か案は ?
ジェイソン