Re: [xsl] Expression Logic Problem

Subject: Re: [xsl] Expression Logic Problem
From: "Robert S. Koberg" <rob@xxxxxxxxxx>
Date: Wed, 31 Jul 2002 16:25:14 -0700
Joerg Heinicke wrote:
From Joerg's example:

 >
 > 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?


best, -Rob



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?

-Rob



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


Current Thread