<Base><Art_group>
<Art file_name="Cityscape"
file_uri_lores="/images/book_building/cityscape.jpg" id="1"/>
<Art file_name="Clock" file_uri_lores="/images/book_building/clock.jpg"
id="2"/>
<Art file_name="Fish" file_uri_lores="/images/book_building/Fish.jpg"
id="3"/>
<Art cdguser_id="0" file_name="Glass Tower"
file_uri_lores="/images/book_building/GlassTower.jpg" id="4"/>
<xsl:for-each select="/Base/Art_group/Art[position() mod 3 = 1]">
<xsl:for-each select=". |
following-sibling::/Base/Art_group/Art[position() < 3]">
I'm sorry, but I don't understand the nature of the problem you are
trying to solve. From your description (N-row 3-column) and example data
it looks like maybe you want to process only a subset of each Art_group's
Art elements, perhaps the first 3?
<xsl:template match="/Base/Art_group/Art[position() < 4]">
<tr>
<td class="data">
<input type="radio" name="art_id" id="art_id" value="{(_at_)id}"/>
<img src="{(_at_)file_uri_lores}" width="135" height="184"
id="coverImage" alt="{(_at_)file_name}" />
</td>
</tr>
</xsl:template>
Or maybe just 1, 2 & 4?
<xsl:template match="/Base/Art_group/Art[position() <= 4]">
<xsl:if test="not(position() div 2 = 3)">
<tr>
<td class="data">
<input type="radio" name="art_id" id="art_id" value="{(_at_)id}"/>
<img src="{(_at_)file_uri_lores}" width="135" height="184"
id="coverImage" alt="{(_at_)file_name}" />
</td>
</tr>
</xsl:if>
</xsl:template>
My apologies if I totally missed the nature of the problem you are trying
to solve.
Jim
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list