Using xsl:include and default prefix - 6.3

Talend ESB Mediation Developer Guide

EnrichVersion
6.3
EnrichProdName
Talend Data Fabric
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
task
Design and Development
EnrichPlatform
Talend ESB

When using xsl:include such as:

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

Then in Camel 2.10.3 and older, then Camel will use "classpath:" as the default prefix, and load the resource from the classpath. This works for most cases, but if you configure the starting resource to load from file,

.to("xslt:file:etc/xslt/staff_include_relative.xsl")

.. then you would have to prefix all your includes with "file:" as well.

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

From Camel 2.10.4 onwards we have made this easier as Camel will use the prefix from the endpoint configuration as the default prefix. So from Camel 2.10.4 onwards you can do:

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

Which will load the staff_template.xsl resource from the file system, as the endpoint was configured with "file:" as prefix.

You can still though explicit configure a prefix, and then mix and match. And have both file and classpath loading. But that would be unusual, as most people either use file or classpath based resources.