RE: [xsl] Order of items in current-group()

Subject: RE: [xsl] Order of items in current-group()
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 24 Feb 2010 20:06:25 -0000
> Hope that in the next spec they will not use latin words that
> would require 5 years medical education to understand.

I never had a medical education, though I did learn some Latin in school and
in church. It's good training for anyone who wants to be a programmer. But
looking at the text of the spec here, I don't see any difficult words. I'm
actually quite pleased with the term "order of first appearance" as a way of
conveying the ordering of groups intuitively, though the formal definition
of what it means proved tricky.

In fact Vladimir's question (about the order of items within a group) is not
as well answered in the spec as I would like. For each of the four grouping
methods a procedural algorithm is given, and the order of items in a group
depends on you understanding that when items are "added to a group", they
are added at the end.

It perhaps ought to say somewhere that items within each group will always
be in population order (because they are), but I don't think it actually
says that. Though perhaps that's because it's not a meaningful thing to
assert in the case where the items in the population don't have distinct
identity (e.g. when one node appears more than once in the input sequence,
in different positions).


Michael Kay

> --
> Cheers,
> Dimitre Novatchev
> ---------------------------------------
> Truly great madness cannot be achieved without significant
> intelligence.
> ---------------------------------------
> To invent, you need a good imagination and a pile of junk
> -------------------------------------
> Never fight an inanimate object
> -------------------------------------
> You've achieved success in your field when you don't know
> whether what you're doing is work or play
> On Wed, Feb 24, 2010 at 11:02 AM, Martin Honnen
> <Martin.Honnen@xxxxxx> wrote:
> >
> > Vladimir Nesterovsky wrote:
> >
> >> Whether the xslt 2.0 spec defines the order of items in
> sequence returned from current-group() function?
> >
> > The select attribute of xsl:for-each-group selects a
> sequence of items, called the population. The order of items
> in that sequence is called the population order. When forming
> the groups, the items in the population are examined in
> population order and then, if they belong to a group, added
> to a group. So that way the order of items in the population
> determines the order of items in a group.
> >
> > --
> >
> >        Martin Honnen
> >

Current Thread