XSLT限制在500?

时间:2011-03-14 11:38:26

标签: xslt

我们的客户/客户就可能的错误与我们联系,在搜索到错误后,我们找不到错误。

问题是客户端有一个留言簿,这是一个评论列表所以我们只是列出所有评论列表但由于某种原因它不能超过500. 1-499是我们收到的帖子。我已经制作了一个简单的XSLT脚本来试用它,但也不能超过500个。

这是我的测试脚本:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:msxsl="urn:schemas-microsoft-com:xslt"
 exclude-result-prefixes="msxsl">
    <xsl:output method="html" indent="yes"/>
    <xsl:template match="/">
        <ol>
            <xsl:for-each
                 select="/descendant::node[@id='6221']
                            /node[@nodeTypeAlias = 'BlogPostComment']">
                <!--<xsl:sort select="@id" order="descending" />-->
                <li>
                    <xsl:value-of select="@nodeName"/>
                    <p>
                        <xsl:value-of select="./data[@alias = 'comment']"/>
                    </p>
                </li>
            </xsl:for-each>
        </ol>
    </xsl:template>
</xsl:stylesheet>

我在使用和不使用xslt:sort的情况下尝试过该脚本,但都没有给我更多帖子。 XSLT中是否存在某种限制,使得无法在for-each中获得超过500个子节点?好的count(...)也不会超过499。在客户端站点上运行的XSLT脚本中有一个计数,它也显示为499。

  

编辑:   原来没有什么不错,除了客户端对帖子排序的id转换为字符串,因此10000节点id不再比9000节点id更大(排序明智),这些新帖子首先显示在列表中因为第一个节点的id是从6000开始的。我们只是更改了排序字段,它们都恢复正常。

1 个答案:

答案 0 :(得分:2)

不,XSLT本身没有限制,但XSLT是规范,而不是实现。也就是说,我觉得很难相信XSLT实现会对你描述的方式产生任意限制。

考虑查看源XML数据。也许是导致问题的原因。也许正在编写的数据无意中将其截断为500条记录。