Subject: Re: [xsl] In the xquery, how do i access the counter in for-each?|
From: Brandon Ibach <brandon.ibach@xxxxxxxxxxxxxxxxxxx>
Date: Sun, 19 Jun 2011 02:35:59 -0400
You could use the "positional variable" feature of the "for" construct, but you'd get results other than what you want because the "position" is assigned before any filtering by the "where" clause and reordering by the "order by" clause. However, you could use this feature with a nested "for": for $y at $i in (for $x in doc("books.xml")/bookstore/book where $x/price>30 order by $x/title return $x/title) return concat($i, ": ", $y) -Brandon :) On Sun, Jun 19, 2011 at 12:50 AM, sudheshna iyer <sudheshnaiyer@xxxxxxxxx> wrote: > Eg: > for $x in doc("books.xml")/bookstore/book > where $x/price>30 => want the loop counter. > order by $x/title > return $x/title > > If "doc("books.xml")/bookstore/book" returns 3 elements(book1, book2, book3), > and during the looping, I want to get loop counter value. > > For the first element, I want to prepare string using loop counter like > "elem-1", and for the second, I want "elem-2" > > > Thank you for your help.