This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: position in a conditional for-each


How about?:

<xsl:if test="position() = last()">
	... process last element differently ...
</xsl:test>

pg. 502 XSLT programmer's reference

--------
Craig Pfeifer
www.cpfeifer.org

On Wed, 3 Jan 2001, James Piva wrote:

> Hi,
> 
> 	I'm trying treat the last element that passes a 
> 	condition in a for-each differently.
> 	Every element which passes the condition
> 	displays its value, and that is followed by
> 	a comma.  The problem is that I can't know when
> 	the last element to meet the condition
> 	has passed.I would like to omit trailing comma.
> 
> 	<xsl:for-each select="COOLJEX_ATTRIBUTE">
>         <xsl:if test="@key='true'"> 
> 	    <xsl:value-of select="@name"/>
> 	    <xsl:text> , </xsl:text> 
> 	  </xsl:if>
> 	</xsl:for-each>
> 
> 	The only solution I can think of is to create a 
> 	stringBuffer which is updated each time through the
> 	condition, then create a substring of that for display.
> 	But I don't know how to create a 'local variable'.  I've
> 	looked at the xsl:attribute, but have not quite understood its
> 	functions.
> 
> 	please help,
> 
> 	thank you 
> 
> 	james
> 	
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]