XSLT component
The XLST component is able to apply transformations on exchanges that carry XML content. It supports XSLT 2.0 and XPath 2.0.
It takes an an (HTTP) URL to a XLST file, which is used to transform the XML content. The XSLT file may include absolute links to other files.
If you use MapForce to create your XSLT be aware that not all functions are compatible with our XSLT component.
Read more about Unsupported XSLT.
Configuration
This component can not be used as the first component in a flow, since it expects to consume XML exchanges.
The XSLT component has the following configuration options:
Property | Description |
---|---|
URL | Path to XSLT file that defines the transformation |
XSLT File | A xslt file that has been uploaded to be used with the flow. |
Remarks
- You can't use both options in the XSLT component. You can only use one or the other.
- Using the
XSLT File
has an advantage on theURL
. When using theXSLT File
property your xslt file are also versioned with your flow versions. That isn't the case when you use theURL
! - The XSLT component has to be configured with an (HTTP) URL
It also has a Compile XSLT
button, that validates whether Dovetail can access the XSLT file and that the XSLT file is valid.
Runtime behavior
The XSLT component compiles the XSLT during installation and caches it. Changes to a XSLT file will not take effect unless an integration flow is re=depolyed/re-installed.
Special care with the XSLT
Any files referenced inside the XSLT must have an absolute http url that can be reached by Dovetail ESB, otherwise it will not be able to find these resources.
For example:
<!-- DON'T DO THIS -->
<xsl:with-param name="file" select="'./codeconversion.xml'" as="item()"/>
<!-- DO THIS INSTEAD! -->
<xsl:with-param name="file" select="'http://dovetail.example.local/xslt/codeconversion.xml'" as="item()"/>
Unsupported XSLT
Not all (Mapforce) XSLT functions or constructors are supported in this component. A hint that you are using an unsupported fucntion is an undefined
message when you try to compile the XSLT in its settings.
Our XSLT component uses the SaxParser library.
Known unsupported functions are:
auto-number
xslx-to-date
Known unsupported constructors are:
xs:int
, usexs:integer
instead