でXHTML文書を解析している間、私は次のように に移行DTDを使用することを宣言DOCTYPEでHTML文書を解析しようとしています:DTDのダウンロードエラーXOM
<をDOCTYPE用HTML PUBLIC「 - // W3C // DTD! XHTML 1.0過渡// EN」 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
私は、ドキュメントにBuilder.buildを行うと、私は次の例外を取得:
java.io.IOException: Server returned HTTP response code: 503 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at nu.xom.Builder.build(Builder.java:1127)
at nu.xom.Builder.build(Builder.java:1019)
私が削除した場合にdoc型の宣言は、それはちょうど良い構文解析します。 私のブラウザから正常にdtdをダウンロードできます。これは、 のURLが有効であることを示しています。私は、doc型宣言を削除したくありません。 ビルダーにdtdをダウンロードしないように指示するか、 に代替dtdを指定する方法がありますか?
あなたは「野生の」からHTMLを解析しているか、あなたが解析しているページを管理している/作成しましたか? – lucas
私は解析しているHTMLを制御しているので、doctype宣言を削除することができます。しかし、私は良い習慣に固執し、doctype宣言を保持しようとしています。 – Bala