Subject: Re: [xsl] grouping across a collection() From: James Cummings <james@xxxxxxxxxxxxxxxxx> Date: Mon, 20 Dec 2010 16:26:22 +0000 |
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. B 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"> > B <xsl:param name="node" as="node()"/> > B <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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] grouping across a collect, Michael Kay | Thread | Re: [xsl] grouping across a collect, Michael Kay |
Re: [xsl] grouping across a collect, James Cummings | Date | Re: [xsl] Novice Question - matchin, Wendell Piez |
Month |