XSL仅在for-each中显示10个循环

时间:2010-12-10 03:05:21

标签: xslt

我的XML有100个AgentSales节点我只想显示到目前为止的前10个

<xsl:for-each select="NewDataSet/AgentSales">
    <tr>
        <xsl:if test="(position() mod 2 = 1)">
            <xsl:attribute name="bgcolor">#cccccc</xsl:attribute>
        </xsl:if>
        <td>
            <span style="font:20px arial; font-weight:bold;">
                <xsl:value-of select="AgentName"/>
            </span>
        </td>
        <td>
            <span style="font:20px arial; font-weight:bold;">
                <xsl:value-of select="State"/>
            </span>
        </td>
        <td>
            <span style="font:20px arial; font-weight:bold;">
                <xsl:value-of select="time"/>
            </span>
        </td>
    </tr>
</xsl:for-each>

网站新手,但是当我使用代码括号时,并非我的所有代码都显示出来?至少不在下面的预览中。

2 个答案:

答案 0 :(得分:7)

使用

<xsl:for-each select="NewDataSet/AgentSales[not(position() >10)]">
  <!-- Process each node from the node-list -->
</xsl:for-each>

更好

<xsl:apply-templates select="NewDataSet/AgentSales[not(position() >10)]"/>

答案 1 :(得分:2)

尝试类似:

<xsl:for-each select="NewDataSet/AgentSales">
    <xsl:if test="position() &lt;= 10">
        ...
    </xsl:if>
</xsl:for-each>