xslt中count属性的范围是多少?

Posted

技术标签:

【中文标题】xslt中count属性的范围是多少?【英文标题】:What is the range of count attribute in xslt? 【发布时间】:2011-09-29 07:56:31 【问题描述】:

我正在使用一个 xslt 文件来计算 XML 文件中具有特定值(以验证唯一性)并存储在 xsl 变量名中的元素的数量。此 xml 文件是以编程方式创建的,元素数量的值有时可能会超过 100 万。

由于这个高级别范围,我有点担心 xsl:variable 或 count 属性的范围限制。

不知道 xsl:variable 或 count 属性是否有限制范围(起始范围和结束范围)?

【问题讨论】:

好问题,+1。请参阅我的回答,了解详尽回答您问题的确切事实信息。 【参考方案1】:

对于大多数 XSLT 处理器,您很可能在超过 count() 函数的限制之前很久就用完了存储 XML 文档的内存。大约 1Gb 大约是您可能能够处理的最大值,并且不太可能超过大约 1000 万个节点。

【讨论】:

【参考方案2】:

XPath 2.0 使用 XML Schema 规范中定义的类型 xs:integer

3.3.13 整数

[定义:]整数是·派生· 通过固定的值从十进制 ·fractionDigits·为0和 不允许尾随小数 观点。这导致标准 整数的数学概念 数字。 整数的·值空间·无限集 ...,-2,-1,0,1,2,...。 ·基础型· 整数是十进制的。

因此,只有 XSLT 处理器的特定实现才能潜在地为其实现的 xs:integer 类型的值空间定义任何上限。

例如,Saxon XSLT 2.0 处理器实现了“大整数”类型(和大整数算法)。可以合理地期望任何整数,只要其表示适合可用内存,就可以在 Saxon 中表示和使用。

【讨论】:

【参考方案3】:

看这部分规范:http://www.w3.org/TR/xpath/#numbers

【讨论】:

【参考方案4】:

至少大多数实现都能够处理带符号的 32 位数字(大约 214 千万),所以 100 万就可以了。

【讨论】:

以上是关于xslt中count属性的范围是多少?的主要内容,如果未能解决你的问题,请参考以下文章

1、啥是数值的范围?列出的数据类型各自的范围是多少?C语言

XSLT选择当前级别不同属性的节点

VB ListBox控件的List属性与Selected属性分别为一个数组,其数组下标的范围是多少

JavaWeb---总结(十八)JSP属性范围

CPU超频范围是多少?

javaweb之jsp的属性范围