Re: [xsl] Name of current mode

Subject: Re: [xsl] Name of current mode
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 19 Apr 2010 09:28:14 -0400
At 2010-04-19 14:24 +0200, Christian Roth wrote:
is there an accessor function for the current mode in XSLT 2?

No, but when I've wanted to do this I've used tunnel parameters.


The idea is to have something like this (I know this is NOT valid code!):

--snip--
<xsl:template match="image" mode="captioned-image block-image">

...

  <xsl:if test="current-mode()='captioned-image'">
      ...add some attribute...
  </xsl:if>

...

</xsl:template>
--snip--

I would do:


   <xsl:apply-templates select="*" mode="captioned-image">
     <xsl:with-param name="mode" select="'captioned-image'" tunnel="yes"/>
   </xsl:apply-templates>
   ...
   <xsl:apply-templates select="*" mode="block-image">
     <xsl:with-param name="mode" select="'block-image'" tunnel="yes"/>
   </xsl:apply-templates>
   ...
   <xsl:template match="image" mode="captioned-image block-image">
     <xsl:param name="mode" tunnel="yes"/>
     ...
     <xsl:if test="$mode='captioned-image'">
       ...add some attribute...
      </xsl:if>
     ...
   </xsl:template>

I hope this helps.

. . . . . . . . . . Ken


-- XSLT/XQuery training: San Carlos, California 2010-04-26/30 Principles of XSLT for XQuery Writers: San Francisco,CA 2010-05-03 XSLT/XQuery training: Ottawa, Canada 2010-05-10/14 XSLT/XQuery/UBL/Code List training: Trondheim,Norway 2010-06-02/11 Vote for your XML training: http://www.CraneSoftwrights.com/s/i/ Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal

Current Thread