Re: [xsl] Question reqarding display the content pending on the number of elements

Subject: Re: [xsl] Question reqarding display the content pending on the number of elements
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Wed, 23 Jan 2002 16:38:39 +0000
Hi Kit,

> the question is, how do i insert the comma at the end of each
> children element using xsl stylesheet BUT not adding a comma for the
> last children (e.g. wayne for the smith and Jay)?

Iterate over the children elements, and add a comma for each of them,
unless they are the last, which you can work out by looking at their
position:

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

[Or in XSLT 2.0, simply:
 <xsl:value-of select="children" separator=", " />]

> in addition, is there a way to use xsl:if statment that will give a
> condition that states "if the number of element (children in the
> above example) are more than 1"

Sure:

  <xsl:if test="count(children) > 1">...</xsl:if>

Or if you prefer, you can just test whether there's a second children
element:

  <xsl:if test="children[2]">...</xsl:if>

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


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


Current Thread