JavaTM Platform
Standard Ed. 6

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

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。