Re: [xsl] position() in xsl:for-each

Subject: Re: [xsl] position() in xsl:for-each
From: George Cristian Bina <george@xxxxxxx>
Date: Fri, 09 Jul 2004 12:03:13 +0300
> <objects>
>   <object name="name1" type="type1">data1</object>
>   <object name="name2" type="type1">data2</object>
>   <object name="name3" type="type1">data3</object>
>   <object name="name4" type="type1">data4</object>
>   <object name="name5" type="type2">data5</object>
>  </objects>


<xsl:for-each select="object[@type='type1'][position() mod 2 = 1]"> will not select <object name="name4" type="type1">data4</object> as the context node. If you add a new type1 object before name5:


<objects>
  <object name="name1" type="type1">data1</object>
  <object name="name2" type="type1">data2</object>
  <object name="name3" type="type1">data3</object>
  <object name="name4" type="type1">data4</object>
  <object name="nameX" type="type1">dataX</object>
  <object name="name5" type="type2">data5</object>
</objects>

then <object name="nameX" type="type1">dataX</object> will be selected as the context node and you will get data5 in the output. The following-sibling axis selects the following siblings of the context node. See http://www.w3.org/TR/xpath#axes

Best Regards,
George
-----------------------------------------------
George Cristian Bina
<oXygen/> XML Editor & XSLT Editor/Debugger
http://www.oxygenxml.com

Current Thread