[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] How to join elements


Subject: RE: [xsl] How to join elements
From: Cams Ismael <Ismael.Cams@xxxxxxxxxxxxxxx>
Date: Thu, 23 Jan 2003 13:16:50 +0100

You should do a test.
Implement a test that checks if the node is the last one.
<xsl:if test="not(position()=last())">
	<xsl:text>,</xsl:text>
<xsl:if>

Kind regards,
Ismaël
-----Original Message-----
From: Ian Stokes-Rees [mailto:i.stokes-rees1@xxxxxxxxxxxxxxxx]
Sent: woensdag 22 januari 2003 18:31
To: 'XSL-List@xxxxxxxxxxxxxxxxxxxxxx'
Subject: [xsl] How to join elements


I have spent 30 minutes scanning the XSLT FAQ (on top of looking through the
XSLT spec, and random docs and materials) and could not come up with any
solution to this problem:

<xsl:for-each select="//node"><xsl:value-of select="@name"/>,</xsl:for-each>

outputs:

a,b,c,d,

       ^----------PROBLEM

The problem is I do not want the last "comma" since in my output format this
is illegal.  I do not know how many node/@name attributes will appear, so
concat is not a solution.  FWIW, node elements can be nested inside node
elements, and this is producing a comma separated list of all node names in
the instance document.

Cheers,

Ian.

-- 
Ian Stokes-Rees                     i.stokes-rees@xxxxxxxxxxxxxxxx
Particle Physics, Oxford            http://www-pnp.physics.ox.ac.uk/~stokes/

 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
Keywords