Those are good ideas, Dave, and I think the schema should be flexible
enough to facilitate some client processing. But as we make changes to
the schema we should be careful not to make precipitous decisions
based on single use cases. That is not to say your idea is without
merit, it's just that we have to be careful as we proceed.
Regarding pagination in the schema, I see two options:
1) We could explicitly add @pageNumber and @totalPageNumber attributes
to all the container types.
2) We could add the <xsd:anyAttribute> element to all the container
types, which will allow us to extend the container elements with the
pagination data you are requesting.
The first option is troubling because I'm concerned that such
attributes would start to accumulate, adding unnecessary weight to a
schema that is designed to "minimize Omeka-specific metadata." The
second option is troubling because there would be no way to
standardize the pagination attributes across all XML instances,
potentially leading to parser incompatibility issues. Right now I'm
leaning toward the first option because I can see the widespread
utility of pagination data for client applications, and, moreover,
container elements are well suited to include pagination data.
This is probably a good time to explain my reasoning behind minimizing
Omeka-specific metadata in the schema. Omeka as software exists
independently from the items, files, and collections contained
therein. The fact that the Omeka web interface displays, say, 10 items
at a time is incidental to the repository as a whole. It is specific
to the particular Omeka installation.
Furthermore, it is inaccurate to think of omeka-xml as only a feed (or
syndication) format; rather it is a storage and transfer medium that
can be used as a feed. An appropriate use of the schema is to fill an
<itemContainer> with all the items needed, without pagination. However
I recognize that this is not practical, so I am open to one of the two
options above.
Jim