[Home] [By Thread] [By Date] [Recent Entries]
At 2004-08-07 17:09 +0300, mankar@xxxxxxxxxxxxxxx wrote:
I am having trouble detecting specific nodes in a node-set ... I mean can i write something like select"ITEM[position() mod 3 = 1](4) to select just the fourth node among the particular nodes. You are so very close ... XPath does work as you expect, but your syntax is not quite right. You can use: ITEM[position() mod 3 = 1][4] which is equivalent to: ITEM[position() mod 3 = 1][position() = 4] because each predicate is applied to the node set *resulting* from having applied the previous predicate. I hope this helps. ....................... Ken t:\ftemp>type manousos.xml <ITEMS> <ITEM>1</ITEM> <ITEM>2</ITEM> <ITEM>5</ITEM> <ITEM>7</ITEM> <ITEM>2</ITEM> <ITEM>5</ITEM> <ITEM>10</ITEM> <ITEM>2</ITEM> <ITEM>5</ITEM> <ITEM>15</ITEM> <ITEM>2</ITEM> <ITEM>5</ITEM> <ITEM>17</ITEM> <ITEM>2</ITEM> <ITEM>5</ITEM> </ITEMS> t:\ftemp>type manousos.xsl
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"><xsl:output method="text"/> <xsl:template match="ITEMS"> <xsl:value-of select="ITEM[position() mod 3 = 1][4]"/> </xsl:template> </xsl:stylesheet> t:\ftemp>saxon manousos.xml manousos.xsl 15 t:\ftemp>
|

Cart



