[OAI-implementers] OAI validation problem

Young,Jeff jyoung@oclc.org
Thu, 22 May 2003 16:15:34 -0400


> -----Original Message-----
> From: Xiaoming Liu [mailto:liu_x@lanl.gov]
> Sent: Thursday, May 22, 2003 3:37 AM
> To: Young,Jeff
> Cc: 'Simeon Warner'; 'OAI-implementers "(E-mail)'"
> Subject: RE: [OAI-implementers] OAI validation problem
> 
> 
> On Thu, 2003-05-22 at 11:40, Young,Jeff wrote:
> > I would argue that OAI has done an excellent job of 
> decoupling OAI responses
> > so they can stand alone. These two cases related to deleted 
> records are the
> > only exceptions to this so far.
> > 
> 
> I think all responses with "resumptionToken" cannot stand alone, they
> are basically context sensitive -- they only make sense if 
> you consider
> the original requests parameters (from, until, metadataPrefix, sets).

Yes and no. In the applications I've created so far,
ListRecords/ListIdentifiers return the entire set of records, so
resumptionTokens haven't been an issue. For example,
http://alcme.oclc.org/gsafd/OAIHandler?verb=ListRecords&metadataPrefix=z39_1
9. But, if the thesaurus was larger, I might be tempted to use
ResumptionTokens to take them from one screen full of data to the next. The
problem with this is that you can't move backwards and forwards
symmetrically. Other than that, though, it works fine without my XSLT
knowing anything about the lost parameters (other than the deleted records
problem).

But, I can play tricks with resumptionTokens that will allow me to
arbitrarily move across pages. Imagine that my resumptionTokens are based on
dividing up the ListRecords responses by the first letter of the term (e.g.
resumptionToken='a-m' followed by resumptionToken='n-z'). My
resumptionTokens are stateless, so there is no need for them to be invoked
in a particular order. If I decide to do resumptionTokens in this way, then
I can create hotlinks across the top of the page that allow users to jump to
any arbitrary letter of the alphabet. My thesaurus can be as large as I
want, and I can divide them up in any way I want. The lost parameters are
irrelevant since they are implied in the stateless resumptionToken.

This isn't an ideal example for demonstrating the problem with deleted
records, but it might convince people that OAI isn't as inherently limited
as they assume.

Jeff