RE: [xsl] How to join elements

Subject: RE: [xsl] How to join elements
From: Eric.Reiter@xxxxx
Date: Thu, 23 Jan 2003 13:30:01 +0100
If you try something link :
<xsl:template match="//node"><xsl:value-of select="@name"/>,</xsl:for-each>
<xsl:template match="//node[position()=last()]"><xsl:value-of
select="@name"/></xsl:for-each>

It can be run (I don't test it)
Best Regards
Eric
-----Original Message-----
From: Ian Stokes-Rees [mailto:i.stokes-rees1@xxxxxxxxxxxxxxxx]
Sent: mercredi 22 janvier 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