Subject: RE: Understanding XPath contains function
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sun, 30 Jul 2006 22:25:56 +0100
|
In XPath 1.0:
(A = 'B') is true if *any* A is equal to 'B'
contains(A, 'B') is true if *the first* A contains 'B' as a substring.
So if it's the second item in the set A that is equal to 'B', A='B' will be
true but contains(A, 'B') will be false.
XPath 2.0 makes it an error for the first argument of contains to be a
sequence of several items.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Ferdinand Soethe [mailto:xsl-list@xxxxxxxxxx]
> Sent: 30 July 2006 13:07
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Understanding XPath contains function
>
> I'm confused by the difference in results when running the
> following xpath expressions against the same document:
>
> /common/Oberbereich[6][.//@Kursart='Bildungsurlaub']
>
> will give me Oberbereich[6] as a result as expected (because
> it has child elements that have a Kursart-Attribute of that value.
>
> While
> /common/Oberbereich[6][contains(.//@Kursart,'Bildungsurlaub')]
> will not give me any results where it should at least give me
> the same or more results that the previous expression, should it not?
>
> Any hints much appreciated.
>
> --
> Ferdinand Soethe
|