Subject: Re: Switching off a filter by parameter
From: Ronan Klyne <ronan.klyne@xxxxxxxxxxx>
Date: Mon, 13 Nov 2006 17:47:29 +0000
|
Guy wrote:
> I have the following snippet of XSL to filter a book collection by category:
>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:param name="categor"/>
> <xsl:template match="/">
> <xsl:for-each select="books/book">
> <xsl:if test="category=$categor">
> <!-- Show info... -->
> </xsl:if>
> </xsl:for-each>
> </xsl:template>
> </xsl:stylesheet>
>
> My question: If the categor param is zero length (i.e. no filter) then how
> do I test for this and allow all books through? In other words I would like
> the commented code in the snippet above to be executed if the categor param
> is not filled in.
>
> Thanks!
Hi,
Specify a default value for the parameter:
<xsl:param name="categor" select="''"/>
And test for it:
<xsl:if test="$categor='' or category=$categor">
# r
--
Ronan Klyne
Business Collaborator Developer
Tel: +44 (0)870 163 2555
ronan.klyne@xxxxxxxxxxx
www.groupbc.com
|