xsl-list
[Top] [All Lists]

[xsl] dynamically set priority in xsl:template

2007-03-02 01:28:45
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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--