xsl-list
[Top] [All Lists]

SV: How to join elements

2003-01-23 05:22:12
Maybe this works:

<xsl:for-each select="//node">
        <xsl:value-of select="@name"/>
        <xsl:if test="position()!=last()>,</xsl:if>
</xsl:for-each>

Jonas Nordström

-----Ursprungligt meddelande-----
Från: Ian Stokes-Rees 
[mailto:i(_dot_)stokes-rees1(_at_)physics(_dot_)ox(_dot_)ac(_dot_)uk]
Skickat: den 22 januari 2003 18:31
Till: 'XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com'
Ämne: [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(_dot_)stokes-rees(_at_)physics(_dot_)ox(_dot_)ac(_dot_)uk
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



<Prev in Thread] Current Thread [Next in Thread>