Re: [xsl] Looping through multiple elements

Subject: Re: [xsl] Looping through multiple elements
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Tue, 18 Mar 2008 15:27:56 +0000
On 18/03/2008, Jones Mark Mr (ITCS) <Mark.Jones@xxxxxxxxx> wrote:
>  example, there are also these fields (dc:creator, dc:creator1,
>  dc:creator2, dc:creator3). I need to make the xml output for this
>  generate the xml below (the names are just examples)
>
>  <component name="value" group="creators">Smith, Jones, Black,
>  White</component>

In 1.0 you can do:

<xsl:for-each select="dc:creator | dc:creator1 | dc:creator2 | dc:creator3">
  <xsl:value-of select="."/>
  <xsl:if test="position() != last()">, </xsl:if>
</xsl:for-each>

In 2.0 it's easier:

string-join((dc:creator, dc:creator1, dc:creator2, dc:creator3), ', ')


cheers
-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

Current Thread