xslt 2.0 中的 xs:decimal
和 number
有什么区别?
在 XSLT 和 XPath 1.0 中,只有一个数字类型,双精度浮点数。XSLT 和 XPath 2.0 具有更丰富的类型系统,取自 W3C XML 架构语言(并部分扩展了该类型系统)。
xs:decimal
在 XSLT 和 XPath 2.0 中既是类型又是构造函数,因此您可以在指定序列类型的地方使用它,例如在 as
属性中(例如 <xsl:param name="input" as="xs:decimal"/>
),以及在任何 XPath 表达式中将值转换为xs:decimal
值,例如 <xsl:variable name="input" select="xs:decimal(//foo)"/>
.
[number][2]
函数自 XSLT 和 XPath 1.0 以来就存在,并将其参数转换为双精度浮点数,在 XSLT 和 XPath 2.0 类型系统中由类型表示xs:double
例如 <xsl:variable name="input" select="number(//foo)"/>
.在 XPath 和 XSLT 2.0 中还有一个构造函数xs:double
。