Products | Versions |
---|---|
TIBCO ActiveMatrix BusinessWorks | 5.x |
Using xsl:include inside of xslt 2.0 transformation.
When using tibco xslt 1.0 engine, this functionality can be achieved using include like below way.* //Resources/XSLT/ *is the project relative path.
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" indent="yes"/>
<xsl:include href="//Resources/XSLT/common.xslt"/>
<xsl:template match="/">
<hello>
<xsl:call-template name="hello"/>
</hello>
</xsl:template>
</xsl:stylesheet>
Where as while using Saxon-B XSLT 2.0 we face below error:
Error in [Processes/Transform.process/Transform XML]
java.lang.IllegalArgumentException: not an error or warning message code: BW-XML-100001
But when we check the relative path, it is considering with respect to designer location i.e C:\BusinessWorks\BW5X\BW513\designer\5.10\xyz then the include will look like below
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" indent="yes"/>
<xsl:include href="XYZ/common.xslt"/>
<xsl:template match="/">
<hello>
<xsl:call-template name="hello"/>
</hello>
</xsl:template>
</xsl:stylesheet>
Specifying absolute path works, but is not really feasible/practical, as on development/test and production environments the deployed files end on different path (on server domain differs, on local machines when tibco designer is used, designer path is used)