xsl-list
[Top] [All Lists]

Re: [xsl] Name of current mode

2010-04-19 08:29:02
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(_at_)CraneSoftwrights(_dot_)com
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


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