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>
--~--