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]
Other format: [Raw text]

Re: generalized unique element


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@nag.co.uk>
Reply-To: xsl-list@lists.mulberrytech.com
To: xsl-list@lists.mulberrytech.com
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


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