This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


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"
>use="concat(generate-id(..),@itemid)"
>/>
>
>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@CraneSoftwrights.com
Crane Softwrights Ltd.             http://www.CraneSoftwrights.com/s/
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? http://www.xml.com/pub/2000/08/holman
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:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]