Subject: RE: [xsl] Do something if no items in for-each meet criteria From: "Xia Li" <xli@xxxxxxxxxxxxx> Date: Thu, 11 Sep 2003 16:57:09 -0700 |
Hi, Here is a possible solution, create a variabe to record the result of "for-each" statement and test the length of the variable. It might not be the perfect one. but it can get the desired result. <xsl:transform xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0' xmlns:lang='en' > <xsl:template match="/"> <xsl:variable name="noFurry"> <xsl:for-each select="//animal"> <xsl:if test="furry = 'true'"> <xsl:value-of select="type"/><br/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:if test="string-length($noFurry) = 0"> <xsl:message>None are furry</xsl:message> </xsl:if> </xsl:template> </xsl:transform> Lisa Software Engineer Galdos Systems Inc -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Peter Hollingsworth Sent: Thursday, September 11, 2003 4:12 PM To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx Subject: [xsl] Do something if no items in for-each meet criteria I'm trying to 1) go through a set of nodes 2) if any matches my criteria, display it 3) if NONE matches my criteria, display a message like "None" For example, imagine this xml listing some animals: <animal> <type>snake</type> <furry>false</furry> </animal> <animal> <type>fish</type> <furry>false</furry> </animal> and this XSL that lists all the ones with fur: The following animals are furry:<br/> <xsl:for-each select="animal"> <xsl:if test="furry = 'true'"> <xsl:value-of select="type"/><br/> </xsl:if> </xsl:for-each> [if no animals were furry, print "None are furry"] <---how can I do this? Any way I can accomplish what I'm trying to do on the last line above? Thanks. --Peter XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Do something if no items in f, Peter Hollingsworth | Thread | [xsl] Storing and retrieving html t, Peter Hollingsworth |
[xsl] Do something if no items in f, Peter Hollingsworth | Date | Re: [xsl] how to pass parameters do, Bill Keese |
Month |