On 6/8/06, David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk> wrote:
but if
you find yourself doing this:
> <xsl:for-each select="distinct-values(//item/@racknum)">
> <xsl:variable name="rack-num" select="."/>
> <xsl:variable name="pocket-num" select="//item[./@racknum =
> $rack-num and position() = last()]"/>
9 times out of 10 its easier (and probably more efficient) to do
<xsl:for-each-group select="//item" group-by="@racknum">
As I also pointed in another similar thread yesterday.
distinct-values() can sometimes be confusing (AFAIR there is
atomization involved, and, of course, context is lost).
To summarize: the result of distinct-values() is that you get an
unordered! bunch of scalar values. Context is lost. Any order is lost.
You have to either:
manually maintain context and re-establish order, or
better, use xsl:for-each-group
--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
--~------------------------------------------------------------------
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>
--~--