Re: [xsl] How do I pass the mode as a string?

Subject: Re: [xsl] How do I pass the mode as a string?
From: "David Carlisle d.p.carlisle@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 3 Mar 2020 11:53:28 -0000
> I'd like to extract all of this into a separate block that I will call
with these two values.

essentially that's not possible: the mode needs to be a literal at compile
time not any kind of variable

you can do

<xsl:choose>
 <xsl:when test="$mymode='wibble'">
  <xsl:apply-templates mode="wibble"/>
</xsl:when>
<xsl:otherwise>
 <xsl:appy-templates mode="wobble"/>
</xsl:otherwise>
</xsl:choose>

or sometimes more convenient combine the two modes in to one, but pass in a
tunnel parameter that allows different processing when you need it. so
replace all of the above by

<xsl:appy-templates mode="wbble">
  <xsl:with-param name="mymode" select="$mymode" tunnel="yes"/><!-- if
tunnel param not already set above-->
</xsl:apply-templates>

David

Current Thread