I feel this is a common problem that umbraco users need to overcome: Groupings based on item counts.
Scenario separate nodes into lists of 6 output:
<ul class="groupof6"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> </ul> <ul class="groupof6"> <li>7</li> <li>8</li> <li>9</li> <li>10</li> <li>11</li> <li>12</li> </ul>
To allow this to happen, when a factor six occurs output the following:
<xsl:if test="position() mod 6 = 0 "> </ul><ul class="groupof6"> </xsl:if>
This is non validating xml which is a no-no when it comes to the xslt validator.
<xsl:text disable-output-escaping="yes"><![CDATA[</ul><ul class="groupof6">]]></xsl:text>
As a whole it should work like this:
//output list start //loop // output list item //if mod //output group break //end if //end loop //output list end
There you have it! A simple way of breaking lists into groups by using mod and xsl:text.