我对xsl一点都不熟悉,能帮帮我吗。以下代码生成3个单元格的行,形成网格。
<xsl:template match="Entity">
<xsl:if test="position() mod 3 = 1">
<div class="row">
<xsl:for-each select=". | following-sibling::*[position() < 3]">
<xsl:call-template name="SubCatCell" />
</xsl:for-each>
</div>
</xsl:if>
</xsl:template>
我认为它会动态地产生以下内容:
<div class="row">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
我需要每行4个细胞。我需要改变什么?
答案 0 :(得分:0)
这一行
<xsl:if test="position() mod 3 = 1">
检查当前行是否为3的倍数加1(模运算)。您需要将3更改为4,因此它适用于每个第4个元素,而不是每3个元素。
这一行
<xsl:for-each select=". | following-sibling::*[position() < 3]">
循环遍历其following-sibling
position()
小于<
)3的所有元素.3。如果将3更改为4,您将获得所有位置小于4的元素,这就是你想要的。