xsl-list
[Top] [All Lists]

Re: [xsl] In the xquery, how do i access the counter in for-each?

2011-06-19 01:36:14
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(_at_)yahoo(_dot_)com> 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.

--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>