[xsl] following-sibling and xsl:sort

Subject: [xsl] following-sibling and xsl:sort
From: Karl Stubsjoen <kstubs@xxxxxxxxx>
Date: Wed, 27 Apr 2005 11:36:47 -0700
Hello,

I am having troubles with following-sibling and wondering if I am
doing something wrong.  I'm expecting that the following-sibling will
result in the next (sorted) element, but it appears that it is not.
It appears that the sort with respect to following-sibling is lost.
So, an example:

<AAA>
  <B>456</B>
  <B>234</B>
</AAA>

<xsl:apply-templates select="B">
  <xsl:sort select="B" order="ascending"/>
</xsl:apply-templates>

<xsl:template match="B">
  <xsl:if test="not(position()=last())">
    <xsl:variable name="nextB" select="number(following-sibling::B)"/>

    <xsl:value-of select="."/><xsl:text> Next is: </xsl:text>
    <xsl:value-of select="$nextB"/>
  </xsl:if>
</xsl:template>

Result:
234 Next is: NaN

Thanks!

Karl..

Current Thread