Subject: RE: [xsl] Testing for Last Group in For-Each-Group From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 18 Dec 2007 10:14:52 -0000 |
The value of last() is an integer greater than zero, and its effective boolean value is therefore always true. You want the old favourite: if (position() = last()). Alternatively, given the way you are doing the grouping, you could do if (not(following-sibling::br)) Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Jeff Sese [mailto:jsese@xxxxxxxxxxxx] > Sent: 18 December 2007 08:24 > To: XSL List List > Subject: [xsl] Testing for Last Group in For-Each-Group > > Hi, > > I have a for-each-group instruction, how can i test if the > group i'm processing is the last one? > > <xsl:for-each-group select="node()" group-starting-with="br"> > <group last="{if (last()) the 'yes' else 'no'}"> > <xsl:copy-of select="current-group()"/> > </group> > </xsl:for-each-group> > > I keep on getting 'yes'... > > TIA > -- Jeff
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Testing for Last Group in, Jeff Sese | Thread | [xsl] Removing duplicates where dup, geirr.prestholdt |
Re: [xsl] Testing for Last Group in, Jeff Sese | Date | Re: [xsl] ANN: 'Testing XSLT' train, Andrew Welch |
Month |