From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com]
Sent: Wednesday, June 30, 2010 05:40 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Determine position in node sequence based on
criteria
In XQuery you could do
for $s at $p in ../s where matches($s/@c, '^[ab]$') and matches($s,
$re)
return $p
The nearest equivalent in XPath 2.0 is
for $p in 1 to count(../s), $s in (../s)[$p] return
if (matches($s/@c, '^[ab]$') and matches($s, $re)) then $p else ()
But I agree it's rather cumbersome.
Agreed. It seems like it would be real handy to have position() take
an argument:
position(../s[])
and return the position of the matching items... or loosen the
restrictions on position() in a for expression, or have a different
function where you could get the position in a for expression:
for $i in ../s
if (...) then $i/position() else ()
Thanks, Andy.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--