I · 03

OpenURL 0.1 vs 1.0

Two versions remain in use: the original 0.1 syntax, narrow and citation-centric, and the 1.0 framework codified by Z39.88-2004.

Two versions are in use. OpenURL 0.1 is the informal syntax published by Herbert Van de Sompel, Patrick Hochstenbach and Oren Beit-Arie (dated 16 May 2000). OpenURL 1.0 is the framework standardised as ANSI/NISO Z39.88-2004. Z39.88-2004 itself names the old syntax "NISO OpenURL Version 0.1", and its Inline transport was designed as a gentle migration path from it. Most link resolvers accept both.

OpenURL 0.1

OpenURL 0.1 grew out of the SFX work at Ghent University and was aimed at scholarly bibliographic citations. It uses a flat key/value scheme with no entity prefixes and no format identifiers.

https://resolver.example.edu/openurl?
sid=Example:Database
&genre=article
&atitle=Can+Quantum-Mechanical+Description+of+Physical+Reality+Be+Considered+Complete%3F
&title=Physical+Review
&aulast=Einstein
&date=1935
&volume=47
&issue=10
&spage=777
&id=doi:10.1103/PhysRev.47.777

Features of the 0.1 syntax:

  • No entity prefixes. atitle is the article title; in 1.0 it becomes rft.atitle.
  • One title key for the container. 0.1 uses title for the journal, book or conference title (and stitle for the abbreviation). jtitle and btitle only exist in 1.0.
  • Identifiers in id, as namespace:value. The 0.1 document defines four global namespaces: doi, pmid, bibcode and oai.
  • Source in sid, as VendorID:DatabaseID (for example sid=EBSCO:MFA).
  • Private data in pid, whose content is defined by the source. A pid requires a sid.
  • Genres: journal, book, conference, article, preprint, proceeding, bookitem.

OpenURL 1.0 (Z39.88-2004)

The same article as a 1.0 OpenURL using the Inline transport:

https://resolver.example.edu/openurl?
url_ver=Z39.88-2004
&ctx_ver=Z39.88-2004
&rft_val_fmt=info:ofi/fmt:kev:mtx:journal
&rfr_id=info:sid/example.com:database
&rft.genre=article
&rft.atitle=Can+Quantum-Mechanical+Description+of+Physical+Reality+Be+Considered+Complete%3F
&rft.jtitle=Physical+Review
&rft.aulast=Einstein
&rft.date=1935
&rft.volume=47
&rft.issue=10
&rft.spage=777
&rft_id=info:doi/10.1103/PhysRev.47.777
PurposeOpenURL 0.1OpenURL 1.0
Version signalnoneurl_ver=Z39.88-2004 (transport), ctx_ver=Z39.88-2004 (ContextObject)
Metadata formatimpliedrft_val_fmt=info:ofi/fmt:kev:mtx:journal (or book, dissertation, …)
Descriptive fieldsatitle, title, aulast…rft.atitle, rft.jtitle, rft.aulast…
Identifierid=doi:10.1103/…rft_id=info:doi/10.1103/…
Sourcesid=Vendor:Databaserfr_id=info:sid/domain.com:database
Private datapid=…rft_dat=… (and rfe_dat, req_dat, …)
Additional authorsnot definedrft.au (repeatable)
Other entitiesnoneReferringEntity, Requester, ServiceType, Resolver, Referrer

Detecting the version

Resolvers usually treat a request as 1.0 if it contains url_ver=Z39.88-2004 or ctx_ver=Z39.88-2004, or any entity-prefixed key such as rft_val_fmt, and as 0.1 otherwise. The KEV implementation guidelines describe "hybrid" OpenURLs that carry both sets of keys during migration; a resolver that understands 1.0 uses the prefixed keys and can ignore the rest as foreign keys.

Why 0.1 is still around

  • It is shorter and easy to build by hand.
  • Many databases and citation tools were written against 0.1 and never migrated.
  • Resolvers kept accepting it, so there was little pressure to change.

New implementations should emit 1.0. Software that consumes OpenURLs should accept both, including hybrids. The parser on this site recognises both forms.

Sources