I have the following nodes in xsl:
<foo> <bar>1</bar> <bar>2</bar> <bar>3</bar> <bar>4</bar> <bar>5</bar> <bar>6</bar> <bar>7</bar> <bar>8</bar> <bar>9</bar> </foo>
And would like to turn it into the following html:
<ul class="one"> <li>1</li> <li>4</li> <li>7</li> </ul> <ul class="two"> <li>2</li> <li>5</li> <li>8</li> </ul> <ul class="three"> <li>3</li> <li>6</li> <li>9</li> </ul>
Having difficulty figuring out how to loop and get every third element, I would like to do something like this:
<ul class="one"> <xsl:for-each select="exlt:node-set($blah)/foo/bar[X1]"> <li><xsl:value-of select="node()"/></li> </xsl:for-each> </ul> <ul class="two"> <xsl:for-each select="exlt:node-set($blah)/foo/bar[X2]"> <li><xsl:value-of select="node()"/></li> </xsl:for-each> </ul> <ul class="three"> <xsl:for-each select="exlt:node-set($blah)/foo/bar[X3]"> <li><xsl:value-of select="node()"/></li> </xsl:for-each> </ul> Where: X1 = Every third item starting from position 1 X2 = Every third item starting from position 2 X3 = Every third item starting from position 3
You may need to use last (), but it doesnβt work correctly.
source share