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]

RE: simple grouping question


Use xsl:if together with the preceding-sibling axis in XPath. For example:

<xsl:template match="event">
  <tr>
    <td>
	<xsl:if test="date != preceding-sibling::event/date or position() =
1">
	      <xsl:value-of select="date"/>
	</xsl:if>
    </td>
    <td>
      <xsl:value-of select="name"/>
    </td>
  </tr>
</xsl:template>


Note that you have to have the position() = 1 as one of the conditions,
since otherwise you will loose the first line (where the date doesn't equal
'')

Alternatively, you could string it out to an xsl:choose statement, and omit
the postition() bit:

<xsl:template match="event">
  <tr>
    <td>
	<xsl:choose>
	<xsl:when test="date = preceding-sibling::event/date">
	      
	</xsl:when>
	<xsl:otherwise>
		<xsl:value-of select="date"/>
	</xsl:otherwise>
    </td>
    <td>
      <xsl:value-of select="name"/>
    </td>
  </tr>
</xsl:template>

Hope this helps,

Ben


 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]