Subject: dynamically set priority in xsl:template
From: Georges Schmitz <georges.schmitz@xxxxxxxxx>
Date: Fri, 02 Mar 2007 09:27:57 +0100
|
I want to dynamically set the priority of a template (with
$expand.level), with the objective to control the "amount of output"
from outside the stylesheet via parameter setting.
<xsl:param name="slenderise.level" select="-1" />
<xsl:template match="@db:type |
@db:size |
@db:nullable"
mode="slenderise"
priority="$slenderise.level" />
<xsl:template match="@* | node()" mode="slenderise">
<xsl:copy>
<xsl:apply-templates select="@* | node()" mode="slenderise"/>
</xsl:copy>
</xsl:template>
But I get this error:
XTSE0530: Invalid numeric value for priority (0.0)
Is it not possible at all, to set the priority by a parameter? Because
it makes no difference if I declare $slenderise.level to be of type
xs:integer ,xs:double, etc. (which are numbers I suppose) or if I use
the function number() in the priority attribute. I couldn't find any
example to such a use case on the net.
Thanks for any advice,
Georges
PS
I'm using saxon8
|