[OAI-implementers] Re: [oai-alpha] Re: Help!

Simeon Warner simeon@lanl.gov
Sat, 27 Jan 2001 08:37:12 -0700 (MST)

On Sat, 27 Jan 2001, ePrints Support wrote:

> (from oai-alpha)
> On Fri, Jan 26, 2001 at 06:26:33PM -0700, Simeon Warner wrote:
> > I agree that the following can be illegal in fairly obvious
> > ways:
> >   from & until     (illegal dates)
> >   identifier       (illegal uri)
> >   resumptionToken  (spec says illegal use and expired will give 400)
> > 
> > However, according to the schemas of verbs that return values that
> > will be used for set and metadataPrefix, they also be illegal: 
> >   set              (doesn't match "([a-zA-Z0-9_])+(:[A-Za-z0-9]+)*")
> >   metadataPrefix   (doesn't match "[a-zA-Z0-9_]+")
> from & until: Illegal dates (I agree)
> identifier: what's an illegal uri? 
>    a) one which dosn't match oai:[a-z]+:.*    (regexp may be slightly off)
> or 
>    b) one which dosn't match oai:nameofarchive:.*
> I suggest (a) - it's possible that an archive could mirror OAI records
> from another archive AS WELL as it's own. (Isn't it?)

My feeling was that only a) qualifies for a 400 response.
> resumptionToken: If an archive dosn't support this
>    then I suppose it should always give a 400 error.
> Isn't there an 'expired' return code in http? it's confusing giving
> the same response for 'illegal' and 'expired'

The spec says there should be 400 in both cases. Any sensible 
harvester will know that it is giving back a once-valid 
resumptionToken and hence 400 => expired.
> set: not matching [a-zA-Z0-9_])+(:[A-Za-z0-9]+)* is a 400 error but
>    how about a set which passes the spec but isn't in the archive?
> I suggest it just returns a header with no results in that case.

The second case should certainly return header with no results, only
illegal value (not matching regexp) gives 400.
> metadataPrefix: similar. Not matching [a-zA-Z0-9_]+ is illegal (400)
>    but what happens if it passes the regexp but isn't in the list
>    supported the archive?
> Again, I suggest it just returns a header with no results in this case.

Again, unrecognized/unsupported should return header with no results,
only illegal value gives 400.
> Other queries:
>    oai_dc: When should we put a 'oai_' before the metadataPrefix,
>    exactly what does it mean (why isn't it just dc?)

My understanding is that the metadataPrefixes are simply strings
returned by ListMetadataFormats which may be reused in requests
that specify a metadataPrefix to request metedata according the
corresponding schema in the ListMetadataFormats response.
Further, 'oai_dc' is the name oai has chosen to refer to dc
by (and everyone must support it and not call it 'wibble'
instead). Given that the metadataPrefixes are just shorthand
names to refer to the schema, I don't know why it was necessary
to add the 'oai_'.    
>    inside <metadata></metadata> is ANYTHING defined by OAI or
>    is everything, including the initial tags <dc></dc> and namespace
>    etc. defined by the metadata standard?

As far as I understand it (which is not really very well), everything
from the initial <dc ...> tag to the </dc> is specified by the
dc schema (http://www.openarchives.org/OAI/dc.xsd), or other
schema for other metadata formats. In the dc schema it says:

 <element name="dc" type="dc:dublincoreType"/>


> -- 
> Christopher Gutteridge 
> ePrints Technical Support
> support@eprints.org
> _______________________________________________
> OAI-implementers mailing list
> OAI-implementers@oaisrv.nsdl.cornell.edu
> http://oaisrv.nsdl.cornell.edu/mailman/listinfo/oai-implementers