4

我想知道节点集和序列有何不同。为什么在 xslt 2.0 中认为序列更好?有人可以给我一个节点集的示例(带有选择属性)以及如何将其转换为序列吗?

4

2 回答 2

5

XSLT 2.0 中的序列是 XSLT 1.0 中节点集的概括。它们在两个方面有所不同

(a) 它们可以包含节点以外的东西:例如,你可以有一个字符串或整数序列

(b) 它们可以包含重复项,并且可以包含任何顺序的节点(节点集是无序的)。

不可能将节点集转换为序列,原因很简单,XSLT 1.0 只有节点集,而 XSLT 2.0 只有序列:/a/b在 XSLT 1.0 中返回节点集的表达式将返回序列XSLT 2.0。

(如果需要,您可以使用术语“节点集”来指代完全由节点组成的任何序列,其中没有重复项,并且节点始终按文档顺序排列。但该术语不是由 2.0 规范使用。)

于 2012-06-28T20:28:50.717 回答
2

对于 XSLT/XPath 1.0,位置路径返回一个节点集 ( http://www.w3.org/TR/xpath/#node-sets ),对于 XSLT/XPath 2.0,一个路径表达式 ( http://www.w3. org/TR/xpath20/#id-path-expressions)返回一个项目序列,其中项目可以是节点或原子值。XSLT/XPath 2.0 没有节点集,因此我无法提供如何将节点集转换为序列的示例。

于 2012-06-28T17:52:22.870 回答