Magnus, this is done because categories (as well as all other lists)
are potentially huge in size, and might require paging. You do not
want to be in a situation where you asked for many titles, but only
retrieved some of the data for just the first - because then you will
have to continue from that point, plus re-submit all other items.
Now imagine that a generator made that list - so every time the
generator will have to remake that list, just so that the query may
continue from the parts of the first item.
All this may create extremely in-efficient execution. Hence, it is
easier for the client to make one request to get a list of categories,
and more requests to get info for each category.
On 7/16/07, Magnus Manske <magnusmanske(a)googlemail.com> wrote:
I want use the api to list all pages that are in any of the categories
which are in Category:Category_redirects on commons. So I tried
but apparently it's not that easy...
IMHO "list=categorymembers" should not insist on "cmcategory", but
rather try to fall back to the generator list.
Additionally, the 500 limit could be imposed on the actual output; as
the generator is internal, it could have 5000 or unlimited (depending
Mediawiki-api mailing list