3

在 XSLT2 中的 for-each-group 语句中,焦点变为一组具有代表性的元素,每个组中一个。这意味着,例如,last() 返回组的数量(因为它等于代表元素的数量,因此等于焦点的“大小”)。Position() 返回(本质上)组号,因为它是代表元素序列中正在讨论的组的代表元素的位置,等等。

我的问题是是否可以在 Xpath2 语句中引用这些代表性元素的集合。类似于 current-group() 的东西,除了包含所有代表元素的集合(每个组一个)而不是当前组的所有元素的集合。

4

2 回答 2

2

在 for-each-group 内部,您处理每个组而不是所有组。因此,要找到您需要的所有组中的第一项

<xsl:variable name="reps" as="node()*">
  <xsl:for-each-group select="foo" group-by="bar">
    <xsl:sequence select="."/>
  </xsl:for-each-group>
</xsl:variable>

在我的理解中。

于 2011-11-16T13:47:40.660 回答
2

使用

current-group()[1]

或者:

current-group()[last()]
于 2011-11-16T14:07:57.817 回答