各行に 3 つの製品が必要です。各製品はテンプレート「OneProduct」(含まれていません) にあり、パターのほとんどのテーブル タグはこのテーブルの外にあります。以下は実際には機能しますが、どのように正しい方法で行われるのでしょうか?
<xsl:if test="(position() mod 3) = 1">
<xsl:text disable-output-escaping="yes">
<![CDATA[<TR name="PROD_ROW">]]>
</xsl:text>
</xsl:if>
<TD width="33%" align="center" name="PRODUCT_CELL">
<xsl:call-template name="OneProduct">
<xsl:with-param name="productId" select="$productId" />
</xsl:call-template>
</TD>
<xsl:if test="( (position()+1) mod 3 = 1)">
<xsl:text disable-output-escaping="yes">
<![CDATA[</TR>]]>
</xsl:text>
</xsl:if>