[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: generalized unique element

Subject: Re: generalized unique element
From: "Laura Jenkins" <xsl_list@xxxxxxxxxxx>
Date: Wed, 11 Sep 2002 14:09:37 +0000
xslt count unique elements
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:  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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.