[OAI-implementers] OAI Identifier Resolver (revised)

Young,Jeff jyoung@oclc.org
Mon, 20 Oct 2003 10:18:09 -0400


I changed the operation of the OAI Identifier Resolver slightly and added
new functionality. Here are the new and improved examples::
 
Basic URL (just like before):
http://purl.org/oai/oai:VTETD:etd-06152001-152749 - implicit oai_dc
GetRecord
 
This basic URL can then be appended as needed to obtain various views of the
item. 
 
The following examples are like before, but use "?ext" instead of ".ext" as
the switch.
 
http://purl.org/oai/oai:VTETD:etd-06152001-152749?ListMetadataFormats
http://purl.org/oai/oai:VTETD:etd-06152001-152749?oai_dc - explicit oai_dc
GetRecord
http://purl.org/oai/oai:VTETD:etd-06152001-152749?oai_marc - explicit
oai_marc GetRecord
http://purl.org/oai/oai:VTETD:etd-06152001-152749?POI - A redirect to the
first resolvable dc:identifier in the oai_dc GetRecord.
 
The following examples represent new functionality. The ".ext" is like the
"?ext" version except that it resovles to the content of the <metadata>
element in the GetRecord response rather than the entire GetRecord response:
http://purl.org/oai/oai:VTETD:etd-06152001-152749.oai_dc - The oai_dc record
without the OAI wrapper
http://purl.org/oai/oai:VTETD:etd-06152001-152749.oai_marc - The oai_marc
record without the OAI wrapper
 
What's cool about this new feature is that you can now store XML content in
an OAI repository and access it with natural looking URLs (see the last
example in the list). Here is an example of an XHTML document stored in an
OAI repository:
http://purl.org/oai/test/xhtmlTest - An implicit oai_dc GetRecord response
describing a xhtml document.
http://purl.org/oai/test/xhtmlTest?oai_dc - An explicit oai_dc GetRecord
response
http://purl.org/oai/test/xhtmlTest?xhtml - An OAI GetRecord response for the
same item in xhtml format
http://purl.org/oai/test/xhtmlTest.xhtml - The XHTML document itself.
 
Here is an example of an XML Schema document stored in an OAI repository:
http://purl.org/oai/test/xsdTest - An oai_dc GetRecord response describing
an XML Schema document
http://purl.org/oai/test/xsdTest?xsd - An OAI GetRecord response for the
same item in xsd format
http://purl.org/oai/test/xsdTest.xsd - The XML Schema document itself
 
Note that this also works for the Handle example which was causing problems
earlier:
 
http://purl.org/oai/hpds1.mit.edu/hdl:1721.1/659 - Implied oai_dc GetRecord
response
http://purl.org/oai/hpds1.mit.edu/hdl:1721.1/659?ListMetadataFormats
http://purl.org/oai/hpds1.mit.edu/hdl:1721.1/659?oai_dc - explicit oai_dc
GetRecord response
http://purl.org/oai/hpds1.mit.edu/hdl:1721.1/659?POI - a redirect to the
first resolvable dc:identifier
http://purl.org/oai/hpds1.mit.edu/hdl:1721.1/659.oai_dc - The oai_dc content
without the OAI wrapper.
 
The reason the Handle example is no longer a problem is because before I was
too lazy to verify the metadataPrefix to make sure I wasn't hacking up the
identifier by mistake. This isn't a problem now because I have to get the
record anyway to pull out the <metadata> portion to send back. Now, if I
discover it is a problem, I restore the identifier and force the
metadataPrefix back to the oai_dc default and try again.
 
Jeff

---
Jeffrey A. Young
Consulting Software Engineer
Office of Research, Mail Code 710
OCLC Online Computer Library Center, Inc.
6565 Frantz Road
Dublin, OH   43017-3395
www.oclc.org

Voice:	614-764-4342
Voice:	800-848-5878, ext. 4342
Fax:	614-718-7477
Email:	jyoung@oclc.org