モジュール java.xml
パッケージ javax.xml.catalog

インタフェースCatalogResolver

すべてのスーパー・インタフェース:
EntityResolver, LSResourceResolver, URIResolver, XMLResolver

public interface CatalogResolver extends EntityResolver, XMLResolver, URIResolver, LSResourceResolver
カタログ・リゾルバ。SAX EntityResolver、StAX XMLResolver、スキーマ検証で使用されるDOM LS LSResourceResolver、および変換URIResolverを実装し、カタログを使用して外部参照を解決します。

「カタログ標準」は、external identifiersuri entriesを、DTDのみを識別するために使用されるものと区別し、uri entriesは、スタイル・シートやスキーマなどの他のリソースを示します。 ただし、XMLResolverLSResourceResolverなどのJava APIは区別されません。 既存のJava APIと一貫して、このCatalogResolverはシステム識別子をURIとして認識し、一致するエントリを見つけるためにカタログ内のsystemエントリとuriエントリの両方を検索します。

検索は現在のカタログで開始されます。 一致が見つかった場合、それ以上の試行は行われません。 現在のカタログに一致がない場合のみ、代理カタログおよび次のカタログを含む代替カタログが考慮されます。

検索順序

リゾルバはまず、指定されたsystemIdを持つシステム型のエントリを検索します。 システム・エントリには、systemrewriteSystemおよびsystemSuffixエントリが含まれます。

一致が見つからない場合は、prefer属性に従ってpublicエントリを検索できます。

prefer属性: preferがパブリックで、システム・エントリで一致が見つからない場合は、publicエントリが考慮されます。 指定しない場合、preferはデフォルトでパブリックになります(OASIS標準では、システム・エントリは常にパブリック・エントリの前に考慮されます)。 パブリックを優先することは、システム識別子とパブリック識別子の両方が指定されている場合にパブリック・エントリが一致することを意味します。 一般的には、一般の方におすすめです)

systemIdおよびpublic識別子と一致するものが見つからない場合、リゾルバは、指定されたsystemIdまたはhrefuriエントリの検索を続行します。 uriエントリには、urirewriteURIおよびuriSuffixエントリが含まれます。

エラー処理

CatalogResolverが指定したチェック例外を拡張するインタフェース。次のものが含まれます:

ただし、CatalogResolverは、javax.xml.catalog.resolvestrictとして指定されている場合にのみCatalogExceptionをスローします。 チェックされた例外を処理する予定のアプリケーションの場合、カスタム・リゾルバを使用してCatalogResolverをラップするか、Catalogオブジェクトで実装する必要があります。

導入されたバージョン:
9