リゾルバのコール順序

JDK XMLプロセッサはカタログ・リゾルバの前にカスタム・リゾルバをコールします。

カタログ・リゾルバより優先されるカスタム・リゾルバ

カタログ・ファイルが設定されているJDK XMLプロセッサでは、カタログ・リゾルバ(CatalogResolverインタフェースで定義される)を使用して外部参照を解決できます。ただし、カスタム・リゾルバも指定されている場合は、これが常にカタログ・リゾルバより優先されます。つまり、JDK XMLは最初にカスタム・リゾルバをコールして外部リソースの解決を試行します。正常に解決された場合、プロセッサはカタログ・リゾルバをスキップして続行します。カスタム・リゾルバがないか、カスタム・リゾルバによる解決でnullが返された場合にのみ、プロセッサはカタログ・リゾルバをコールします。

カスタム・リゾルバを使用するアプリケーションでは、カスタム・リゾルバが処理できないリソースを解決するために、追加のカタログを設定します。コードを変更できない既存のアプリケーションでは、システム・プロパティを使用してカタログを設定するか、jaxp.propertiesファイルで外部参照を(この設定によってカスタム・リゾルバが処理する既存のプロセスに干渉しないことがわかっている)ローカル・リソースにリダイレクトします。