Re: [xsl] for-each-group group-by existing and non-existing attribute

Subject: Re: [xsl] 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>

Current Thread