365.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"/>