|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: xslt 2 grouping
> Mike wrote:
> > The XSLT 2.0 solution (untested) is:
> >
> > <xsl:for-each-group select="e1" group-by=".">
> > <e1 name="{.}">
> > <xsl:for-each-group select="current-group()" group-by="@att">
> > <xsl:value-of select="concat(@att, ' ')"/>
> > </xsl:for-each>
> > </e1>
> > </xsl:for-each>
> >
> > You could also use distinct-values().
>
> Hint :-) How please?
>
I don't remember the problem well enough to be specific. But
distinct-values() (not implemented yet in Saxon 7.1) applied to a set of
nodes gives you a subset of those nodes in which no two nodes are
deep-equal to each other. Deep equality is a new concept in XPath 2.0,
for example <n>Michael <s>Kay</s></n> and <n>Michael Kay</n> have the
same string-value, but they are not deep-equal, and are therefore
considered distinct for the purpose of the distinct-values() function.
The XSLT 2.0 grouping facilities do not (at present) use deep equality,
the above example will use string equality, but you could ask for
numeric equality if you wanted.
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








