Published on One Big Library. (http://onebiglibrary.net)
OpenURL over OpenSearch using Parameter extension
By dchud
Created 2006-12-07 15:27

I will get back to the ZeroConfMetaOpenSearch series soon. But before I could go much further, I had to try this first.

Here's what the OpenURL KEV format for journal and journal article reference queries [1] might look like if it were to follow OpenSearch 1.1 Draft 3 [2]. More to the point, this is what the block specifying the journal KEV params might look like inside the OpenSearch description response if it were to use the Parameter [3] extension.

<Url xmlns:parameters="http://a9.com/-/spec/opensearch/extensions/parameters/1.0/"
     type="text/html"
     template="http://example.com/search">
  <parameters:Parameter name="q" value="{searchTerms}"/>
  <parameters:Parameter name="count" value="{itemsPerPage?}" minimum="0"/>
  <parameters:Parameter name="start" value="{startIndex?}" minimum="0"/>
  <parameters:Parameter name="aulast" value="{aulast?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="aufirst" value="{aufirst?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="auinit" value="{auinit?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="auinit1" value="{auinit1?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="auinitm" value="{auinitm?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="ausuffix" value="{ausuffix?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="au" value="{au?}" minimum="0" maximum="*"/>
  <parameters:Parameter name="aucorp" value="{aucorp?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="atitle" value="{atitle?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="title" value="{title?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="jtitle" value="{jtitle?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="stitle" value="{stitle?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="date" value="{date?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="chron" value="{chron?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="ssn" value="{ssn?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="quarter" value="{quarter?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="volume" value="{volume?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="part" value="{part?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="issue" value="{issue?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="spage" value="{spage?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="epage" value="{epage?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="pages" value="{pages?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="artnum" value="{artnum?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="issn" value="{issn?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="eissn" value="{eissn?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="isbn" value="{isbn?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="coden" value="{coden?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="sici" value="{sici?}" minimum="0" maximum="1"/>
  <parameters:Parameter name="genre" value="{genre?}" minimum="0" maximum="1"/>
</Url>

I *think* that's right. It isn't clear to me whether the q/searchTerms param is required in OpenSearch or not. If it is, then we could use it to paste through an url-encoded text representation of the reference, I suppose. If not, well, it could just be optional, or dropped entirely.

We'd still need to do work on the response record format - perhaps something might be borrowed from the IESR Metadata specs [4] and inserted into RSS2.0 or Atom responses.

What's amazing to me about OpenURL is that it's been implemented so successfully (in the sense that we had nothing before, and now we have something). That said, I repeatedly hear arguments that by defining and using more OpenURL application profiles you gain benefits through the shared OpenURL infrastructure. I don't buy that because I've never seen such benefits. If you swap out OpenURL and swap in OpenSearch and use the same application profiles, like in this example, then I could see the benefits of shared OpenSearch infrastructure.

Trackback URL for this post:

http://onebiglibrary.net/trackback/136

Source URL (retrieved on 2008-11-20 09:11): http://onebiglibrary.net/story/openurl-over-opensearch-using-parameter-extension

Links:
[1] http://alcme.oclc.org/openurl/servlet/OAIHandler/extension?verb=GetMetadata&metadataPrefix=mtx&identifier=info:ofi/fmt:kev:mtx:journal
[2] http://www.opensearch.org/Specifications/OpenSearch/1.1/Draft_3
[3] http://www.opensearch.org/Specifications/OpenSearch/Extensions/Parameter/1.0
[4] http://iesr.ac.uk/metadata/