[xsl] About position() in xsl:for-each-group

Subject: [xsl] About position() in xsl:for-each-group
From: Christian Rinderknecht <rinderkn@xxxxxxxxxxxx>
Date: Sat, 9 Feb 2008 19:06:46 +0900
Dear members,

Learning the ropes I came across this piece of code from the standard:

<xsl:for-each-group select="cities/city" group-by="@country">
  <tr>
    <td><xsl:value-of select="position()"/></td>
    <td><xsl:value-of select="@country"/></td>
    <td>
      <xsl:value-of select="current-group()/@name" separator=", "/>
    </td>
    <td><xsl:value-of select="sum(current-group()/@pop)"/></td>
  </tr>
</xsl:for-each-group>

Am I the only one to find odd that "position()" evaluates to the position of the current group instead of 1, i.e., the position of the first city in the current group (contrast with "@country")?

Best regards,

Christian

Current Thread