LSResourceResolver (Java 2 Platform SE 5.0)


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

public interface LSResourceResolver

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

外部リソースのカスタム処理を実装する必要があるアプリケーションは、このインタフェースを実装して、LSParser と LSSerializer に接続された 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