共通 DOM API

org.w3c.dom.ls
インタフェース LSResourceResolver


public interface LSResourceResolver

LSResourceResolver を使用すると、アプリケーションは外部リソースに対する参照をリダイレクトできます。 

外部リソースのカスタム処理を実装する必要があるアプリケーションは、このインタフェースを実装して、LSParserLSSerializer に接続された DOMConfiguration オブジェクトの「resource-resolver」 パラメータを設定することによって実装を登録できます。また、「LS」機能がサポートされている場合は、Document に接続された DOMConfiguration オブジェクトへの登録も可能です。 

その後、LSParser によって、アプリケーションは、外部エンティティー (外部 DTD サブセット、外部パラメータエンティティーを含む) を取り込む前に遮断できます。トップレベルの文書エンティティーは、resolveResource メソッドへは渡されません。 

このインタフェースを実装する必要がある DOM アプリケーションはあまりありませんが、このインタフェースは、データベースやその他の特殊な入力ソースから XML 文書を構築するようなアプリケーション、あるいは URN を使用するアプリケーションでは非常に有効です。

注: LSResourceResolver は、SAX2「SAX」EntityResolver インタフェースに基づいています。 

「Document Object Model (DOM) Level 3 Load and Save Specification」も参照してください。


メソッドの概要
 LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI)
          アプリケーションが外部リソースを解決できるようにします。
 

メソッドの詳細

resolveResource

LSInput resolveResource(String type,
                        String namespaceURI,
                        String publicId,
                        String systemId,
                        String baseURI)
アプリケーションが外部リソースを解決できるようにします。
LSParser は、外部リソース (外部 DTD サブセット、DTD 内で参照される外部エンティティー、および文書要素内で参照される外部エンティティーなど) を開く前に、このメソッドを呼び出します。 ただし、トップレベルの文書エンティティーはこのメソッドには渡されません。その後、アプリケーションは、LSParser が外部リソース自体を解決することや、代替 URI を使用すること、またはまったく異なる入力ソースを使用することを要求します。
アプリケーション作者は、このメソッドを使用して外部システム識別子を安全なローカル URI にリダイレクトしたり、カタログ内の公開識別子を検索したり、データベースやその他の入力ソース (たとえばダイアログボックスなど) からエンティティーを読み取ったりできます。

パラメータ:
type - 解決されるリソースの型。XML「XML 1.0」リソース (エンティティーなど) の場合、アプリケーションは、 値「http://www.w3.org/TR/REC-xml」を使用する必要がある。XML スキーマ「XML Schema Part 1」 の場合は、アプリケーションで値 「http://www.w3.org/2001/XMLSchema」を使用する必要がある。ほかのリソースの型は この仕様の範囲外。したがって、このメソッドを使用するには、 絶対 URI を推奨する
namespaceURI - 解決される名前空間。 XML スキーマリソースを解決しているときは、XML スキーマ「XML Schema Part 1」 のターゲット名前空間
publicId - 参照される外部エンティティーの公開識別子。 公開識別子が提供されなかった場合や リソースがエンティティーでない場合は null
systemId - 参照される外部リソースのシステム識別子 (URI 参照「IETF RFC 2396」)。 システム識別子が提供されなかった場合は null
baseURI - 解析されるリソースの絶対ベース URI。 ベース URI がない場合は null
戻り値:
新しい入力ソースを記述する LSInput オブジェクト。 パーサーにリソースへの正規 URI 接続を要求する場合は null

共通 DOM API

バグや機能要求の報告
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 2006 Sun Microsystems, Inc. 4150 Network Circle
Santa Clara, California, 95054, U.S.A. All Rights Reserved.