[OAI-implementers] Is this a valid OAI-PMH response?
Gary McGath
gary at hulmail.harvard.edu
Tue Jul 21 15:50:57 EDT 2009
Stuart Lewis wrote:
> Hi,
>
> We have a vendor provided system with an OAI-PMH interface. When issuing
> a ListRecords command, it returns (edited for brevity):
>
> <?xml version="1.0" encoding="UTF-8" ?>
>
> <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/
> http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
>
> <responseDate>2009-07-20T21:05:43Z</responseDate>
>
> <request verb="ListRecords" metadataPrefix="oai_dc" set="SET1">
> http://www.example.com/oai
> </request>
>
> <ListRecords>
>
> <record>
> <header>
> <identifier>oai:record:1</identifier>
> <datestamp>2009-06-30T11:29:18Z</datestamp>
> <setSpec>SET1</setSpec>
> </header>
>
> <metadata>
> <record
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:dcterms="http://purl.org/dc/terms/"
> xmlns:dc="http://purl.org/dc/elements/1.1/">
> <dc:title>Title</dc:title>
> <dc:creator>Creator</dc:creator>
> <dc:description>Description </dc:description>
> ...
> </record>
> </metadata>
>
> </ListRecords>
>
> </record>
>
> </OAI-PMH>
>
> To me this looks invalid - the <record> element within the metadata is
> not expected to be there (a <record> is defined as being the top level
> of a record, and thus contains a header and metadata). Most OAI-PMH
> interfaces I have seen put an <oai_dc:dc> wrapper around the metadata.
>
> The http://www.validome.org/ validator backs this up, and reports that:
>
> Invalid content found starting with element 'record'. One of
> '{WC[##other:"http://www.openarchives.org/OAI/2.0/"]}' is expected
>
> However our vendor is sure that this valid output, and when we checked
> it, the site passed the OAI-PMH registration validation system OK.
>
> Any advice appreciated! :)
The response is not delivering the promised metadata format. "record" is
the root tag of the metadata, according to the OAI/PMH definition. This
means that the provider is delivering metadata in a format which isn't
Dublin Core or any other standard metadata format, in spite of the cd
elements within the root element. But the request specifies
metadataPrefix="oai_dc", so the response is expected to deliver Dublin
Core. Any client that issues a request for DC metadata and gets that
response will be unable to cope with it.
--
Gary McGath
Digital Library Software Engineer
Harvard University Library Office for Information Systems
http://hul.harvard.edu/~gary/index.html
More information about the OAI-implementers
mailing list