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

Re: Expression Logic Problem

Subject: Re: Expression Logic Problem
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Thu, 01 Aug 2002 02:02:46 +0200
sibling field attribute
1. preceding-sibling:

Instead of <xsl:if test="self::node()[1]"> use <xsl:if
test="not(preceding-sibling::field/@id = @id)">

won't this return the very first field in document order?


No, it only tests whether there is not a preceding-sibling field element, which has the same @id like the current one.

You can write "not(preceding-sibling::field[@id = current()/@id])" if you want.


It is my understanding that if you have:

<a>
  <f id="1"/>
  <f id="2"/>
  <f id="2"/>
</a>

and you happen to be on the 3rd f node you would get:

preceding-sibling::field/@id=1

and current()/@id=2

but if you use:

preceding-sibling::field[1]/@id=2

Is this wrong?

It's not soo wrong ;-) All your statements are correct when using <xsl:value-of select="..."/>. And they were correct if I had used "preceding-sibling::field/@id != @id.


In the example above the node set of all id attributes of all preceding-sibling field elements are compared with the node set of the id attribute of the current node.

It obtains for the usage of not(): it's true if no value in node set 1 is equal to a value in node set 2.

While for != : it's true if one value in node set 1 is not equal to the values in node set 2.

If I'm wrong or unprecise please correct me.

Regards,

Joerg


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.