Subject: Re: for-each-group group-by existing and non-existing attribute
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Mon, 28 Apr 2008 18:37:03 -0400
|
First, wow! That is amazing!
How does the:
group-by=".//validation/concat(@idref,' == ',(@value,'true')[1])"
work?
I see how the o;?(@value,'true')[1] will select 'true' if no @value
exists, but how does the group-by determine the correct groups? How does
it know there is no value to do the grouping?
thanks,
-Rob
On Mon, 2008-04-28 at 23:24 +0100, David Carlisle wrote:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="2.0">
> <xsl:output indent="yes"/>
> <xsl:template match="/container">
> <test>
> <xsl:for-each-group select="*[.//validation/@idref]"
> group-by=".//validation/concat(@idref,' ==
> ',(@value,'true')[1])">
> <group condition="{current-grouping-key()}">
> <xsl:copy-of select="current-group()"/>
> </group>
> </xsl:for-each-group>
> </test>
> </xsl:template>
> </xsl:stylesheet>
|