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)
LSParser は、外部 DTD サブセット、DTD 内で参照される外部エンティティー、文書要素内で参照される外部エンティティーなどを含む任意の外部リソースを開く前に、このメソッドを呼び出します (ただし、トップレベルの文書エンティティーはこのメソッドには渡されません)。その後、アプリケーションは、LSParser が外部リソース自体を解決すること、代替 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。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.