okay, here is my attempt...not working...very frustrating.
my error: Can not convert #STRING to a NodeList!
<xsl:param name="filterparam"/>
<!-- try to take the if condition out of the test template -->
<xsl:template match="/">
<xsl:choose>
<xsl:when test="string-length($filterparam) = 0">
<xsl:call-template name="test">
<!-- trying to call the test template with no filter -->
<xsl:with-param name="filter"
select="//person"></xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="test">
<!-- trying to call the test template with the
filterparam as the filter -->
<xsl:with-param name="filter" select="//person[cat =
$filterparam]"></xsl:with-param>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="test" match="/">
<xsl:param name="filter"/>
<xsl:variable name="filter" select="$filter"/>
<table>
<xsl:for-each select="$filter">
<tr>
<td><xsl:value-of select="cat"/></td>
<td><xsl:value-of select="dog"/></td>
<td><xsl:value-of select="fish"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
-----Original Message-----
From: Passin,Thomas B. (Tom) [mailto:tpassin(_at_)mitretek(_dot_)org]
Sent: Friday, September 20, 2002 3:27 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] filter based on parameter, not getting it.
[Carter, Will]
This code doesn't work:
<table>
<xsl:for-each select="$filter">
<!--===============================================
Here is the problem. The variable is out of scope - it is only
in scope in your xsl:when or xsl:otherwise element. Therfore the
variable does not
exist for the code below.
==================================================-->
<tr>
<td><xsl:value-of select="cat"/></td>
<td><xsl:value-of select="dog"/></td>
<td><xsl:value-of select="fish"/></td>
</tr>
</xsl:for-each>
</table>
---------------------------------------------------------
Restructure your stylesheet so that you call a named template (or
apply-templates) to create the table cells, and pass in the $filter
variable as a parameter to the template.
Cheers,
Tom P
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list