Subject:Incremental line counts Author:Dominic Vieira Date:04 Jul 2007 03:18 PM
Hi, I need to output a continous line number count for each detail record in a FLWOR block. From reading tech docs I understand global variables can only be assigned with a let statement but not incremented within FLWOR block. Is there a way that I can still output a row count?
Subject:Incremental line counts Author:(Deleted User) Date:06 Jul 2007 08:58 AM
Hi Dominic,
you can keep a count of the items in the FLWOR block by using the 'at' keyword:
for $i at $index in ....
return ....
The $index variable will be incremented at each iteration; if you have multiple 'for' loops you will have to multiply them to have the current index; if you have more complex FLWOR (with 'order by' or 'where' clauses) you will have to assign the result of the FLWOR to a sequence, and then use another FLWOR to iterate over that one.
Subject:Incremental line counts Author:Dominic Vieira Date:10 Jul 2007 11:36 AM
Thanks Alberto.
What if I want to maintain a counter which may not be one to one with the number of detail records rather incremented based on a condition?
Subject:Incremental line counts Author:Minollo I. Date:10 Jul 2007 01:53 PM
You would have most likely to use a recursive approach; XQuery being a side effect free language, you can't do variable assignments the way you would do in languages like Java or C/C++.