|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] problem with XPath count()
Dear list,
There is a seemingly simple XPath problem to which I cannot find the solution. I'm hoping (or, rather, certain) that one of you can help me. I have a list of <text> elements, like so: <text>foo</text> <text>foo</text> <text>foo</text> <text>foo</text> I want to count, for each element, the number of preceding <text> elements that satisfy one or both of the following two conditions: 1) the element is the first of the list or 2) its string value begins with "x". Here is an example, with the expected number of the count after the element: <text>foo</text>B B B B B B 0B B (no preceding <text> element that satisfies either of the conditions) <text>xfoo</text>B B B B 1B B (one preceding <text> element thatB satisfies condition 1) <text>foo</text>B B B B B B 2B B (one preceding <text> element thatB satisfies condition 1 + one preceding <text> element thatB satisfies condition 2) <text>xfoo</text>B B B B B 2 B B (same as with the previous element) I thought that it would be as simple as the following: count(preceding::text[position() = 1 or substring(., 1, 1) = 'x']) But this XPath expression does not give the expected result. It gives the following: <text>foo</text>B B B B B B 0 <text>xfoo</text>B B B B 1 <text>foo</text>B B B B B B 1 <text>xfoo</text>B B B B B 2 That is, on the third element it gives "1" whereas I would expect "2". What am I misunderstanding? Thanks in advance for your help! Wolfhart
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








