[xsl] xsl:with-param

Subject: [xsl] xsl:with-param
From: James Cummings <James.Cummings@xxxxxxxxx>
Date: Sun, 15 Jun 2003 20:52:54 +0100 (BST)

Hi,

Am I misunderstanding something or should the follow xslt
snippet work:

-----
<xsl:template match="/">
<foo>
   <xsl:apply-templates mode="foo">
    <xsl:with-param name="wit">B</xsl:with-param>
  </xsl:apply-templates>
</foo>
</xsl:template>

<xsl:template match="body" mode="foo">
  <xsl:param name="wit" />
  <xsl:if test="contains(@wit, $wit)">
<body wit="{$wit}"><xsl:apply-templates mode="foo"/></body>
</xsl:if>
</xsl:template>
-----

I expected that the root template would apply any
other templates with mode="foo" and make available to
them the param $wit with value 'B'.  But the output
always has <body wit=""> ...  If I supply a default to
the xsl:param in the template body, it is of course picked
up, but not if I pass it with xsl:with-param.  Is it
something to do with using @mode with xsl:apply-templates?
Or is there something else obvious I'm missing?

Thanks for any suggestions,
-james
-- 
Dr James Cummings, James.Cummings@xxxxxxxxx, http://www.uea.ac.uk/~q503
Cursus Project, School of Music, University of East Anglia,
Norwich, Norfolk, NR4 7TJ, UK  Tel:(01603)593-595



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread