xsl-list
[Top] [All Lists]

Re: computed <xsl:apply-templates mode=

2004-12-08 16:13:23
robert frapples writes:
I am <xsl:sort>ing elements and then using <xsl:apply-templates
select=".">.  I need to set the @mode attribute of
<xsl:apply-templates>, with a value from the XML.  As @mode takes a
qname, not an expression, I cannot reference a variable (set a
variable with <xsl:value-of> and call $var_name), reference a node (
self::node()/@my_attribute), or call a function (
current()/@my_attribute or id() or key() ).  Is there any way I can
accomplish this?

Does something as mundane as this work:

<xsl:choose>
  <xsl:when test="$variable = 'foo'">
    <xsl:apply-templates mode="foo"/>
  </xsl:when>
  <xsl:when test="$variable = 'bar'">
    <xsl:apply-templates mode="bar"/>
  </xsl:when>
  <!-- etc. -->
  <xsl:otherwise>
    <xsl:message>Invalid variable: <xsl:value-of select="$variable"/>
</xsl:message>
  </xsl:otherwise>
</xsl:choose>

-- 
Kevin Rodgers


--~------------------------------------------------------------------
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>
--~--



<Prev in Thread] Current Thread [Next in Thread>