Re: [xsl] Question about grouping

Subject: Re: [xsl] Question about grouping
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Fri, 24 Sep 2010 12:14:09 -0400
Hi,

At 02:51 AM 9/24/2010, Mike wrote:
Both methods

count(A) = count(A|B)

and

generate-id(A) = generate-id(B)

are perfectly acceptable and "standard" ways of comparing node identity in XSLT 1.0. Years ago Jeni did some measurements and found that in some processors the first was faster, in others the second was faster. Both are in common use.

Also, the count(A)=count(A|B) method is a particular case of a more general set of methods for node set operations that aren't directly supported in XPath 1.0.


For example, $A[count(.|$B)=count($B)] is a way of performing node set intersection, where both $A and $B can be sets of more than one. And $A(count(.|$B)!=count($B)) is an 'except'.

Fortunately, all these are unnecessary in XPath 2.0

The generate-id(.) method may be a little easier to get your head around, at least once you've mastered what the generate-id() does. (But then you learn the other idiom too.)

Cheers,
Wendell



======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

Current Thread