[xsl] Re: Re: order of UNIONs

Subject: [xsl] Re: Re: order of UNIONs
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Wed, 14 Nov 2001 21:43:00 -0800 (PST)
> But does this really make sense? select="group[21]|group[1]" means for me
> 'select the 21st group and add the 1st group'. 

It makes ***perfect sense***. Node-sets are sets. Sets do not have order. Regardless
of the order, in which you add elements, the result is the same set:

a | b  =  b | a

The above is an axiom in set theory.

What you actually need is kinda bag, or list -- these are very different structures
from sets. Both allow duplicates, and a list has order.

I think one of the major problem of the XPath 2.0 Data Model is that they do not
distinguish between lists and sets, trying somehow to say that a node-set is a kind
of list (the actual term used there was "sequence", if I remember well). The
consequences are bad problems, because some operations on lists cannot be performed
1:1 on sets, and vice versa -- not every list is a set, an operation performed on a
sequence, that is a nodeset, may not yield a nodeset, a nodeset operation performed
on a sequence that is a nodeset, may behave quite differently from the same
operation, performed on a sequence (e.g. eliminating/preserving duplicates on a
union/append operation).

Dimitre Novatchev.

Do You Yahoo!?
Find the one for you at Yahoo! Personals

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Current Thread