Re: question with using Muenchian/xsl:key (Re: sort/group/count probl em)

Subject: Re: question with using Muenchian/xsl:key (Re: sort/group/count probl em)
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 15 Nov 2000 05:27:16 -0500
At 00/11/11 23:30 +0000, David Carlisle wrote:
> key('items-by-itemid', @itemid) returns all items with the same @itemid in
> the entire XML document.  I just want all items with the same @itemid in
>  each of the itemlist element, how can I do that?

don't you just want to replace

<xsl:key name="items-by-itemid" match="item" use="@itemid"/>

by something like

<xsl:key name="items-by-itemid" match="item"

so that your key values are all specific to a given itemlist.

Not that I've tried it....

This is precisely the basis of a section of my instructor-led tutorial and exercise to do sub-tree subsetting of the xsl:key facility, but with one addition.

I teach use="concat(generate-id(subtree-root-expression),' ',value-expression)" because of the remote (but possible) synthesis of ambiguous use values. If the generated id of two nodes were "N1" and "N12", and the corresponding value expressions were coincidentally "23" and "3", then the values would be "N123" and "N123".

Since the generated id is always a name token, and the name token can never have a space character, the space is an effective delimiter to guarantee uniqueness.

I hope this helps.

..................... Ken

G. Ken Holman                    mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.   
Box 266, Kars, Ontario CANADA K0A-2E0   +1(613)489-0999   (Fax:-0995)
Web site: XSL/XML/DSSSL/SGML services, training, libraries, products.
Book: Practical Transformation Using XSLT and XPath ISBN1-894049-05-5
Article:          What is XSLT?
Next public instructor-led training:        2000-12-03/04,2001-01-27,
-                                 2001-02-21,2001-03-26,2001-04-06/07

XSL-List info and archive:

Current Thread