[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Curious result of the position() function


Subject: [xsl] Curious result of the position() function
From: Roy <ra81@xxxxxxxxx>
Date: Thu, 29 Jul 2004 10:14:44 +0200

I believed that the position() function should give me the position number of the node in the node set. But it appears to not being the case. I don't understand the result of this function (I use saxon to process my xsl transformation). It numbers my row nodes 2 by 2.
Can somebody explain me what I missed ?


Here are my test files :

test.xml
--------
<?xml version="1.0" encoding="iso-8859-1"?>
<document>
   <table>
      <row/>
      <row/>
      <row/>
      <row/>
      <row/>
   </table>
</document>

test.xsl
--------
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>
<xsl:template match="/">
<result>
<xsl:apply-templates/>
</result>
</xsl:template>
<xsl:template match="row">
<row-numbering>
<xsl:text>Row number : </xsl:text>
<xsl:number/>
<xsl:text> ---------- Row position : </xsl:text>
<xsl:value-of select="position()"/>
</row-numbering>
</xsl:template>
</xsl:stylesheet>


result.xml
----------
<?xml version="1.0" encoding="ISO-8859-1"?>
<result>


<row-numbering>Row number : 1 ---------- Row position : 2</row-numbering>


<row-numbering>Row number : 2 ---------- Row position : 4</row-numbering>

<row-numbering>Row number : 3 ---------- Row position : 6</row-numbering>

<row-numbering>Row number : 4 ---------- Row position : 8</row-numbering>

<row-numbering>Row number : 5 ---------- Row position : 10</row-numbering>


</result>



Current Thread
Keywords
xsl