Subject: Re: selecting then conditional test From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Mon, 09 Oct 2000 15:05:35 +0100 |
Jason, >My xsl is as follows: > ><xsl:template match="alljobs"> ><xsl:for-each select="job/item1[not(.=following::job/item1)]"> > <xsl:sort/> > <xsl:if test="ancestor::job/item1!='N/A'"> > <xsl:value-of select="."/> > </xsl:if> ></xsl:for-each> > >I've also tried: <xsl:if test="//item1!='N/A'"> > >Unfortunately these don't work. I eliminate the duplicates and sort it but >the if statement doesn't work. What am I doing wrong? Thanks for your help! The second (//item1 != 'N/A') doesn't work because you're testing there whether *any* item1 in the document doesn't equal 'N/A', which is always true. The first does work, at least in Saxon, although you could simplify things by only selecting those item1s that don't equal N/A in the first place: <xsl:for-each select="job/item1[not(. = 'N/A' or . = following::job/item1)]"> <xsl:sort/> <xsl:value-of select="."/> </xsl:for-each> This produces only 'one' and 'two' with both Saxon and Xalan (although with no carriage return between them - you have to add that yourself using xsl:text). I hope that helps, Jeni Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
selecting then conditional test, Jason Thomas | Thread | returning single result from apply-, Sebastian Rahtz |
Re: Function call to set a variable, Jeni Tennison | Date | Antwort: Re: Updated Benchmark Avai, v . rudowitsch |
Month |