Re: [xsl] generalized unique element

Subject: Re: [xsl] generalized unique element
From: "Laura Jenkins" <xsl_list@xxxxxxxxxxx>
Date: Wed, 11 Sep 2002 14:09:37 +0000
Thanks david that was superb,
as u had suggested
I tried using the keys and was successful ( i referred to jeni's article )
the following is what i did..
<xsl:key match="*" use="name(.)" name="all-nodes"/>
..
...
....
.....
......
<xsl:if test="count(.| key('all-nodes', name(.))[1]) = 1">

It works fine, i however do not understand what goes on in the above line..
I would be thankful if u can please explain me the
1.use of count in the above statement.
2.especially the use of key('',xx)[1] above ..

same with doing
<xsl:if test="generate-id() = generate-id(key('all-nodes', name(.)[1])">
i understand the use of generate-id() but do not understand
key('',xx)[1]

Thanks for your help

From: David Carlisle <davidc@xxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] generalized unique element
Date: Wed, 11 Sep 2002 14:40:19 +0100

tried doing something like..
<xsl:if test="not(name(.) = preceding::node()/name())">


the / operator has to have path expressions not functions that return a string, like name(). You want the second name() to be like te first, taking the node as argument.

name(preceding::node())

unfortunately you then can't use the magic property of = to test all
elements of a node set, so you then need to use a predicate,something
like

<xsl:variable name="n" select="name(.)"/>
<xsl:if test="preceding::*[name(.)=$n]">


You mentioned though the "Meunchian method" which does the same using keys which will be quicker on large data sets


David



_____________________________________________________________________ This message has been checked for all known viruses by Star Internet delivered through the MessageLabs Virus Scanning Service. For further information visit http://www.star.net.uk/stats.asp or alternatively call Star Internet for details on the Virus Scanning Service.

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




_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx



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



Current Thread