2011-11-16 27 views
2

在XSLT2中的for-each-group語句中,焦點更改爲一組代表性元素,每組中有一個代表性元素。這意味着,例如,last()返回組的數量(因爲它等於代表性元素的數量,因此也就是焦點的「大小」)。位置()返回(基本上)組編號,因爲它是代表性元素序列中正在討論的組的代表元素的位置等。XSLT2 for each-group:有沒有辦法參考代表元素的序列?

我的問題是是否可以引用那些Xpath2語句中的代表性元素。像current-group()這樣的東西,除了包含所有代表性元素的集合(每個組中的一個)而不是來自當前組的所有元素的集合。

回答

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> 

以我的理解。

+0

謝謝,我覺得這給了我,我「我想找我在想,這樣的事情可能是一個內置的序列。 –

2

使用

current-group()[1] 

或:

current-group()[last()] 
+0

「current-group()[1]」是否僅僅爲您提供了您正在查看的組的特定(單個)代表性元素?我正在尋找所有具有代表性的元素集合。 –

+0

只需使用''在'內部''>,並將其放在一個變量中,它是'item()*'類型或更具體的類型。 –

相關問題