[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: grouping across a collection()
Subject: Re: grouping across a collection()
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Mon, 20 Dec 2010 16:35:15 +0000
|
On 20/12/2010 16:26, James Cummings wrote:
On Mon, Dec 20, 2010 at 16:10, Michael Kay<mike@xxxxxxxxxxxx> wrote:
On 20/12/2010 15:06, James Cummings wrote:
Hi there,
I have a number of files with tei:l elements in them. So I create a
collection:
<xsl:variable name="docs" select="collection($path)"/>
and then want to iterate over the collection grouping all first lines
together, all second lines together, etc.
Something like this:
<xsl:for-each-group select="$docs//tei:l" group-by="f:position()">
...
</xsl:for-each-group>
<xsl:function name="f:position" as="xs:integer">
<xsl:param name="node" as="node()"/>
<xsl:number select="$node" level="any"/>
</xsl:function>
Oh, that seems to work! So instead of grouping by position() which
always ends up being the same, this calls a function which gets a
better xsl:number using @level='any'.
Thanks!
-James
It should of course have been group-by="f:position(.)"
Michael Kay
Saxonica
|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
RSS 2.0 |
|
Atom 0.3 |
|
|