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: Expression Logic Problem


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


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