xsl-list
[Top] [All Lists]

Re: [xsl] "not a node item" inside distinct-values

2006-06-08 08:56:10
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>
--~--