xsl-list
[Top] [All Lists]

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

2008-04-28 15:37:12
First, wow! That is amazing!

How does the:
group-by=".//validation/concat(@idref,' == ',(@value,'true')[1])"
work?

I see how the (@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>


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--