|

(updated March 24, 2006)
Overview
Multiple resolution (MR) is the next generation of hyper-linking which moves beyond the simple one to one relationship available with the HTML anchor (<A>) tag. DOI names provide the essential infrastructure for implementing multiple resolution by supporting the
more complex data model needed to represent a collection of link targets associated with a single content object.
Our multiple resolution implementation operates in one of two modes:
1) The DOI name goes to an interim page that displays the link choices available for that DOI name 2) Mousing over a DOI name causes a pop-up menu to appear that displays the choice of available links
Each approaches operates on multiple resolution metadata attached to the DOI name (one type of data for each approach) and may be
used concurrently (e.g. enabling mode #1 does not prevent mode #2 from being used).
In order to enable mode #1 the MR data depositor simply directs that the DOI names primary URL be replaced with that of an interim
page that understands how to present the MR choices. This is performed by using a simple <property> directive in the XML as
shown in the table below. The following link is an example of how an interim page would be displayed:
Enabling mode #2 requires that links to the DOI name be built in a slightly different way than is typically done. Instead of building normal
single resolution links using the HTML anchor (<a>) tag, multiple resolution link menus are built using Java <script> tags. Two
separate lines of JavaScript are required. The first loads a common library and is typically placed in the <HEAD> section at the top at the top of the page. The second loads the individual MR menu and occurs once for each DOI name. The link text (text which a
user clicks on) must be encoded (e.g. replace spaces with %20) and passed into the resolution loader along with any desired
style directives.
Terminology Note: The URL normally associated with a DOI name as its single-resolution target has been referred to as its ‘default’
or 'prime' URL. While these two terms have often been used interchangeably, they are in fact two different concepts. The ‘default’
URL is the location to which single resolution redirects. The ‘prime’ URL is the location of the principle target location identified by
the publisher. In the past with single-resolution the ‘default’ and ‘prime’ URL have always been one in the same. However, with
multiple resolution the ‘default’ URL may point to a location different than that of the ‘prime’.
Depositing Multiple Resolution Data To CrossRef
The CrossRef schema version 3.0.3 and later (version 3.0.3 of the crosssref.xsd) support the creation of menu based and interim
page multiple resolution. This uses the <collection> and <property> elements to describe each of the potential targets available for a single DOI name. Alternatively, for DOIs that already exist depositors may create multiple resolution resource only files using the doi
resources deposit schema which is most appropriate when a third party (other than the DOI's owner) is making the MR resource
deposit. When processing a new multiple resolution deposit/update all MR data contained in the XML file will replace whatever MR data currently exists on the DOI name (this is consistent with all deposits/updates to CrossRef).
<?xml version="1.0" encoding="utf-8"?>
<doi_batch version="1.0" xmlns="http://www.crossref.org/doi_resources_schema/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.crossref.org/doi_resources_schema/1.0
http://www.crossref.org/depositSchema/doi_resources1.0.xsd" >
<head>
<doi_batch_id>less_md</doi_batch_id>
<depositor>
<name>Chuck Koscher</name>
<email_address>ckoscher@crossref.org</email_address>
</depositor>
</head>
<body>
<doi_resources>
<doi>10.1234/5678</doi>
<collection>
......
XML Header section using the DOI resources schema
A deposit form is provided to CR members who have access to a CrossRef account that can create/modify DOIs of a given prefix.
We prefer that XMl deposited here by structured to the doi MR deposit schema.
This HTML form simply uploads your XML file to a watched folder, all processing is performed by a periodic function.
-----------------
If you would like to automate a process of uploading to this form use the following fields:
Content-Disposition: form-data; name="uploaded_file"; filename="xxxxx.xml"
Content-Disposition: form-data; name="username"
Content-Disposition: form-data; name="password"
Content-Disposition: form-data; name="submit"
An example HTTP transmission:
HttpSniffer waiting for clients on port 8080...
--> C04 --> S05 ==== (33.938) Request <POST /mruploader/ HTTP/1.1>
--> C04 --> S05 POST /mruploader/ HTTP/1.1
--> C04 --> S05 Host: localhost:8080
--> C04 --> S05 User-Agent: Mozilla/5.0 Gecko/200111 Firefox/1.5.0.1
--> C04 --> S05 Accept: text/xml,application/xml,application/xhtml+xml
--> C04 --> S05 Accept-Language: en-us,en;q=0.5
--> C04 --> S05 Accept-Encoding: gzip,deflate
--> C04 --> S05 Accept-Charset: UTF-8,*
--> C04 --> S05 Keep-Alive: 300
--> C04 --> S05 Connection: keep-alive
--> C04 --> S05 Content-Type: multipart/form-data; boundary=---------------------------327672051630
--> C04 --> S05 Content-Length: 1752
--> C04 --> S05 ==== Body 1752 bytes
--> C04 --> S05 Body => -----------------------------32767205161130
Content-Disposition: form-data; name="uploaded_file"; filename="XXXXX.xml"
Content-Type: text/xml
********* this is where the XML being uploaded would be placed ********
-----------------------------32767205161130
Content-Disposition: form-data; name="username"
creftest
-----------------------------32767205161130
Content-Disposition: form-data; name="password"
xxxxxxx
-----------------------------32767205161130
Content-Disposition: form-data; name="submit"
submit
-----------------------------32767205161130--
<-- C04 <-- S05 ==== (42.359) Response 200 to <POST /mruploader/ HTTP/1.1>
<-- C04 <-- S05 HTTP/1.1 200 OK
<-- C04 <-- S05 Date: Tue, 21 Mar 2006 16:22:06 GMT
<-- C04 <-- S05 Server: Apache/2.0.55 (Unix) mod_ssl/2.0.55 OpenSSL/0.9.7a DAV/2 mod_fastcgi/2.4.
mod_jk/1.2.14 PHP/4.4.1 mod_perl/2.0.2 Perl/v5.8.5
<-- C04 <-- S05 Keep-Alive: timeout=15, max=200
<-- C04 <-- S05 Connection: Keep-Alive
<-- C04 <-- S05 Transfer-Encoding: chunked
<-- C04 <-- S05 Content-Type: text/html;charset=ISO-8859-1
<-- C04 <-- S05 ==== Body 11658 bytes
Interim Page Multiple Resolution
Sample: This sample shows the construct of the multiple resolution collection for an interim-page solution. Following each
<collection> or <item> tag are one or more <property> tags that provide detailed information about the target. For
interim-page mode there is only one <collection> element appearing at the top of the MR data structure. Here each
<item> element represents
an individual target that will be listed on the interim page.
<doi_data>
<doi>10.2136/vzj2004.0029</doi>
<timestamp>0001</timestamp>
<resource>http://vzj.scijournals.org/cgi/doi/10.2136/vzj2004.0029</resource> <!-DOI's prime URL -->
<collection>
<property type="xref:mr:list"/> <!-- top level collection directive -->
<property type="xref:mr:enable-interim-page"/>
<item>
<property type="xref:mr:label">GeoScienceWorld</property>
<resource>http://vzj.geoscienceworld.org/cgi/content/abstract/4/2/225</resource>
</item>
<item>
<property type="xref:mr:label">Soil Science Society of America</property>
<property type="xref:mr:use-prime-url"/>
</item>
</collection>
</doi_data>
Hosting Interim Pages:
CrossRef operates an interim page service that uses a template for the display of links. A specific template is selected
based on the title of the publication in which the DOI appears. The template can contain branding information for the
publication as well as graphics for each link. In addition the metadata for the item (article title, author.. etc.) will be
displayed providing confirmation that the user is viewing an appropriate response page to their click.
Interim Page Templates:
The interim page function operates as a server-side text substitution operation. A template is a simple HTML page that
uses certain markers constructed as HTML comments (e.g. <!--xxxx-->). When invoked for a DOI that has multiple
target links the interim page service will replace these markers with text appropriate for the selected DOI.
|
Marker
|
Replacement Text
|
Comment
|
| <!--doi--> |
Label 'doi:' followed by the DOI ex: "doi:10.1234/5678" |
non-tagged, can be used at any location in the template |
| <!--metadata--> |
The article title, volume, issue, page and year and the first author's name |
produced as three <tr> rows (must be inserted inside a <table> element) |
| <!--items--> |
A link to all target items |
produced as a <tr> for each link target. the <a> tag text will be the label assigned to the link during MR deposit (must be inserted inside a <table> element) |
| <!--item--> |
A link to one target item |
produced as an anchor <a> tag with the link text being the label assigned to the link. must be repeated for each known target . the order matches the order of <item> elements in the MR deposit |
| <!--link--> |
the URI to on target item |
the string "http://dx.doi.org/10.1234/5678?type=xxx" appropriate for each link target. must be repeated for each known target . the order matches the order of <item> elements in the MR deposit |
<html>
<head>
<title>Current Links for doi:<!--doi--></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body marginwidth="15" marginheight="15" leftmargin="10" topmargin="10" bgcolor="#FFFFFF">
<img src="/iPage/docs/images/vzj_journal.gif">
<hr align="left" width="400"/>
<table width="400">
<!--metadata-->
</table>
<hr align="left" width="400"/>
<table>
<tr>
<td colspan="2"> Please select from the following available links for this article:</td>
</tr>
<tr>
<td><img src="/iPage/docs/images/xref_gsw_icon.gif"></td><td><!--item--></td>
</tr>
<tr>
<td><img src="/iPage/docs/images/soil_sci_logo_lg.gif"></td><td><!--item--></td>
<tr>
</table>
</body>
</html>
Sample interim page template
NOTE: Before assigning interim page MR values to a DOI the interim page template must be uploaded to the CrossRef
servers. After constructing your template please email it to support@crossref.org.
Direct Navigation To Alternative URLs: The interim-page mode of multiple resolution is implemented using a feature
of the DOI proxy (dx.doi.org) that allows a link to specify which URL attached to a DOI to use during the redirect. In the
Handle system the normal ‘single-resolution’ default URL is given the type 'URL' . CrossRef’s interim page MR mode moves
the existing default (aka prime) URL to a position typed as ‘URL.0’. Subsequent targets are then stored as URL.1, URL.2 and
so on. A hyper link may be constructed which will bypass the interim page using the "type=" control parameter recognized
by the DOI proxy. The following example goes directly to the ‘prime’ URL.
http://dx.doi.org/10.5555/mrtestdoi?type=URL.0
If the requested URL type does not exist for the DOI the user will be shown a page stating this and will be given a link to the
default (type=URL) target.
Pop-Up Menu Based Multiple Resolution
Sample: This XML sample shows the construct of a multiple resolution collection for a menu based solution. In it there are
four top level menu items that link to specific target locations followed by two nested collections, each representing a sub-
menu. Note that the sub-menu collection is contained with an <item> tag at the upper level.
<doi_data>
<doi>10.1088/1367-2630/6/1/001</doi>
<collection>
<property type="xref:mr:menu"/>
<item>
<property type="xref:mr:submenuitem">Abstract</property>
<property type="xref:mr:message">Abstract page of article</property>
<property type="xref:mr:use-prime-url"/>
<resource>http://stacks.iop.org/1367-2630/6/1</resource>
</item>
<item>
<property type="xref:mr:submenuitem">Fulltext</property>
<property type="xref:mr:message">Adobe Acrobat version</property>
<resource>http://stacks.iop.org/1367-2630/6/1/pdf</resource>
</item>
<item>
<property type="xref:mr:submenuitem">References</property>
<property type="xref:mr:message">Reference list for this article</property>
<resource>http://stacks.iop.org/1367-2630/6/1/refs</resource>
</item>
<item>
<property type="xref:mr:submenuitem">Citing articles</property>
<property type="xref:mr:message">Articles citing this article</property>
<resource>http://www.iop.org/EJ/cites/1367-2630/6/1/001</resource>
</item>
<item>
<collection>
<property type="xref:mr:submenulabel">Author search</property>
<property type="xref:mr:message"> </property>
<item>
<property type="xref:mr:message">...</property>
<resource>http://www.iop.org/EJ/search_author</rsource>
</item>
<item>
<property type="xref:mr:submenuitem">Crossref</property>
<property type="xref:mr:message">...</property>
<resource>http://www.google.com/cobrand?restrict</resource>
</item>
<item>
<property type="xref:mr:submenuitem">Pubmed</property>
<property type="xref:mr:message">...</property>
<resource>http://www.ncbi.nlm.nih.gov/entrez/query.fcgi</resource>
</item>
</collection>
</item>
<item>
<collection>
<property type="xref:mr:submenulabel">This Journal</property>
<property type="xref:mr:message"> </property>
<item>
<property type="xref:mr:submenuitem">About this journal</property>
<property type="xref:mr:message">Journal home page</property>
<resource>http://stacks.iop.org/1367-2630</resource>
</item>
<item>
<property type="xref:mr:submenuitem">Pricing and ordering</property>
<property type="xref:mr:message">Pricing and ordering information for this journal</property>
<resource>http://www.iop.org/EJ/journal/-page=order/1367-2630/6</resource>
</item>
<item>
<property type="xref:mr:submenuitem">Submit an article</property>
<property type="xref:mr:message">Submit an article to this journal</property>
<resource>http://atom.iop.org/atom/usermgmt.nsf/WebSubmission?OpenForm...</resource>
</item>
<item>
<property type="xref:mr:submenuitem">Free content</property>
<property type="xref:mr:message">This Months Papers</property>
<resource>http://www.iop.org/EJ/toc/-ff30=all/-ffissn=1367-2630</resource>
</item>
</collection>
</item>
</collection>
</doi_data>
View the resulting menu here:
Building pop-up menu links
Having a pop-up menu appear over a DOI link requires some special coding on the HTML page. This involves replacing the
normal anchor tag with some Java script. The required Java script code is available from CrossRef.
Normal single resolution link built with the anchor tag
<a href="http://dx.doi.org/10.5555/sample-doi">The Link Text</a>
Multiple resolution links build with script tags
<script src="http://www.crossref.org/MRLoader/milonic_src.js"><script>
<script src="http://www.crossref.org/MRLoader/MR/10.5555/sampledoi?The%20Link%20Text"></script>
The first script tag must be placed on the page once, and is typically placed in the <head> section at the top of the page.
The second line must appear for each DOI link on the page that is to show a pop-up menu.
- Note: DOIs that have menu MR data attached in the Handle system will behave as normal single resolution links if
the HTML link uses the basic <a> (anchor) tag.
Stylizing the pop-up menu may be accomplished by including style directives in the link's <script> tag. The directives
supported are a subset of the CSS style attributes (please contact support@crossref.org for more information)
- <script src="http://www.crossref.org/MRLoader/MR/10.5555/mrtestdoi?With+Style&
fontsize=100%;offbgcolor=black;offcolor=white;bordercolor=red;
separatorcolor=red"></script>
MR Menu without any styling:
MR Menu with styling applied:
Multiple Resolution <property> Control Values
[Note: the recognized set of property types has been extensively changed since first proposed. They are no much less restrictive and allow easier construction of multi-level menus. The CrossRef implementation currently limits nested
menus to 5 levels.
The 'type' attribute on the <property> element is used to define what each target option is and to supply specific control
over the MR deposit process.
|
Property Tag Location
|
Function
|
Comment
|
|
Top most property tag directly below the first <collection> element. Possible type values:
1) xref:mr:menu
2) xref:mr:list
3) xref:url
|
Defines the purpose of the <collection> data set and controls how CrossRef processes the data.
xref:mr:menu => all items will be treated as the individual components in a menu
xref:mr:list => all items will appear as link on an iterim-page
xref:mr:url => no current multiple resolution use
|
If interim page and menu MR modes are both desired use a xref:mr:menu property in one <collection> structure and and xref:mr:list in a separate <collection>.
Tag content is not processed.
|
|
Second property tag listed below the first <collection> element. Possible type values:
1) xref:mr:enable-interim-page
2) xref:mr:disable-interim-page
|
Controls the use of an interim page. When enabled the default URL (the prime) will be saved to URL.0 and the default URL is replaced with the interim page URL. Disabling will restore the DOI’s original default (aka. prime) URL.
|
Use of this tag is optional.
Tag content is not processed.
|
|
First property tag listed below any <item> element. Possible type values:
1) xref:mr:label
2) xref:mr:submenuitem
|
For an interim-page mode use xref:mr:label. For menu based multiple resolution use xref:mr:submenuitem.
|
Tag content contains the label text that will be the link appearing on the interim-page. For menu MR the content becomes the menu label.
|
|
First property tag listed below any lower level <collection> element. Possible type values:
1) xref:mr:submenulabel
|
Menu based multiple resolution allows nested collections which define sub-menus that cascade off a parent item.
|
Nested collection elements are only used in menu base multiple resolution. The interim-page mode only supports one level of items.
The tag content becomes the sub menu label placed in the parent menu.
|
|
Second (or later) property tag listed under any <item> element or under any lower level (nested) <collection> element. Possible type values:
1) xref:mr:message
|
A simple directive that specifies the status bar message to appear in the user's browse when the mouse is placed over the item
|
The tag content becomes status bar message.
Note: not all browsers support this function
|
|
Second (or later) property tag listed under any <item> element. Possible values:
1) xref:mr:use-prime-url
|
A simple directive that specifies the use of the prime-URL for re-use in the multiple resolution menu context
content: none
|
(see terminology note above) Using this property eliminates the need to re-enter the 'prime' URL for use by an item (e.g. no <resource> tag is needed)
|
XML Samples
The following samples show how to achieve certain objectives when building multiple resolution (MR) related XML deposits.
Note: as with all metadata deposits to CrossRef, MR deposits will overwrite any MR metdata from a previous deposit but NOT other metadata associated with the DOI (the bibliographic metadata and the prime URL). Also, pop-up menu MR
metadata is separate from interim page MR metadata, the deposit of one type will not effect the other.
MR metadata is defined as that data occurring within a <collection> under a <doi_mr_resources> or a <doi_data>.
The deposit of a DOI with normal bibliographic metadata uses the following type of structure:
<journal_article>
<titles>....
<contributors>....
....
<doi_data>
<doi>10.1234/5678</doi>
<resource>http://abc.com/path/file</resource>
<doi_data>
<journal_article>
In the above sample the <resource> element contains the single-resolution target which is also know as the 'prime' URL.
MR targets could be included by inserting a <collection> element after the <resource>.
Otherwise MR metadata may be deposited without having to supply the normal bibliographic metadata. This uses the
simpler DOI resources deposit schema mentioned above:
<doi_resources>
<doi>10.1234/5678</doi>
<collection>
....
</collection>
<doi_resource>
Depositing pop-up menu Vs interim page MR metadata
The MR metadata type is defined by the value of the first <property> tag occurring inside the outer-most <collection>. One of the following property constructs must appear immediately within the outer-most <collection> element.
<property type="xref:mr:list"/>
<property type="xref:mr:menu/>
Controlling the use of the interim page service
Turning on the use of the interim page service is accomplished by using the 'enable-interim-page' property as shown below. This moves the prime URL into a specific slot (type=0) in the DOI list of targets and replaces the default URL with that of the interim page.
<doi_resources>
<doi>10.1130/B25510.1</doi>
<collection>
<property type="xref:mr:list"/> <!-- top level collection directive -->
<property type="xref:mr:enable-interim-page"/>
<item>
.....
Turing off the interim page service is accomplished using the 'disable-interim-page' property. This will move the original prime URL back into the default position.
<doi_resources>
<doi>10.50505/mrtestdoi5</doi>
<collection>
<property type="xref:mr:list"/>
<property type="xref:mr:disable-interim-page"/>
</collection>
</doi_resources>
Adding/removing MR menu metadata
Adding menu MR metadata is accomplished using the 'xref:mr:menu' property followed by the menu metadata
<collection>
<property type="xref:mr:menu"/> <!-- at the top level there is no need for a label -->
<item>
<property type="xref:mr:submenuitem">Abstract</property> <!-- label is typically the publisher's name -->
<resource>http://some.address.com/path/filename.html</resource>
<property type="xref:mr:message">Abstract page of article</property>
</item>
<item>
......
Removing menu MR metadata is accomplished using the 'xref:mr:menu' property inside an empty collection (e.g. without any <item> tags)
<doi_resources>
<doi>10.50505/mrtestdoi5</doi>
<collection>
<property type="xref:mr:menu"/>
</collection>
</doi_resources>
Using the URL of the prime target
Often MR metadata will be constructed and deposited by third parties that do not know the prime target's URL for the DOI. In these situations the property type 'xref:mr:use-prime-url' may be used. In the example below the menu item "Abstract" will link to the URL originally assigned as the single resolution 'prime' URL.
<collection>
<property type="xref:mr:menu"/>
<item>
<property type="xref:mr:submenuitem">Abstract</property>
<property type="xref:mr:use-prime-url"/>
<property type="xref:mr:message">Abstract page of article</property>
</item>
...

|