This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]