[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: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Wed, 11 Sep 2002 15:47:13 +0100
RE:  generalized unique element
> if i have to put a condition that name of the current 
> element(any element) 
> is not the same of any of the preceding elements ..how do i proceed 
> further..
> i cant get my heads on this..
> 
> tried doing something like..
> <xsl:if test="not(name(.) = preceding::node()/name())">
> 
> I am sure the above line is a mistake.

It is indeed a mistake. When the operands to "=" are node-sets, the
operator means "if any node on the left has the same string-value as a
node on the right". But XPath 1.0 doesn't allow sets of strings, and
preceding-node()/name() is therefore meaningless (and wrong).

There isn't an existential test of the kind you are looking for in XPath
1.0. This is why Muenchian grouping was invented, it achieves the
required effect using keys.

It all gets easier in XPath 2.0, where you can write

<xsl:if test="every $x in preceding-sibling::*
              satisfies name($x) != name(.)">

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 


 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.