I do an XML CGI search and get 152 results, paged into 10 results per call.
For the first page, opensearch:startIndex=1. For the second page, opensearch:startIndex=10 (!). For page N != 1, opensearch:startIndex= 10*N.
In other words, two different rules seem to be used for constructing startIndex. I've worked around this by:
Which works. But clearly that's not idealCode:startRow = startIndex; if (startRow==1) startRow=0;