364.6. xsl:include の使用

Camel 2.2 以前
Camel 2.2 以前の XSL ファイルで xsl:include を使用する場合、デフォルトの javax.xml.transform.URIResolver が使用されます。ファイルは、JVM 開始フォルダーに対して相対的に解決されます。

たとえば、次の include ステートメントは、アプリケーションが開始されたフォルダーから開始して、staff_template.xsl ファイルを検索します。

<xsl:include href="staff_template.xsl"/>

Camel 2.3 以降
Camel 2.3 以降の場合、Camel は URIResolver の独自の実装を提供します。これにより、Camel はクラスパスからインクルードファイルをロードできます。

たとえば、次のコードのインクルードファイルは、開始エンドポイントの相対パスに配置されます。

<xsl:include href="staff_template.xsl"/>

つまり、Camel は org/apache/camel/component/xslt/staff_template.xslクラスパス にファイルを配置します。

classpath: または file: を使用して、Camel にクラスパスまたはファイルシステムのいずれかを検索するように指示できます。接頭辞を省略した場合には、Camel はエンドポイント設定の接頭辞を使用します。エンドポイント設定で接頭辞が指定されていない場合、デフォルトは classpath: です。

インクルードパスで後方参照することもできます。次の例では、xsl ファイルは org/apache/camel/component の下で解決されます。

    <xsl:include href="../staff_other_template.xsl"/>