<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>2008 on Crossref</title><link>https://www-crossref-org.pluma.sjfc.edu/archives/2008/</link><description>Recent content in 2008 on Crossref</description><generator>Hugo 0.139.4</generator><language>en-us</language><managingEditor>support@crossref.org (Crossref/Cazinc/Benoît Benedetti)</managingEditor><webMaster>support@crossref.org (Crossref/Cazinc/Benoît Benedetti)</webMaster><lastBuildDate>Mon, 22 Dec 2008 00:00:00 +0000</lastBuildDate><atom:link href="https://www-crossref-org.pluma.sjfc.edu/archives/2008/" rel="self" type="application/rss+xml"/><item><title>And the DOI is &amp;#8230;</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/and-the-doi-is/</link><pubDate>Mon, 22 Dec 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/and-the-doi-is/</guid><description>&lt;p>Once structured metadata is added to a file then retrieving a given metadata element is usually a doddle. For example, for PDFs with embedded XMP one can use Phil Harvey’s excellent &lt;a href="https://exiftool.org/" target="_blank">Exiftool&lt;/a> utility.&lt;/p>
&lt;p>Exiftool is a Perl library and application which I’ve blogged about &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/exiftool/">here&lt;/a> earlier which is available as a ‘&lt;code>.zip&lt;/code>‘ file for Windows (no Perl required) or ‘&lt;code>.dmg&lt;/code>‘ for MacOS. Note that Phil maintains this actively and has done so over the last five years. (And when I say actively I mean just that. I once made the mistake of printing out the change file.)&lt;/p>
&lt;p>If Perl’s not your thing, then there’s a Ruby wrapper gem (&lt;a href="https://exiftool.org/" target="_blank">MiniExiftool&lt;/a>) to access the Exiftool command in trouper OO fashion. Here’s an example Ruby one-liner to get the DOI from a PDF (broken here to meet column width restriction):&lt;/p>
&lt;blockquote>
&lt;p>&lt;code>% ruby -rubygems -e 'require &amp;quot;mini_exiftool&amp;quot;;&amp;lt;br /&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;puts MiniExiftool.new(&amp;quot;test.pdf&amp;quot;)[&amp;quot;doi&amp;quot;]'&amp;lt;br /&amp;gt; 10.1038/nphoton.2008.200&lt;/code>&lt;/p>
&lt;/blockquote>
&lt;p>Of course, that could also have been run against an image, audio or video file with XMP packet.&lt;/p>
&lt;p>(Makes one wonder vaguely about the feasibility of having a Swiss Army knife type of utility that could read &lt;strong>&lt;em>any&lt;/em>&lt;/strong> file to get the DOI using the embedded XMP, RDFa, RDF, HTML headers, COiNS, etc. Possibly even as last resort fall back to scanning the raw text - if any.)&lt;/p></description></item><item><title>Xmas XMP</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/xmas-xmp/</link><pubDate>Fri, 19 Dec 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/xmas-xmp/</guid><description>&lt;p>Well, as I &lt;a href="https://web.archive.org/web/20070815000000*/http://blogs.nature.com.pluma.sjfc.edu/wp/nascent/2008/12/xmp_labelling_for_nature.html" target="_blank">blogged&lt;/a> on our web publishing blog &lt;a href="https://web.archive.org/web/20070815000000*/http://blogs.nature.com.pluma.sjfc.edu/wp/nascent/" target="_blank">Nascent&lt;/a> we just went live with XMP labelling on &lt;em>Nature&lt;/em> in yesterday’s double issue. We will be adding XMP to all new issues of &lt;em>Nature&lt;/em> as well as rolling out across all our other titles in the next few weeks and months.&lt;/p>
&lt;p>The screenshots below from Acrobat (&lt;em>File &amp;gt; Properties&lt;/em>, &lt;code>CMD-D&lt;/code> / &lt;code>CTL-D&lt;/code>) show what the user might see both with (bottom-left) and without (top-right) semantic markup.&lt;/p>
&lt;img alt="pdf_props.png" src="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/pdf_props.png" width="399" height="377" />
&lt;p>As to the actual contents of the metadata record, see &lt;a href="http://lists.w3.org/Archives/Public/semantic-web/2008Dec/0134.html" target="_blank">this sample&lt;/a> I posted to the semantic web list.&lt;/p></description></item><item><title>ORE/POWDER: Remarks on Ratings</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/ore-powder-remarks-on-ratings/</link><pubDate>Sat, 06 Dec 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/ore-powder-remarks-on-ratings/</guid><description>&lt;p>I wanted to make some remarks about the “Ease of use” and “Learn curve” ratings which I gave in the ORE/POWDER &lt;a href="https://web.archive.org/web/20100901074832/http://nurture.nature.com.pluma.sjfc.edu/tony/blogs/crosstech/ore-pwdr.html" target="_blank">comparison table&lt;/a> that I &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/describing-resource-sets-ore-vs-powder/">blogged&lt;/a> about here the other day. It may seem that I came out a little harsh on ORE and a little easy on POWDER. I just wanted to rationalize the justification for calling it that way. (By the way, the revised comparison table includes a qualification to those ratings.)&lt;/p>
&lt;p>My primary interest was from the perspective of a data provider rather than a data consumer. What does it take to get a resource description document (“resource map”, “description resource” or “sitemap”) ready for publication?&lt;/p>
&lt;p>(Continues)&lt;/p>
&lt;p>To look at POWDER first, it defines two sets of semantics: an “operational semantics” which is embodied in the simple XML that is intended as the primary publication vehicle, and a “formal semantics” embodied in the RDF/OWL document that would typically be generated by a POWDER processor.&lt;/p>
&lt;p>The operational semantics (XML) document requires minimal RDF understanding (and arguably none at all): it only requires that URI resources be organized into &lt;strong>&lt;iriset>&lt;/strong> groups by pattern matching, and that metadata be attached to those groups using &lt;strong>&lt;descriptorset>&lt;/strong> groups.&lt;/p>
&lt;p>URI patterns are specified using any of the following XML elements for inclusive patterns:&lt;/p>
&lt;pre tabindex="0">&lt;code>&amp;gt; **&amp;lt;includeschemes&amp;gt;**, **&amp;lt;includehosts&amp;gt;**, **&amp;lt;includeexactpaths&amp;gt;**, **&amp;lt;includepathcontains&amp;gt;**, **&amp;lt;includepathstartswith&amp;gt;**, **&amp;lt;includepathendswith&amp;gt;**, **&amp;lt;includeports&amp;gt;**, **&amp;lt;includequerycontains&amp;gt;**, **&amp;lt;includeiripattern&amp;gt;**, **&amp;lt;includeregex&amp;gt;**, **&amp;lt;includeresources&amp;gt;**
&lt;/code>&lt;/pre>&lt;p>and their exclusive counterparts&lt;/p>
&lt;p>&lt;code>**&amp;lt;excludeschemes&amp;gt;**, &amp;amp;#8230;&lt;/code>&lt;/p>
&lt;p>These are turned into corresponding regular expressions by a POWDER processor which then emits RDF/OWL classes using those expressions as property restrictions on set membership. &lt;strong>&lt;em>But a publisher is not required to understand this transformation nor the formal semantics generated from the simple XML document that was authored.&lt;/em>&lt;/strong>&lt;/p>
&lt;p>Now, as to metadata. Resource group descriptors are either free text (tags) or properties from a published namespace. For example, the property &lt;strong>name&lt;/strong> from a namespace &lt;strong>ex:&lt;/strong> would be added in one of two ways, depending on whether it were a simple literal string (“value”, say) or a resource URI:&lt;/p>
&lt;pre tabindex="0">&lt;code>http://example.org/value
&lt;/code>&lt;/pre>&lt;ul>
&lt;li>&lt;strong>&amp;lt;ex:name rdf:resource=”&lt;code>http://example.org/value&lt;/code>“/&amp;gt;&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>While technically this is RDF/XML it hardly qualifies, I think, as requiring any great knowledge of RDF, more a knowledge of XML namespaces alone would be sufficient.&lt;/p>
&lt;p>And that’s about it – all that is required for publication of a POWDER “description resource” document. (The guidelines for discovery mechanisms of a POWDER document might also need to be consulted.)&lt;/p>
&lt;p>So, on that basis I would judge POWDER to be at most “medium” on the “Learn curve”. However, as soon as the mapping to the formal semantics (POWDER-S) using RDF/OWL is considered, then that learn curve rating would automatically swing to “high”.&lt;/p>
&lt;p>Now, ORE on the other hand is a straightforward RDF application. What does make ORE a bit of a challenge are the following two aspects:&lt;/p>
&lt;pre>&lt;code> 1. concept of named aggregation
* abstract data model - no fixed bindings&amp;lt;/ol&amp;gt;
Well, the first aspect is what ORE is all about &amp;amp;ndash; its USP &amp;amp;ndash; and what it gives us beyond the simpler POWDER approach of merely describing resource bundles. Still, it’s a concept that needs to be grokked. All too easy to take it for granted.
It is the second aspect that may make ORE appear to be &amp;amp;#8220;difficult&amp;amp;#8221;. It does not prescribe a single binding or set of bindings but provides an abstract data model. That means that a prospective user must endeavour to understand something of the model before deploying.
But enough of that. Because who really reads instruction manuals anyway? So to deploy there are user guides available for one standalone document format (RDF/XML), and two carrier document formats (Atom, RDFa). That means right there that the publisher must either embrace RDF/XML or learn how to weave it into an existing document markup. (By the way, it should be remarked that there is an excellent [primer][3] available - as there is also for POWDER - and user guides for each of the formats.)
So that I think warrants the &amp;amp;#8220;high&amp;amp;#8221; rating for ORE on the learn curve, and the corresponding &amp;amp;#8220;low&amp;amp;#8221; ease of use. But that is not to say that the two initiatives are in any competition and that one should be favoured over the other. They serve different purposes. Any yet they may also have compatibilities as the previous [mapping of ORE in POWDER][4] attempts to show. I’ll leave that task for other commentators.
&lt;/code>&lt;/pre></description></item><item><title>Resource Maps Encoded in POWDER</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/resource-maps-encoded-in-powder/</link><pubDate>Fri, 05 Dec 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/resource-maps-encoded-in-powder/</guid><description>&lt;p>Following right on from &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/describing-resource-sets-ore-vs-powder/">yesterday’s post&lt;/a> on ORE and POWDER, I’ve attempted to map the worked examples in the &lt;a href="http://www.openarchives.org/ore/1.0/rdfxml" target="_blank">ORE User Guide for RDF/XML&lt;/a> (specifically &lt;a href="http://www.openarchives.org/ore/1.0/rdfxml#Examples" target="_blank">Sect. 3&lt;/a>) to POWDER to show that POWDER can be used to model ORE, see&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>&lt;a href="https://web.archive.org/web/20100901173559/http://nurture.nature.com.pluma.sjfc.edu/tony/demos/ore-ex/pwdr.htm" target="_blank">Resource Maps Encoded in POWDER&lt;/a>&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>(A full explanation for each example is given in the &lt;a href="http://www.openarchives.org/ore/1.0/rdfxml#Examples" target="_blank">RDF/XML Guide, Sect. 3&lt;/a> which should be consulted.)&lt;/p>
&lt;p>This could just all be sheer doolally or might possibly turn out to have a modicum of instructional value – I don’t know. (It would be real good to get some feedback here.) There are, however, a couple points to note in mapping ORE to POWDER:&lt;/p>
&lt;ol>
&lt;li>The POWDER form is actually more long-winded because it splits the RDF triples into subject and predicate/object divisions, with the first listed within an &lt;strong>iriset&lt;/strong> and the second within a &lt;strong>descriptorset&lt;/strong>. The net effect, however, may be somewhat cleaner since POWDER uses a simple XML format rather than RDF/XML.
&lt;ul>
&lt;li>POWDER only supports simple object types (literals or resources) so the blank nodes in the RDF/XML examples for &lt;strong>dcterms:creator&lt;/strong> cannot be mapped as such. I have chosen here to use either &lt;strong>foaf:name&lt;/strong> or &lt;strong>foaf:page&lt;/strong> value.
&lt;ul>
&lt;li>Likewise, and as far as I am aware, POWDER does not support datatyping but I could be wrong on this. I have thus dropped the datatypes on &lt;strong>dcterms:created&lt;/strong> and &lt;strong>dcterms:modified&lt;/strong>. &lt;/ol>
This is a fairly naïve mapping. POWDER’s real strength comes in defining groups of resources with its powerful pattern matching capabilities, whereas here I am using a named single resource in each &lt;strong>iriset&lt;/strong> through the &lt;strong>includeresource&lt;/strong> element. I think, though, this does show how the abstract ORE data model can be serialized in yet another format.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol></description></item><item><title>Describing Resource Sets: ORE vs POWDER</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/describing-resource-sets-ore-vs-powder/</link><pubDate>Thu, 04 Dec 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/describing-resource-sets-ore-vs-powder/</guid><description>&lt;p>I’ve been reading up on &lt;a href="http://www.w3.org/2007/powder/" target="_blank">POWDER&lt;/a> recently (the W3C Protocol for Web Description Resources) which is currently in last call status (with comments due in tomorrow). This is an effort to describe groups of Web resources and as such has clear similarities to the Open Archives Initiative &lt;a href="http://www.openarchives.org/ore/" target="_blank">ORE&lt;/a> data model, which has been blogged about here before.&lt;/p>
&lt;p>In an attempt to better understand the similarities (and differences) between the two data models, I’ve put up the table which directly compares the two heavyweight contendors OAI-ORE and POWDER and also (unfairly) places them alongside the featherweight &lt;a href="http://www.sitemaps.org/protocol.php" target="_blank">Sitemaps Protocol&lt;/a> for reference.&lt;/p>
&lt;p>This is very much a draft document and I will aim to update the table based on my own further reading and on any feedback that I may get (contributions gratefully received). I’m all too aware that my understanding of the respective data models is painfully limited and I, for one, hope to profit through this exercise. There will be certainly errors which I will aim to fix as soon as I get wind of them. 🙂&lt;/p>
&lt;p>By the way, the ORE work especially is of interest to Crossref members and has obvious synergies with the multiple resolution potential that DOI has long promised but not quite delivered on.&lt;/p></description></item><item><title>CURIEs - A Cure for URIs</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/curies-a-cure-for-uris/</link><pubDate>Wed, 03 Dec 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/curies-a-cure-for-uris/</guid><description>&lt;p>A quick straw poll of a few folks at &lt;a href="https://web.archive.org/web/20081218013716/http://www.online-information.co.uk/index.html" target="_blank">London Online&lt;/a> yesterday revealed that they had not heard of CURIE’s. And there was I thinking that most everybody must have heard of them by now. 🙂 So anyway here’s something brief by way of explanation.&lt;/p>
&lt;p>&lt;strong>&lt;em>&lt;a href="http://www.w3.org/MarkUp/2008/ED-curie-20081023/" target="_blank">CURIE&lt;/a>&lt;/em>&lt;/strong> stands for &lt;strong>&lt;em>Compact URI&lt;/em>&lt;/strong> and does the signal job or rendering long and difficult to read URI strings into something more manageable. (URIs do have the particular gift of being “human transcribable” but in practice their length and the actual characters used in the URI strings tend to muddy things for the reader.) So given that the Web is built upon a bedrock of URIs, anything that then makes URIs easier to handle is going to be an important contributor to our overall ease of interaction with the Web.&lt;/p>
&lt;p>(Continues)&lt;/p>
&lt;p>Ten years back (in February 1998) when XML was first introduced it presented a flat naming system for document markup. For purposes of modularity and markup reuse the XML Namespaces specification released the following year allowed for element and attribute names to be replaced by &lt;strong>expanded&lt;/strong> names in which the hitherto simple names would be replaced by name pairs consisting of a &lt;strong>namespace&lt;/strong> name and a &lt;strong>local&lt;/strong> name. The use of URIs for the namespace name thus opened the doors to assigning globally unique names for XML element/attribute names. As a practical point (both to keep the names short and to deal with URI characters), the notion of a qualified name (or QName) was introduced, whereby the local name would be qualified by a prefix which stood in for the namespace name.&lt;/p>
&lt;p>This was such a successful device that over time it was applied to URIs in general as a mechanism for abbreviation. Especially in RDF/XML schema elements were referenced by QName. And the practice has spilled over into non-XML syntaxes (e.g. the N3 and Turtle RDF grammars which use a “@prefix” directive). But there were problems since the device was grounded in XML the local names were constrained by allowable characters for XML elements and attributes (e.g. names cannot start with a digit character), as well as there being no specification for applying this same device to non-XML grammars.&lt;/p>
&lt;p>CURIE is an initiative to generalize this notion of qualified names for URIs beyond the immediate XML context for naming elements and attributes (which would also allow their use in attribute values), to a more general use in applications beyond XML. The development of CURIE is based upon work done in the definition of &lt;a href="http://www.w3.org/TR/xhtml2" target="_blank">XHTML2&lt;/a>, and upon work done by the &lt;a href="http://www.w3.org/2001/sw/BestPractices/HTML/" target="_blank">RDF-in-HTML Task Force&lt;/a>, a joint task force of the &lt;a href="http://www.w3.org/2001/sw/BestPractices/" target="_blank">Semantic Web Best Practices and Deployment Working Group&lt;/a> and &lt;a href="http://www.w3.org/MarkUp/" target="_blank">XHTML 2 Working Group&lt;/a>. The Editor’s draft &lt;a href="http://www.w3.org/MarkUp/2008/ED-curie-20081023/" target="_blank">CURIE Syntax 1.0&lt;/a> is currently a W3C Candidate Recommendation which is receiving comments through Jan 15, 2009, at which time it is intended to put it forward as a W3C Proposed Recommendation. Meantime, though, the new W3C Recommendation &lt;a href="http://www.w3.org/TR/rdfa-syntax/" target="_blank">RDFa Syntax in XHTML&lt;/a> (published Oct 14, 2008) has a normative section on CURIEs (see &lt;a href="http://www.w3.org/TR/rdfa-syntax/#s_curies" target="_blank">Sect. 7&lt;/a>).&lt;/p>
&lt;p>So, what do CURIEs look like? Taking a simple RDFa example for DOI we might have a fragment such as:&lt;/p>
&lt;pre>&amp;lt;div xmlns:doi="https://doi-org.pluma.sjfc.edu/" xmlns:dcterms="http://purl.org/dc/terms/"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;div &lt;b>about="doi:10.1038/nature07184"&lt;/b>&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span &lt;b>property="dcterms:hasPart"&lt;/b> &lt;b>resource="[doi:10.1038/nature07184]"&lt;/b>/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre>
&lt;p>This would be processed by an RDFa processor to yield the RDF triple (in N3/Turtle):&lt;/p>
&lt;pre>&amp;lt;doi:10.1038/nature07184&amp;gt; dcterms:hasPart &amp;lt;https://doi-org.pluma.sjfc.edu/10.1038/nature07184&amp;gt; .&lt;/pre>
&lt;p>This triple (or fact) says that the resource identified by DOI 10.1038/nature07184 has as a component part (cf. &lt;a href="http://dublincore.org/documents/dcmi-terms/" target="_blank">DCTERMS&lt;/a> vocabulary) the resource identified by &lt;a href="https://doi-org.pluma.sjfc.edu/10.1038/nature07184" target="_blank">https://doi-org.pluma.sjfc.edu/10.1038/nature07184&lt;/a>. (The abstract work identified by the DOI has as a component part the splash page identified by the proxy URL.)&lt;/p>
&lt;p>OK, so what’s going on? The “property” attribute takes a CURIE as value where the prefix “dcterms” is standing in for the XML namespace URI. The “about” and “resource” attributes both take a URI or CURIE as value, but because of any potential confusion a (so-called) “Safe CURIE” must be used which is a CURIE wrapped in brackets. The above example does not use brackets for the “about” attribute and therefore an RDFa processor would read this as being a full URI, i.e. &amp;amp;lt’doi:10.1038/nature07184&amp;gt;, whereas it does use brackets for the “resource” attribute and therefore this would be read as being a (Safe) CURIE, i.e. &lt;a href="https://doi-org.pluma.sjfc.edu/10.1038/nature07184" target="_blank">https://doi-org.pluma.sjfc.edu/10.1038/nature07184&lt;/a>.&lt;/p>
&lt;p>We can turn this around as follows:&lt;/p>
&lt;pre>&amp;lt;div xmlns:doi="https://doi-org.pluma.sjfc.edu/" xmlns:dcterms="http://purl.org/dc/terms/"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;div &lt;b>about="[doi:10.1038/nature07184]"&lt;/b>&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span &lt;b>property="dcterms:isPartOf"&lt;/b> &lt;b>resource="doi:10.1038/nature07184"&lt;/b>/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre>
&lt;p>This would be processed by an RDFa processor to yield the RDF triple (in N3/Turtle):&lt;/p>
&lt;pre>&amp;lt;https://doi-org.pluma.sjfc.edu/10.1038/nature07184&amp;gt; dcterms:isPartOf &amp;lt;doi:10.1038/nature07184&amp;gt; .&lt;/pre>
&lt;p>This triple (or fact) says that the resource identified by &lt;a href="https://doi-org.pluma.sjfc.edu/10.1038/nature07184" target="_blank">https://doi-org.pluma.sjfc.edu/10.1038/nature07184&lt;/a> is a component part (cf. &lt;a href="http://dublincore.org/documents/dcmi-terms/" target="_blank">DCTERMS&lt;/a> vocabulary) of the resource identified by DOI 10.1038/nature07184. (The splash page identified by the proxy URL is a component part of the abstract work identified by the DOI.)&lt;/p>
&lt;p>So what do CURIEs give us? Nothing more than a generic means to be able to make human-friendly statements such as&lt;/p>
&lt;pre>&amp;lt;doi:10.1038/nature07184&amp;gt; dcterms:hasPart doi:10.1038/nature07184 .&lt;/pre>
&lt;p>instead of having to spell it out in full triples form using long-winded URIs:&lt;/p>
&lt;pre>&amp;lt;doi:10.1038/nature07184&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;http://http://purl.org/dc/terms/hasPart&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;https://doi-org.pluma.sjfc.edu/10.1038/nature07184&amp;gt; .&lt;/pre></description></item><item><title>Ubiquity commands for Crossref services</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/ubiquity-commands-for-crossref-services/</link><pubDate>Wed, 03 Dec 2008 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/ubiquity-commands-for-crossref-services/</guid><description>&lt;p>So the other day &lt;a href="http://baoilleach.blogspot.com/" target="_blank">Noel O’Boyle&lt;/a> made me feel guilty when he pinged me and asked about the possibility using one of the Crossref APIs for creating a &lt;a href="https://wiki.mozilla.org/Labs/Ubiquity" target="_blank">Ubiquity&lt;/a> extension. You see, I had played with the idea myself and had not gotten around to doing much about it. This seemed inexcusable- particularly given how easy it is to build such extensions using the API we developed for the &lt;a href="http://sourceforge.net/projects/crossref-cite/" target="_blank">WordPress and Moveable Type plugins&lt;/a> that we &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/crossref-citation-plugin-for-wordpress/">announced&lt;/a> earlier in the year. So I dug up my half-finished code, cleaned it up a bit and have &lt;a href="https://www-crossref-org.pluma.sjfc.edu/labs/ubiquity-plugin/" target="_blank">posted the results.&lt;/a>&lt;/p>
&lt;p>Note that the back-end that supports the plugins has been moved to more stable machines and the index is now being automatically updated with journal and conference proceeding deposits (sorry, no books yet).&lt;/p>
&lt;p>Also note that we are hoping that others will look at the code for the WordPress, Moveable Type and Ubiquity plugins and create more such extensions. If you do, please let us know about them at &lt;a href="mailto:citation-plugin@crossref.org">citation-plugin@crossref.org&lt;/a>.&lt;/p></description></item><item><title>RSS Good Practice Guidelines</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/rss-good-practice-guidelines/</link><pubDate>Mon, 24 Nov 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/rss-good-practice-guidelines/</guid><description>&lt;p>I just wanted to flag up here Lisa Rogers’ recent review article on RSS in FUMSI (the online magazine for information professionals published by Free Pint Ltd)&lt;/p>
&lt;p>&lt;a href="https://web.archive.org/web/20081102075322/http://web.fumsi.com/go/article/share/3356" target="_blank">RSS and Scholarly Journal Tables of Contents: the ticTOCs Project, and Good Practice Guidelines for Publishers&lt;/a>&lt;/p>
&lt;p>Especially of interest is the diagram in Fig. 2 which breaks out the metadata elements that might be encountered in a rich web feed. Worthwhile pointing out that this reflects current practice and that under the item elements one would soon hope to see publishers routinely adding in &lt;strong>prism:doi&lt;/strong> (with the bare DOI as value) and &lt;strong>prism:url&lt;/strong> (with DOI target URL as value) from the PRISM 2.0 vocabulary published earlier this year. Publishers should also be aware of the new PRISM Usage Rights vocabulary which is expected to be published some time in the new year.&lt;/p></description></item><item><title>Machine Readable: Are We There Yet?</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/machine-readable-are-we-there-yet/</link><pubDate>Wed, 19 Nov 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/machine-readable-are-we-there-yet/</guid><description>&lt;p>The guidelines for Crossref publishers (“DOI Name Information and Guidelines” - [PDF, 210K][1]) has this to say in “&lt;em>Sect. 6.3 The response page&lt;/em>” regarding the response page for a DOI:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“A minimal response page must contain a full bibliographic citation displayed to the user. A response page without bibliographic information should never be presented to a user.”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>which would seem to be all fine and dandy. But if that user is a machine (or an agent acting for a user) they’ll likely be out of luck as the metadata in the bibliographic citation is generally targeted at human users.&lt;/p>
&lt;p>So here’s a quick and dirty implementation of what a machine readable page could look like using RDFa. (The demo uses Jeni Tennison’s wonderful [rdfQuery][2] plugin which I [blogged][3] about earlier.)&lt;/p>
&lt;p>Clicking the DOI link below will bring up in a sub-window a bibliographic citation which might be found in a typical DOI repsonse page. If you now click the “Read Me” link you should see an alert message which presents the bibliographic metadata as a complete RDF document (in a simple N3 – or Notation3 – format). This document is assembled on the fly by rdfQuery using the RDFa markup embedded in the page.&lt;/p>
&lt;!-- broken links not in wayback machine
&lt;a href="http://nurture.nature.com.pluma.sjfc.edu/tony/demos/rdfa.html" onclick="w = open('http://nurture.nature.com.pluma.sjfc.edu/tony/demos/rdfa.html','myWin','width=600,height=400,top=150,left=150,scrollbars=1, resizable=1');w.focus();return false">&lt;b style="color:#006699">https://doi-org.pluma.sjfc.edu/10.1038/nature05634&lt;/b>&lt;/a> (Click for demo)
-->
&lt;p>See the “View Source” link to list the actual XHTML markup and the RDFa properties which have been added. And note also that some of the properties are partially “hidden” to the human reader, e.g. a publication date is given in year form only whereas the machine record has the date in full, and some of the properties are fully “hidden”: print and electronic ISSNs, issue number, ending page, etc.&lt;/p>
&lt;p>(Continues below.)&lt;/p>
&lt;p>So, what’s new about this? There are already various means of adding metadata to pages using e.g. metadata tags (see [here][4] for an earlier post on this), or COinS objects, or even RDF/XML in comment sections. All of these have their various utilities but are still just early attempts at automation. What makes this new and compelling is that RDFa allows publishers to embed machine readable metadata that can be read as a complete machine description in RDF using pretty much off-the-shelf tools and that this markup is embedded unobtrusively into the content in the proper &lt;strong>&lt;em>context&lt;/em>&lt;/strong>.&lt;/p>
&lt;p>Note that there are some similarities here between embedding an XMP packet (which includes metadata) into an arbitrary binary object, e.g. a PDF file, and embedding RDF into a section of a web page – or perhaps “&lt;em>draping&lt;/em>” the RDF over the document markup would be a better term – so that the metadata travels along with the actual content.&lt;/p>
&lt;p>By the way, the RDFa can be processed to yield valid RDF (as is shown in the demo) and which can also be seen by running the web page through the [RDFa Distiller][5]. (You just need to cut and paste the link of the demo page given above into the Distiller form box.) This will produce RDF in various serializations (N3, XML, Triples) from the RDFa.&lt;/p>
&lt;p>So, is there really any longer any reason &lt;em>not&lt;/em> to have machine readable metadata at the end of the DOI? Are we there yet?&lt;/p>
&lt;p>[1]: &lt;a href="https://doi-org.pluma.sjfc.edu/10.13003/5jchdy" target="_blank">Crossref DOI display guidelines&lt;/a>
[2]: &lt;a href="http://code.google.com/p/rdfquery/wiki/RdfPlugin" target="_blank">http://code.google.com/p/rdfquery/wiki/RdfPlugin&lt;/a>
[3]: /blog/rdfquery
[4]: /blog/natures-metadata-for-web-pages
[5]: &lt;a href="http://www.w3.org/2007/08/pyRdfa/" target="_blank">http://www.w3.org/2007/08/pyRdfa/&lt;/a>&lt;/p></description></item><item><title>rdfQuery</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/rdfquery/</link><pubDate>Mon, 17 Nov 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/rdfquery/</guid><description>&lt;p>Whaddya know? I was just on the point of blogging about the real nice demo given by Jeni Tennison at last week’s &lt;a href="https://web.archive.org/web/20120101062734/http://swig.networkedplanet.com/november2008.html" target="_blank">SWIG UK meeting&lt;/a> at HP Labs in Bristol of &lt;a href="http://code.google.com/p/rdfquery/wiki/RdfPlugin" target="_blank">rdfQuery&lt;/a> (an RDF plugin for &lt;a href="http://jquery.com/" target="_blank">jQuery&lt;/a> - the zip file is &lt;a href="https://web.archive.org/web/*/http://rdfquery.googlecode.com/files/rdfQuery%20v0.2.zip" target="_blank">here&lt;/a>). And there today on her blog I see that she has a full &lt;a href="http://www.jenitennison.com/blog/node/94" target="_blank">writeup&lt;/a> on rdfQuery, so I’ll defer to the expert. :~)&lt;/p>
&lt;p>All I can really add to that is that rdfQuery is a pretty darn cool way to add and manipulate RDFa using jQuery. Does it get any better?&lt;/p>
&lt;p>And now that RDFa is a &lt;a href="http://www.w3.org/TR/rdfa-syntax/" target="_blank">W3C Rec&lt;/a> since last month (see &lt;a href="http://www.w3.org/TR/xhtml-rdfa-primer/" target="_blank">Primer&lt;/a> and &lt;a href="http://www.w3.org/TR/rdfa-syntax/" target="_blank">Syntax&lt;/a>) it will be interesting to see how Crossref members might begin to deploy it on their pages - especially on DOI landing pages.&lt;/p></description></item><item><title>PRISM 2.1</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/prism-2.1/</link><pubDate>Fri, 24 Oct 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/prism-2.1/</guid><description>&lt;p>Yesterday a new &lt;a href="https://web.archive.org/web/20081019002715/http://www.prismstandard.org/" target="_blank">PRISM&lt;/a> spec (v2.1) was released for public comment. (Comment period lasts up to Dec. 3, ’08.)&lt;/p>
&lt;p>Changes are listed in pages 8 and 9 of the Introduction document. Some highlights:&lt;/p>
&lt;ul>
&lt;li>New &lt;em>PRISM Usage Rights&lt;/em> namespace
&lt;ul>
&lt;li>Accordingly usage of &lt;strong>prism:copyright&lt;/strong>, &lt;strong>prism:embargoDate&lt;/strong>, and &lt;strong>prism:expirationDate&lt;/strong> no longer recommended
&lt;ul>
&lt;li>New element &lt;strong>prism:isbn&lt;/strong> introduced for book serials&lt;/ul>
An updated &lt;a href="https://web.archive.org/web/20090310235930/http://nurture.nature.com.pluma.sjfc.edu/rss/modules/mod_prism_04.html" target="_blank">mod_prism&lt;/a> RSS 1.0 module is available which lists all versions of PRISM specs including the forthcoming v2.1 spec. I will see about getting this added now to a more permanent location. Current version of PRISM remains at v2.0. Versions 2.0 and 2.1 are especially of interest to users of Crossref because of their support for &lt;strong>prism:doi&lt;/strong> and &lt;strong>prism:url&lt;/strong> and users should consider upgrading their applications, e.g. RSS feeds.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>XMP Marches On</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/xmp-marches-on/</link><pubDate>Mon, 20 Oct 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/xmp-marches-on/</guid><description>&lt;p>For those who may be interested in the progress of XMP, Adobe’s Gunar Penikis has just announced &lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup> two new releases of XMP SDKs: XMP Toolkit 4.4 (with support for new file formats), and FileInfo SDK (for customizing CS4 UIs). More importantly, though, may be the new edition of the XMP spec - see &lt;a href="http://www.adobe.com/devnet/xmp/" target="_blank">here&lt;/a>, which is bumped from a modest 112 page document to a 3-parter at 199 pages.&lt;/p>
&lt;p>Looks to be quite a thorough spec bar one telling particular: there is no version number and no date! The previous version was likewise unnumbered though at least dated as “September 2005”. Btw, I’m not sure of there is any archive of XMP specs being maintained by Adobe. At least, I’m not aware of any page with that information. Perhaps we can refer to our &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/now-what-about-xmp/">earlier call&lt;/a> to have XMP turned over to a standards organisation to formalize a public spec.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Update Aug 2022: the announcement blog post mentioned above was previously at blogs.adobe.com/gunar/2008/10/new_xmp_sdks_released.html but is no longer live.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Yer Basic One-Liner</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/yer-basic-one-liner/</link><pubDate>Tue, 14 Oct 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/yer-basic-one-liner/</guid><description>&lt;p>&lt;a href="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/one-line-alert.jpg">&lt;img border="0" alt="one-line-alert-small0.jpg" src="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/one-line-alert-small0.jpg" width="130" height="150" style="float:right; margin-left=20px" />&lt;/a>&lt;/p>
&lt;p>Here&amp;rsquo;s your basic one-line handle client (all of it) for the browser:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Util&lt;/span>&lt;span class="p">().&lt;/span>&lt;span class="nx">getHandleData&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;10.1038/nature05826&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">data&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nx">alert&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Util&lt;/span>&lt;span class="p">().&lt;/span>&lt;span class="nx">helloWorld&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">data&lt;/span>&lt;span class="p">));&lt;/span> &lt;span class="p">});&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Can&amp;rsquo;t see how to make that much shorter (bar tossing spaces). But here&amp;rsquo;s one attempt (shorter though now it&amp;rsquo;s not strictly a one-liner):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">u&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Util&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">u&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getHandleData&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;10.1038/nature05826&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nx">alert&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">u&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">helloWorld&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_&lt;/span>&lt;span class="p">));&lt;/span> &lt;span class="p">});&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Here I&amp;rsquo;ve used two utility convenience methods from the OpenHandle client library:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Util&lt;/span>&lt;span class="p">().&lt;/span>&lt;span class="nx">getHandleData&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">handle&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">callback&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="nx">server&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Util&lt;/span>&lt;span class="p">().&lt;/span>&lt;span class="nx">helloWorld&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">JSON&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>You will though need to include a couple of libraries: &lt;a href="http://archive.is/TF3tq" target="_blank">openhandle.js&lt;/a> and &lt;a href="http://jquery.com/" target="_blank">jquery.js&lt;/a>. (Note that the &lt;span style="font-family: arial, sans-serif; font-size: 8pt; color: #00f; text-decoration: none">getHandleData()&lt;/span> method supplied in the &lt;a href="http://archive.is/TF3tq" target="_blank">openhandle.js&lt;/a> library uses &lt;a href="http://jquery.com/" target="_blank">jQuery&lt;/a>. Feel free to overwrite that.) A complete working document can thus be implemented as:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-html" data-lang="html">&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">html&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">head&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">script&lt;/span> &lt;span class="na">type&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;text/javascript&amp;#34;&lt;/span> &lt;span class="na">src&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;http://jqueryjs.googlecode.com/files/jquery-1.2.6.js&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;/&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">script&lt;/span> &lt;span class="na">type&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;text/javascript&amp;#34;&lt;/span> &lt;span class="na">src&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;http://openhandle.googlecode.com/files/openhandle-0.2.3.js&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;/&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">script&lt;/span> &lt;span class="na">type&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;text/javascript&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">jQuery&lt;/span>&lt;span class="p">().&lt;/span>&lt;span class="nx">ready&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="cm">/* action when body content is loaded */&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">u&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Util&lt;/span>&lt;span class="p">();&lt;/span> &lt;span class="nx">u&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getHandleData&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;10.1038/nature05826&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nx">alert&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">u&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">helloWorld&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_&lt;/span>&lt;span class="p">));&lt;/span> &lt;span class="p">});&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">});&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">head&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">body&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Boo!
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">body&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">html&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Let me know if this doesn&amp;rsquo;t work for you. I&amp;rsquo;ve tried to test this and seems to function OK but sure as the sun rises I ain&amp;rsquo;t no &lt;a href="http://www.slideshare.net/jeresig/secrets-of-javascript-libraries?src=embed" target="_blank">JS ninja&lt;/a>.&lt;/p>
&lt;p>Of course, we normally want to do more than just dump the values. So, given that it&amp;rsquo;s pretty straightforward to grab and to manipulate a handle&amp;rsquo;s data values over the Web, how can we put this into practice?&lt;/p>
&lt;p>Let&amp;rsquo;s consider a couple of Crossref use cases.&lt;/p>
&lt;p>&lt;em>(Disclaimer: These examples are not intended as being in any way a replacement for the existing Crossref services but merely show how those services could be implemented on the client side. These illustrations will be useful for new bespoke services accessing other data elements that may be registered with the DOI.)&lt;/em>&lt;/p>
&lt;p>&lt;strong>Single Resolution&lt;/strong>&lt;/p>
&lt;p>Here is how one could implement the regular URL redirect service from the client:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">handle&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;10.1038/nature05826&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">callback&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">json&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">hv&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Handle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">json&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="nx">getValuesByType&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="err">‘&lt;/span>&lt;span class="nx">URL&lt;/span>&lt;span class="err">&amp;#39;&lt;/span>&lt;span class="p">)[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">url&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">HandleValue&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">hv&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="nx">getData&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// alert(&amp;#34;Redirecting to &amp;#34; + url);
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">location&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">url&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Util&lt;/span>&lt;span class="p">().&lt;/span>&lt;span class="nx">getHandleData&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">handle&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">callback&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The &lt;code>getValuesByType(‘URL')[0]&lt;/code> call returns the first handle value of type &amp;lsquo;URL&amp;rsquo;. The next line just parses this value as a handle value object and gets the data field, i.e. the URL itself.&lt;/p>
&lt;p>Note here that this client can show the URL that the user will be redirected to. With normal DOI resolution the resolution takes place on the proxy server (&lt;a href="http://dx.doi.org.pluma.sjfc.edu/" target="_blank">dx.doi.org&lt;/a>) and the URL is not available to the user - until they are so redirected. In fact, the user may never get to see the URL stored in the handle value if this is the head of a redirect chain.&lt;/p>
&lt;p>To recap, Crossref DOIs are not resolved by the user to URLs - rather, they invoke a service on the server which returns a content page.&lt;/p>
&lt;p>&lt;strong>Multiple Resolution&lt;/strong>&lt;/p>
&lt;p>Let&amp;rsquo;s now take a look at a case of Crossref multiple resolution. This code uses the &lt;code>getValues()&lt;/code> method to return all values:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">handle&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;10.1130/B25510.1&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">callback&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">json&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">s&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">hv&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="k">new&lt;/span> &lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Handle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">json&lt;/span>&lt;span class="p">)).&lt;/span>&lt;span class="nx">getValues&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kd">var&lt;/span> &lt;span class="nx">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nx">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="nx">hv&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">length&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nx">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">v&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">HandleValue&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">hv&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">i&lt;/span>&lt;span class="p">]);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">s&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="nx">v&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getType&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="s2">&amp;#34;: &amp;#34;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="nx">v&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getData&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">alert&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">s&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Util&lt;/span>&lt;span class="p">().&lt;/span>&lt;span class="nx">getHandleData&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">handle&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">callback&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>which yields&lt;/p>
&lt;pre tabindex="0">&lt;code>700050: 200508231619480000
HS_ADMIN: [object Object]
URL.0: http://www.gsajournals.org/gsaonline/?request=get-abstract&amp;amp;doi=10%2E1130%2FB25510%2E1
URL.1: http://bulletin.geoscienceworld.org/cgi/doi/10.1130/B25510.1
CR-LR: &amp;lt;MR&amp;gt;&amp;lt;LI label=&amp;#34;GeoScienceWorld&amp;#34; resource=&amp;#34;URL.1&amp;#34; /&amp;gt;&amp;lt;LI label=&amp;#34;Geological Society of America&amp;#34; resource=&amp;#34;URL.0&amp;#34; /&amp;gt;
&lt;/code>&lt;/pre>&lt;p>Oops! Too much information. This includes types such as &amp;lsquo;700050&amp;rsquo; and &amp;lsquo;HS_ADMIN&amp;rsquo; which are used by the Crossref application, and not intended for the end user. Maybe we should just limit it to the URL types with &lt;code>getValuesByType('URL')&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="nx">getValuesByType&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="err">‘&lt;/span>&lt;span class="nx">URL&lt;/span>&lt;span class="s1">&amp;#39;):
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">var handle = &amp;#34;10.1130/B25510.1&amp;#34;;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">var callback = function(json) {
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> var s = &amp;#34;&amp;#34;;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> var hv = (new OpenHandle.Handle(json)).getValuesByType(‘URL&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kd">var&lt;/span> &lt;span class="nx">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nx">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="nx">hv&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">length&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nx">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">v&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">HandleValue&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">hv&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">i&lt;/span>&lt;span class="p">]);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">s&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="nx">v&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getType&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="s2">&amp;#34;: &amp;#34;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="nx">v&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getData&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">alert&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">s&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Util&lt;/span>&lt;span class="p">().&lt;/span>&lt;span class="nx">getHandleData&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">handle&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">callback&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>which yields&lt;/p>
&lt;pre tabindex="0">&lt;code>URL.0: http://www.gsajournals.org/gsaonline/?request=get-abstract&amp;amp;doi=10%2E1130%2FB25510%2E1
URL.1: http://bulletin.geoscienceworld.org/cgi/doi/10.1130/B25510.1
&lt;/code>&lt;/pre>&lt;p>_(By the way, the previous example shows the unregulated state of handle types. We have everything but the kitchen sink in this one example:&lt;/p>
&lt;ul>
&lt;li>simple types, both well-known (&amp;lsquo;URL&amp;rsquo;) and opaque (&amp;lsquo;700050&amp;rsquo;)
&lt;ul>
&lt;li>
&lt;p>compound, or namespaced, types with various hierarchy delimiters: dot (&amp;lsquo;URL.0&amp;rsquo;, &amp;lsquo;URL.1&amp;rsquo;), underscore (&amp;lsquo;HS_ADMIN&amp;rsquo;), and hyphen (&amp;lsquo;CR-LR&amp;rsquo;)&lt;/ul>
Well, they&amp;rsquo;re all in there now so we gotta deal with that, but generally one would probably have preferred well-known types and where namespaces are used the usual dot notation as this is a) familiar to programmers, and b) supported by the handle client library code. The underscore is used in the handle RFCs for system types so that can be viewed as a sort of inline namespacing. Seems to be no obvious excuse for hyphens though.)&lt;/i>&lt;/p>
&lt;p>Back to the example we can see that the first URL goes to a Crossref service which we can dispense with since this example is to be run client side. That leaves us with the two actual URL targets. But how to differentiate those for a user choice? That&amp;rsquo;s where that other type &amp;lsquo;CR-LR&amp;rsquo; comes in which provides an XML fragment that relates label to type. There are obviously many ways to support resource labelling - this is just the method used by Crossref.&lt;/p>
&lt;p>Let&amp;rsquo;s parse out the XML fragment for labels and resources and save those in an object keyed on resource:&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">labels&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">hv_&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="k">new&lt;/span> &lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Handle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">json&lt;/span>&lt;span class="p">)).&lt;/span>&lt;span class="nx">getValuesByType&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="err">‘&lt;/span>&lt;span class="nx">CR&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="nx">LR&lt;/span>&lt;span class="err">&amp;#39;&lt;/span>&lt;span class="p">)[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">v&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">HandleValue&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">hv_&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">xml&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">v&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getData&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">li&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">xml&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">match&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sr">/&amp;lt;li [^\&amp;gt;]* \/&amp;gt;/ig&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kd">var&lt;/span> &lt;span class="nx">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nx">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="nx">li&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">length&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nx">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">a&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">li&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">i&lt;/span>&lt;span class="p">].&lt;/span>&lt;span class="nx">match&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="err">/label=\&amp;#34;([^\&amp;#34;]+)\&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">resource&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="err">\&lt;/span>&lt;span class="s2">&amp;#34;([^\&amp;#34;]+)\&amp;#34;&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="nx">i&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">labels&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">a&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">]]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">a&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Now we&amp;rsquo;ll also need to build a similar object for the URLs:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">urls&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">hv&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="k">new&lt;/span> &lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Handle&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">json&lt;/span>&lt;span class="p">)).&lt;/span>&lt;span class="nx">getValuesByType&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="err">‘&lt;/span>&lt;span class="nx">URL&lt;/span>&lt;span class="err">&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kd">var&lt;/span> &lt;span class="nx">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nx">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="nx">hv&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">length&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nx">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">v&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nx">OpenHandle&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">HandleValue&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">hv&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">i&lt;/span>&lt;span class="p">]);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">urls&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">v&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getType&lt;/span>&lt;span class="p">()]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">v&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getData&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>And now with both these objects we can build a set of labelled links as:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="kd">var&lt;/span> &lt;span class="nx">s&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">item&lt;/span> &lt;span class="k">in&lt;/span> &lt;span class="nx">labels&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">s&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="s2">&amp;#34;&amp;lt;a href=\&amp;#34;&amp;#34;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="nx">urls&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">item&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="s2">&amp;#34;\&amp;#34;&amp;gt;&amp;#34;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="nx">labels&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">item&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="s2">&amp;#34;&amp;lt;/a&amp;gt;&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">alert&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">s&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>to yield&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-html" data-lang="html">&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">a&lt;/span> &lt;span class="na">href&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;http://bulletin.geoscienceworld.org/cgi/doi/10.1130/B25510.1&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>GeoScienceWorld&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">a&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">a&lt;/span> &lt;span class="na">href&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;http://www.gsajournals.org/gsaonline/?request=get-abstract&amp;amp;doi=10%2E1130%2FB25510%2E1&amp;#34;&lt;/span>&lt;span class="na">gt&lt;/span>&lt;span class="err">;&lt;/span>&lt;span class="na">Geological&lt;/span> &lt;span class="na">Society&lt;/span> &lt;span class="na">of&lt;/span> &lt;span class="na">America&lt;/span>&lt;span class="err">&amp;lt;/&lt;/span>&lt;span class="na">a&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>How to build a page with those labelled links is now a simple exercise. (The actual Crossref service for &lt;a href="http://dx.doi.org.pluma.sjfc.edu/10.1130/B25510.1" target="_blank">doi:10.1130/B25510.1&lt;/a> returns a page with labelled links, logos, and metadata pulled from the Crossref database.)&lt;/p>
&lt;p>&lt;strong>Next Steps&lt;/strong>&lt;/p>
&lt;p>The aim of this work has been to show that getting access to handle data values and manipulating those values in the browser can be fairly straightforward. How additional values get to be added to DOIs (or other handles) and what those values refer to is another matter, but services to access such values do not need to be centralized. User-generated services are also a possibility.&lt;/p></description></item><item><title>OpenHandle JavaScript API</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/openhandle-javascript-api/</link><pubDate>Wed, 08 Oct 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/openhandle-javascript-api/</guid><description>&lt;p>&lt;a href="http://nurture.nature.com.pluma.sjfc.edu/openhandle/docs/openhandle-api.pdf" target="_blank">&lt;img border="0" alt="openhandle-api-small.png" src="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/openhandle-api-small.png" width="340" height="257" />&lt;/a> (Click figure for &lt;a href="http://nurture.nature.com.pluma.sjfc.edu/openhandle/docs/openhandle-api.pdf" target="_blank">PDF&lt;/a>.)&lt;/p>
&lt;p>I just posted updated versions of the &lt;a href="http://code.google.com/p/openhandle/" target="_blank">OpenHandle&lt;/a> JavaScript Client Library (&lt;a href="https://web.archive.org/web/20160405130901/http://openhandle.googlecode.com/files/openhandle-0.2.2.js" target="_blank">v0.2.2&lt;/a>) and Utilities (&lt;a href="https://web.archive.org/web/20160323010335/http://openhandle.googlecode.com/files/openhandle-utils-0.2.2.js" target="_blank">v0.2.2&lt;/a>) to the project site. Mainly this post is just by way of saying that there’s now a “cheat sheet” for the API (see figure above, click for &lt;a href="http://nurture.nature.com.pluma.sjfc.edu/openhandle/docs/openhandle-api.pdf" target="_blank">PDF&lt;/a>) which will give some idea of scope. The JavaScript API attempts to reflect the Java Client Library API for Handle data structures, and has in excess of 100 methods. A &lt;a href="http://nurture.nature.com.pluma.sjfc.edu/openhandle/lib/CHANGELOG.txt" target="_blank">change log&lt;/a> is available.&lt;/p>
&lt;p>The new API supports:&lt;/p>
&lt;ul>
&lt;li>Single namespace
&lt;ul>
&lt;li>Introspection
&lt;ul>
&lt;li>Unit testing, see &lt;a href="http://nurture.nature.com.pluma.sjfc.edu/openhandle/unit/test-openhandle.html" target="_blank">here&lt;/a>&lt;/ul>
Why is this of interest to Crossref? Well, if DOIs are ever to begin take advantage of their innate &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/multiple-resolution/">Multiple Resolution&lt;/a> capabiities there needs to be nimbler means of accessing the data items stored with a DOI. A JavaScript API would allow the data to be manipulated in the browser down by the user and so enable bespoke services. That, at least, is the idea.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>Handle Clients #1, #2, #3</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/handle-clients-1-2-3/</link><pubDate>Wed, 01 Oct 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/handle-clients-1-2-3/</guid><description>&lt;img border=0 usemap="#GraffleExport" alt="clients-123.png" src="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/clients-123-0.png/clients-123.png" width="340" height="294" />
&lt;p>Three alternate clients for viewing a Handle (or DOI): #1 (sky - text), #2 (black - tuples), #3 (white - cards) - the image above is clickable. When Handle clients become JavaScript-able, one really can have it one’s own way. (The JavaScript library is here, the demo service interface here - the code for setting up a new service interface can be got from the &lt;a href="https://github.com/tonyhammond/openhandle" target="_blank">OpenHandle project&lt;/a>.)&lt;/p>
&lt;p>&lt;em>Noted: As of February 2023, most of the links in this blog are not longer available.&lt;/em>&lt;/p></description></item><item><title>The Last Mile</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/the-last-mile/</link><pubDate>Wed, 01 Oct 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/the-last-mile/</guid><description>&lt;p>&lt;a href="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/last-mile.png">&lt;img alt="last-mile.png" border="0" src="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/last-mile.png" width="357" height="252" />&lt;/a>&lt;/p>
&lt;p>The figure above (click to enlarge) is probably self-explanatory but a few words may be in order.&lt;/p>
&lt;p>With no end-to-end delivery of data from the Handle System to the user’s application (browser or reader), getting data out of the Handle System has traditionally meant using the Web (ie. HTTP) as a courier - in effect, this is the “&lt;a href="http://en.wikipedia.org/wiki/Last_mile" target="_blank">last mile&lt;/a>” for Handle data. Typically an upstream (Handle) client provides services to the user. The most well known of these services is the URL redirect service which underpins the Crossref reference linking service. Another hosted service is the web form which displays data stored in the Handle records in a simple HTML table for user browsing. See panel a) in the figure above.&lt;/p>
&lt;p>By contrast, the OpenHandle proposal aims to move data in the Handle record in structured form (JSON or XML) over the Web for downstream processing - either in the user’s browser or on the desktop. See panel b). Advantages are that the Handle data and data structures are moved closer to the user and the services provided are capable of being better targeted and made more relevant. Data mobility as a whole is much improved. The data are accessible using standard Web description and scripting languages. One might almost say (to paraphrase the well-known Java slogan “&lt;a href="http://en.wikipedia.org/wiki/Write_once,_run_anywhere" target="_blank">write once, run anywhere&lt;/a>“) that this is a case of “read once, write anywhere”.&lt;/p></description></item><item><title>Look Ma, No Plugins!</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/look-ma-no-plugins/</link><pubDate>Mon, 22 Sep 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/look-ma-no-plugins/</guid><description>&lt;p>&lt;tt>var f = function (OpenHandleJson) {&lt;br />   var h = new OpenHandle(OpenHandleJson);&lt;br />   var hv = h.getHandleValues();&lt;br />   for (var i = 0; i &amp;lt; hv.length; i++) {     var v = new HandleValue(hv[i]);     if (v.hasType(&amp;lsquo;URL&amp;rsquo;)) {       print(v.getData());     }     else if (v.hasType(&amp;lsquo;HS_ADMIN&amp;rsquo;)) {       var a = new AdminRecord(v.getData());       print(a.getAdminPermissionString())     }   } }&lt;/tt>&lt;/p>
&lt;table border="0" width="100%">
&lt;tr>
&lt;td align="right">
&lt;i>"And that, gentlemen, is how we do that." - Apollo 13&lt;/i>
&lt;/td>
&lt;/tr>
&lt;/table>
&lt;p>Following on from my earlier &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/client-handle-demo/">Client Handle Demo&lt;/a> post, this entry is just to mention the availability of a port of (part of) the Handle client library (in Java) to JavaScript: openhandle-0.1.1.js which is being maintained on the &lt;a href="https://web.archive.org/web/20160504131854if_/https://code.google.com/archive/p/openhandle/" target="_blank">OpenHandle&lt;/a> site. The JavaScript module contains methods for three classes: &lt;tt>OpenHandle&lt;/tt>, &lt;tt>HandleValue&lt;/tt> and &lt;tt>AdminRecord&lt;/tt>.&lt;/p>
&lt;p>What does all that mean? It means that Handles and their constituent values and value fields can be accessed directly within **&lt;em>any Web browser&lt;/b>&lt;/em> (using an OpenHandle service) which allows a &lt;strong>&lt;em>dynamic Handle client&lt;/em>&lt;/strong> to be generated and presented within a &lt;strong>&lt;em>user context&lt;/em>&lt;/strong>. No plugins required. The port mirrors the class methods in the standard Java client library for Handle.&lt;/p>
&lt;p>As a demo of this JavaScript module in action, see this &lt;a href="http://nurture.nature.com.pluma.sjfc.edu/openhandle/inspect.html" target="_blank">Inspector&lt;/a> app for a card index view of Handle (and by implication DOI) records.&lt;/p>&lt;/p></description></item><item><title>Crossref is hiring an R&amp;D software engineer</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/crossref-is-hiring-an-rd-software-engineer/</link><pubDate>Thu, 18 Sep 2008 00:00:00 +0000</pubDate><author>Geoffrey Bilder</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/crossref-is-hiring-an-rd-software-engineer/</guid><description>&lt;p>Crossref is hiring an R&amp;amp;D software engineer to work in our Oxford office. This is a fantastic opportunity to work on wide range of projects that promise to revolutionize scholarly publishing.&lt;/p></description></item><item><title>Multiple Resolution</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/multiple-resolution/</link><pubDate>Fri, 22 Aug 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/multiple-resolution/</guid><description>&lt;p>I’ve been meaning for some time to write something about DOI and so-called “Multiple Resolution”, which to be honest is the only technology feature of any real interest as concerns DOI. (DOI as a business and social compact for guaranteeing name persistence of Web resources has been an extraordinarily successful venture in the academic publishing world with more than 32m items registered and maintained over eight years of operation but that may not have required any specialized technology. More a consensus to adopt a single location service in the &lt;a href="http://dx.doi.org.pluma.sjfc.edu/" target="_blank">DOI proxy&lt;/a>.)&lt;/p>
&lt;p>Multiple resolution, though. Now, that’s something else. Seems like it should be able to offer a lot of general funkiness and yet it has not been much used up to now. And I have to wonder why.&lt;/p>
&lt;p>(Continues below.)&lt;/p>
&lt;p>I guess we should start out with some definitions: the DOI Handbook, the (draft) ISO standard, and Crossref:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="https://web.archive.org/web/20090301014307/http://www.doi.org.pluma.sjfc.edu/hb.html" target="_blank">DOI Handbook&lt;/a> - From &lt;a href="https://web.archive.org/web/20080704170549/http://www.doi.org.pluma.sjfc.edu/handbook_2000/resolution.html" target="_blank">Sect. 3.3 Multiple resolution&lt;/a>:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“Multiple resolution allows one entity to be resolved to multiple other entities; it can be used to embody e.g a parent-children relationship, or any other relationship. … A DOI name can be resolved to an arbitrary number of different points on the Internet: multiple URLs, other DOI names, and other data types.”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="https://www.iso.org/standard/81599.html" target="_blank">ISO CD 26324&lt;/a> - I’ve blogged &lt;a href="https://doi-org.pluma.sjfc.edu/10.64000/sr0bx-a3x54" target="_blank">here&lt;/a> before about the ISO standardization of DOI which is now &lt;a href="https://www.iso.org/standard/81599.html" target="_blank">available&lt;/a> as a Committee Draft. Multiple resolution is specifically mentioned in Sects. 3.2 and 6.2 and discussed in Sect. 6.1. From Sect. 3 “Terms and definitions” we have this definition:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“Multiple resolution is the simultaneous return as output of several pieces of current information related to the object, in defined data structures.”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>And then Section 6 “Resolution of DOI name” goes on to say this:&lt;/p>
&lt;blockquote>
&lt;p>_“DOI resolution records may include one or more URLs, where the object may be located, and other&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>information provided about the entity to which a DOI name has been assigned, optionally including but not restricted to: names, identifiers, descriptions, types, classifications, locations, times, measurements, and relationships to other entities.”_&lt;/p>
&lt;/blockquote>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="http://www.crossref.org.pluma.sjfc.edu/" target="_blank">Crossref&lt;/a> - In the help page &lt;a href="https://www-crossref-org.pluma.sjfc.edu/education/content-registration/creating-and-managing-dois/multiple-resolution/">Multiple Resolution Intro&lt;/a> there is this:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“As of May 2008 the Crossref main system will support assigning more than one URL to a single DOI, a concept known as multiple resolution (MR). “&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>The intro goes on to talk about the two pilot forms of multiple resolution service that have been trialled: a) interim page, and b) menu pop-up. The pop-up service is no longer supported. Only the interim page is currently offered as a production service. The help page &lt;a href="https://www-crossref-org.pluma.sjfc.edu/education/content-registration/creating-and-managing-dois/multiple-resolution/">Interim Page multiple resolution overview&lt;/a> leads off thus:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“Crossref’s MR service provides an interim page solution which presents a list of link choices to the end user. Each choice represents a location at which the item may be obtained and are commonly services that are co-hosting the content under agreement with the content’s Copyright holder.”&lt;/em>&lt;/ul>&lt;/p>
&lt;/blockquote>
&lt;p>So, there it is. That’s DOI multiple resolution. The real important thing to note is that the official DOI position (IDF, ISO) is invitingly open while both the Crossref implementation and the description of multiple resolution itself is unduly restrictive. Multiple resolution as described by Crossref is essentially the deposition of additional URLs (pointing to copies of the same resource) for alternate routing (for geographical reasons, co-hosting arrangements, etc.) with a service presentation of alternate locations for user selection.&lt;/p>
&lt;p>Multiple resolution proper (as per the DOI Handbook and ISO draft) is the deposition of arbitrary data values and return of same with &lt;em>no particular services implied&lt;/em>. Use cases for multiple resolution include the addition of URLs for referencing different (but related) network objects, e.g. a metadata record, or other resources such as supplementary information, datasets, etc. Deposit of arbitrary data types is not yet catered for by Crossref. There could, I would suggest, at least be some rudimentary provision for depositing vanilla type/value pairs (subject to policy constraints). (There is currently some work under way in defining handle data types but this need not be any showstopper to depositing new data types as any type management system will likely need to evolve over time.)&lt;/p>
&lt;p>An obvious use case for multiple resolution (to me, anyway) would be the registration of a second URL which would point not onto a copy of the resource but onto a public metadata record. (I have earlier posted here about &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/exposing-public-data">architectures&lt;/a> and &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/exposing-public-data-options/">options&lt;/a> for exposing public data.)&lt;/p>
&lt;p>With more than one data value in a resolution record, the process of resolving such a record is potentially complicated. As the ISO CD says in Sect. 62f:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“Resolution requests should be capable of returning all associated values of current information, individual values, or all values of one data type.”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>The DOI Handbook itself recognizes the problems that multiple resolution may present.&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“If the DOI name can point to many different possible “resolutions”, how is the choice made between different options? At its simplest, the user may be provided with a list from which to make a manual choice. However, this is not a scalable solution for an increasingly complex and automated environment. The DOI name will increasingly depend on automation of “service requests”, through which users (and, more importantly, users’ application software) can be passed seamlessly from a DOI name to the specific service that they require.”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>Indeed, services like &lt;a href="http://code.google.com/p/openhandle/" target="_blank">OpenHandle&lt;/a> will make it much easier to programmatically access data stored in the handle record associated with a DOI name. (I have blogged previously about the OpenHandle &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/openhandle-google-code-project/">project&lt;/a> and its &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/openhandle-languages-support/">languages support&lt;/a>.) Note that presentation of data values to a human user may be a non-issue for mediated services.&lt;/p>
&lt;p>And talking of computer languages it may be amusing to ruminate briefly on their own built-in support for multiple return values. Perhaps unsurprisingly, of the dominant languages Java has no such support as this &lt;a href="http://www.osnews.com/story/20076/Multiple_Return_Values_in_Java" target="_blank">recent post&lt;/a> addresses:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“Today was one of those days when I wished Java would support multiple return values… but Java allows you to return only one value either an object or a primitive type.”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>By contrast, languages such as Common Lisp do have support for multiple return values. See &lt;a href="http://lambda-the-ultimate.org/node/2833" target="_blank">this post&lt;/a> for some gory details and insights. Interesting also to reflect that as in the world of computing languages where there is a decided tilt towards a mainstream family of languages based on (or derived from) C, there may be dominant protocols at large on the Internet but no single “winner takes all”.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>mod_prism (Updated)</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/mod_prism-updated/</link><pubDate>Thu, 21 Aug 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/mod_prism-updated/</guid><description>&lt;p>I’ve just put up for comment a revised mod_prism (0.3) of the existing mod_prism RSS 1.0 module. This is now updated to the current PRISM version (v2.0) which was released in February ’08 and reissued with Errata in July ’08. The current mod_prism draft is registered &lt;a href="http://purl.org/rss/1.0/modules/" target="_blank">here&lt;/a>.&lt;/p>
&lt;p>The new draft charts all (five) versions of the PRISM specification (v1.0-v2.0) and maps PRISM terms to RSS 1.0 elements. Though not required as such for use of terms within an RSS 1.0 feed, an RSS 1.0 module does allow for easy housekeeping as well as providing usage guidelines and examples for how to use PRISM terms within an RSS 1.0 feed.&lt;/p>
&lt;p>The main interest for Crossref members will be the opportunity to update their current RSS 1.0 feeds to include the new PRISM terms &lt;strong>prism:doi&lt;/strong> and &lt;strong>prism:url&lt;/strong>. I blogged earlier &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/prismdoi/">here&lt;/a> about &lt;strong>prism:doi&lt;/strong> as it first appeared. The suggestions I put forward there were subsequently incorporated into the Errata for 2.0 which were published in July and are avaliable as a zip file &lt;a href="https://web.archive.org/web/20081019002715/http://www.prismstandard.org//specifications/2.0/PRISM2.0Errata.zip" target="_blank">here&lt;/a>.&lt;/p>
&lt;p>I would be very interested in receiving any feedback. I guess I should add to the v1.2 example of an RSS item in the draft an example also of a v2.0 RSS item which makes use of both &lt;strong>prism:doi&lt;/strong> and &lt;strong>prism:url&lt;/strong>.&lt;/p></description></item><item><title>Search Web Services - New Committee Drafts</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/search-web-services-new-committee-drafts/</link><pubDate>Tue, 29 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/search-web-services-new-committee-drafts/</guid><description>&lt;p>As posted &lt;a href="http://listserv.loc.gov/cgi-bin/wa?A2=ind0807&amp;amp;#038;L=zng&amp;amp;#038;T=0&amp;amp;#038;P=52" target="_blank">here&lt;/a> on the &lt;a href="https://web.archive.org/web/20130303230855/http://sun8.loc.gov/listarch/zng.html" target="_blank">SRU Implementors&lt;/a> list, the &lt;a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=search-ws" target="_blank">OASIS Search Web Services Technical Committee&lt;/a> has announced the release of five Committee Drafts, informally known as:&lt;/p>
&lt;ol>
&lt;li>&lt;a href="http://docs.oasis-open.org/search-ws/v1.0/apd-V1.0.html" target="_blank">Abstract Protocol Definition  (APD)&lt;/a>
&lt;ul>
&lt;li>&lt;a href="http://docs.oasis-open.org/search-ws/v1.0/sru-1-2-V1.0.html" target="_blank">Binding for SRU 1.2&lt;/a>
&lt;ul>
&lt;li>&lt;a href="http://docs.oasis-open.org/search-ws/v1.0/binding-for-get-V1.0.html" target="_blank">Auxiliary Binding for HTTP GET&lt;/a>
&lt;ul>
&lt;li>&lt;a href="http://docs.oasis-open.org/search-ws/v1.0/cql-1-2-v1.0.html" target="_blank">CQL 1.2&lt;/a>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="http://docs.oasis-open.org/search-ws/v1.0/opensearch-v1.0.html" target="_blank">Binding for OpenSearch&lt;/a>&lt;/ol>
Links to specific document formats are given at the bottom of the mail. A list of the TC public documents is also available &lt;a href="https://www.oasis-open.org/committees/documents.php?wg_abbrev=search-ws" target="_blank">here&lt;/a>.&lt;/p>
&lt;p>The next phase of work for the TC will be the development of SRU/CQL 2.0, and the Description Language.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol></description></item><item><title>Does Size Matter?</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/does-size-matter/</link><pubDate>Mon, 28 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/does-size-matter/</guid><description>&lt;p>Interesting &lt;a href="http://googleblog.blogspot.com/2008/07/we-knew-web-was-big.html" target="_blank">post&lt;/a> from Google, in which they say:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“Recently, even our search engineers stopped in awe about just how big the web is these days — when our systems that process links on the web to find new content hit a milestone: 1 trillion (as in 1,000,000,000,000) unique URLs on the web at once!”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>Puts Crossref’s 32,639,020 unique DOIs into some kind of perspective: 0.0033%. But nonetheless that trace percentage still seems to me to be reasonably large, especially in view of it forming a persistent and curated set.&lt;/p>
&lt;p>&lt;strong>&lt;em>Update:&lt;/em>&lt;/strong> Talking of Google numbers, &lt;a href="http://royal.pingdom.com/" target="_blank">pingdom&lt;/a> has a post “&lt;a href="http://royal.pingdom.com/?p=276" target="_blank">Map of all Google data center locations&lt;/a>” with maps of US, Europe and World locations.&lt;/p></description></item><item><title>Five Years</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/five-years/</link><pubDate>Mon, 28 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/five-years/</guid><description>&lt;p>Oh wow! A rather remarkable plea &lt;a href="http://lists.w3.org/Archives/Public/public-lod/2008Jul/0120.html" target="_blank">here&lt;/a> from Dan Brickley on the &lt;a href="http://lists.w3.org/Archives/Public/public-lod/" target="_blank">public-lod&lt;/a> mailing list which calls for the registrant of the &lt;a href="http://dbpedia.org/" target="_blank">dbpedia.org&lt;/a> DNS entry to top it up with another 5+ years worth of clocktime. Some quotes:&lt;/p>
&lt;blockquote>
&lt;p>_“The idea of such a cool RDF namespace having only 6 months left on the DNS registration gives me the worries.”&lt;/p>&lt;/p>
&lt;p>“If you could add another 5-10 years to the DNS registration I’d sleep easier at night.”&lt;/p>&lt;/p>
&lt;p>“Let me stress I’m not suggesting that this domain is actually at risk. Just that the not-at-risk-ness isn’t readily evident from a quick look in the DNS.”&lt;/p>&lt;/p>
&lt;p>“Those in the know are probably confident this is all in hand, but as the SW gets bigger I suspect we ought to establish practices such as “vocabularies that seek global adoption should always have 5+ years on their DNS registries”.”_&lt;/p>
&lt;/blockquote>
&lt;p>Yes, and maybe those cool URIs should have &lt;a href="http://en.wikipedia.org/wiki/Kite_mark" target="_blank">kite marks&lt;/a>, too. 😉&lt;/p>
&lt;p>(Btw, for those who may not already know the maximum length of time that &lt;em>any&lt;/em> DNS name may be leased out in a single registration is 10 years, see the &lt;a href="https://web.archive.org/web/20110318010717/http://www.icann.org/en/faq" target="_blank">FAQ&lt;/a> put out by ICANN.)&lt;/p>
&lt;p>So, pity the poor user of a given semantic web application who may not know what the expectancy is behind the nodes in an RDF graph of assertions. Shifting sands, indeed.&lt;/p></description></item><item><title>Knols and Citations</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/knols-and-citations/</link><pubDate>Thu, 24 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/knols-and-citations/</guid><description>&lt;p>So, Google’s &lt;a href="https://web.archive.org/web/20091108072655/http://knol.google.com/k" target="_blank">Knol&lt;/a> is now live (see &lt;a href="http://googleblog.blogspot.com/2008/07/knol-is-open-to-everyone.html" target="_blank">this announcement&lt;/a> on Google’s Blog). There’ll be comment aplenty about the merits of this service and how it compares to other user contributed content sites. But one curious detail struck me. In terms of citeability, compare how a Knol contribution (or “knol”) may be linked to as may be a corresponding entry in Wikipedia (here I’ve chosen the subject “Eclipse”):&lt;/p>
&lt;dl>
&lt;dt>&lt;em>Knol&lt;/em>&lt;/p>&lt;/dt>
&lt;dd>&lt;a href="https://web.archive.org/web/20080730124803/http://knol.google.com/k/jay-pasachoff/eclipse/IDZ0Z-SC/wTLUGw" target="_blank">https://web.archive.org/web/20080730124803/http://knol.google.com/k/jay-pasachoff/eclipse/IDZ0Z-SC/wTLUGw&lt;/a>&lt;/p>
&lt;dl>
&lt;dt>&lt;em>Wikipedia&lt;/em>&lt;/p>&lt;/dt>
&lt;dd>
&lt;p>&lt;a href="http://en.wikipedia.org/wiki/Eclipse" target="_blank">http://en.wikipedia.org/wiki/Eclipse&lt;/a>&lt;/dl>&lt;/p>
&lt;p>The Knol link includes author name, subject, and service gunk, while the Wikipedia link includes only the subject. That makes the Wikipedia link both more readily citeable as well as being to some degree discoverable. I wonder what Google’s intentions, if any, are with respect to the citing of their pages (or “knols”) as authoritative sources of information. They don’t seem to be doing themselves many favours.&lt;/p>
&lt;p>I am minded of &lt;a href="https://web.archive.org/web/20061103051120/http://q6.oclc.org.pluma.sjfc.edu/" target="_blank">this post&lt;/a> on Jeff Young’s &lt;a href="https://web.archive.org/web/20061103051120/http://q6.oclc.org.pluma.sjfc.edu/" target="_blank">Q6&lt;/a> which cites this passage from the HTTP spec (see &lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2" target="_blank">RFC 2616, Sect. 3.2&lt;/a>):&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“As far as HTTP is concerned, Uniform Resource Identifiers are simply formatted strings which identify-via name, location, or any other characteristic-a resource.”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>URIs bearing these so-called “characteristics” are what I would call a service URI in contrast to a name URI (something that I will elaborate on in a separate post). For now, however, I would just note that the Knol URI looks more like a service URI and the Wikipedia URI more like a name URI. I know which URI form I would prefer to cite.&lt;/p>
&lt;/dd>
&lt;/dl>
&lt;/dd>
&lt;/dl></description></item><item><title>Knols and Citations Part II</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/knols-and-citations-part-ii/</link><pubDate>Thu, 24 Jul 2008 00:00:00 +0000</pubDate><author>Ed Pentz</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/knols-and-citations-part-ii/</guid><description>&lt;p>&lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/knols-and-citations/">Tony’s post&lt;/a> highlights Knol’s “service” URIs. Another issue is that many Knol entries have nice long lists of unlinked references. The HTML code behind the references is very sparse.&lt;/p>
&lt;p>Might the DOI be of use in linking out from these references? I think so. Then, of course, there’s the issue of DOIs for Knols…&lt;/p></description></item><item><title>CrossTech By Numbers</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/crosstech-by-numbers/</link><pubDate>Mon, 21 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/crosstech-by-numbers/</guid><description>&lt;p>CrossTech is two years old (less one month) and we have now seen some 145 posts. Breaking the posts down by poster we arrive at the following chart:&lt;/p>
&lt;img alt="crosstech.png" src="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/crosstech.png" width="477" height="171" />
&lt;p>Note this is not any real attempt at vainglory, more a simple excuse to play with the wonderful &lt;a href="http://code.google.com/apis/chart/" target="_blank">Google Chart API&lt;/a>. Also, above I’ve taken the liberty of putting up an image (.png), although the chart could have been generated on the fly from &lt;a href="https://web.archive.org/web/20090218215119/http://code.google.com/apis/chart" target="_blank">this link&lt;/a> (or &lt;a href="http://tinyurl.com/6k38ra" target="_blank">tinyurl here&lt;/a>).&lt;/p>
&lt;p>What is of interest in the chart is that approximately 3/4 of the posts are by Crossref members (TH, EN, RK) and 1/4 by Crossref staff (EP, GB, AT, CK). Certainly Crossref staffers are doing their bit for this blog. There’s also way too many posts from me. It would be really interesting to see some others’ views or observations per the CrossTech logo legend (&lt;em>“…, collaboration, …”&lt;/em>).&lt;/p>
&lt;p>I guess the real impediment is that one needs to request an account before posting. (Certainly there’s no reason for any member to be shy about requesting an account and posting.) Note that I haven’t considered the number of commentators to the blog which is larger than the number of posters. Also a number of Crossref members are very active with their own blogs. Those blogs with a tech focus could (should?) be scooped up by a &lt;a href="https://web.archive.org/web/20080907094552/http://www.planetplanet.org/" target="_blank">Planet&lt;/a> style aggregator if there would be sufficient interest in maintaining a publishing technology hub.&lt;/p>
&lt;p>One can only hope that the numbers will continue to grow (by direct posts or by aggregations) and that there will be a wider info share over the next couple of years.&lt;/p></description></item><item><title>Library APIs</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/library-apis/</link><pubDate>Mon, 21 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/library-apis/</guid><description>&lt;p>Roy Tennant in a &lt;a href="https://web.archive.org/web/20081201160108/http://lists.webjunction.org/wjlists/xml4lib/2008-July/006059.html" target="_blank">post&lt;/a> to XML4Lib announces a new list of library APIs hosted at&lt;/p>
&lt;blockquote>
&lt;p>&lt;a href="https://web.archive.org/web/20080730080413/http://techessence.info/apis//" target="_blank">https://web.archive.org/web/20080730080413/http://techessence.info/apis//&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;p>A useful rough guide for us publishers to consider as we begin cultivating the multiple access routes into our own content platforms and tending to the “alphabet soup” that taken together comprises our public interfaces.&lt;/p></description></item><item><title>Metadata Matters</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/metadata-matters/</link><pubDate>Mon, 21 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/metadata-matters/</guid><description>&lt;p>Andy Powell has &lt;a href="http://www.slideshare.net/eduservfoundation/does-metadata-matter" target="_blank">published on Slideshare&lt;/a> this talk about metadata - see his &lt;a href="http://efoundations.typepad.com/efoundations/2008/07/does-metadata-m.html" target="_blank">eFoundations post&lt;/a> for notes. It’s 130 slides long and aims&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“to cover a broad sweep of history from library cataloguing, thru the Dublin Core, Web search engines, IEEE LOM, the Semantic Web, arXiv, institutional repositories and more.”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>Don’t be fooled by the length though. This is a flip through and is a readily accessible overview on the importance of metadata. Slides 86-91 might be of interest here. 😉&lt;/p></description></item><item><title>PRISM Press Release</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/prism-press-release/</link><pubDate>Wed, 09 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/prism-press-release/</guid><description>&lt;p>The &lt;a href="https://web.archive.org/web/20081019002715/http://www.prismstandard.org//" target="_blank">PRISM&lt;/a> metadata standards group issued a &lt;a href="https://web.archive.org/web/20160326011637/http://prismstandard.org/news/2008/PRISM_%20PR070808.pdf" target="_blank">press release&lt;/a> yesterday which covered three points:&lt;/p>
&lt;dl>
&lt;dt>PRISM Cookbook&lt;/p>&lt;/dt>
&lt;dd>The Cookbook provides &lt;em>“a set of practical implementation steps for a chosen set of use cases and provides insights into more sophisticated PRISM capabilities. While PRISM has 3 profiles, the cookbook only addresses the most commonly used profile #1, the well-formed XML profile. All recipes begin with a basic description of the business purpose it fulfills, followed by ingredients (typically a set of PRISM metadata fields or elements), and, closes with a step-by-step implementation method with sample XMLs and illustrative images.”&lt;/em>&lt;/p>
&lt;dl>
&lt;dt>PRISM 2.0 Errata &lt;/p>&lt;/dt>
&lt;dd>
&lt;p>The Errata &lt;em>“addresses a range of issues, from editorial to technical, that have been reported by the PRISM user community.”&lt;/em>&lt;/p>&lt;/p>
&lt;dl>
&lt;dt>PRISM 2.1&lt;/p>&lt;/dt>
&lt;dd>
&lt;p>The next version of the PRISM Specification, PRISM 2.1, is slated for release in late 2008. &lt;em>“This release will address complex rights for multi-platform and global distribution channels.”&lt;/em>&lt;/dl>&lt;/p>
&lt;/dd>
&lt;/dl>
&lt;/dd>
&lt;/dl>
&lt;/dd>
&lt;/dl></description></item><item><title>Now What About XMP?</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/now-what-about-xmp/</link><pubDate>Tue, 08 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/now-what-about-xmp/</guid><description>&lt;p>With PDF now passed over to ISO as keeper of the format (as blogged &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/iso-standard-for-pdf/">here&lt;/a> on CrossTech), Kas Thomas (on CMS Watch’s &lt;a href="https://web.archive.org/web/20090703195909/http://www.cmswatch.com/Trends" target="_blank">TrendWatch&lt;/a>) blogs &lt;a href="http://www.cmswatch.com/Trends/1295-PDF-now-has-a-standard-home,-but-whither-XMP?source=RSS" target="_blank">here&lt;/a> that Adobe should now do the right thing by XMP and look to hand that over too in order to establish it as a truly open standard. As he says:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“Let’s cut to the chase. If Adobe wants to demonstrate its commitment to openness, it should do for XMP what it has already done for PDF: Put it in the hands of a legitimate standards body. Right now it’s open in name only. “&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>And this:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“Adobe is pushing the XMP standard … at Adobe’s pace and in ways that benefit Adobe. (The parallels with PDF are numerous and obvious.) There are lingering technical issues waiting to be solved, however. Issues whose solutions shouldn’t have to be dependent on Adobe’s needs only.”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>He’s absolutely bang on. With XMP on the threshold of finally shining through we really could do with Adobe cutting it loose. It’s time to leave home.&lt;/p></description></item><item><title>ISO Standard for PDF</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/iso-standard-for-pdf/</link><pubDate>Thu, 03 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/iso-standard-for-pdf/</guid><description>&lt;p>I blogged &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/an-open-pdf/">here&lt;/a> back in Jan. 2007 about Adobe submitting PDF 1.7 for standardization by ISO. From yesterday’s ISO &lt;a href="https://web.archive.org/web/20131005054720/http://www.iso.org/iso/news.htm?refid=Ref1141" target="_blank">press release&lt;/a> this:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“The new standard, &lt;strong>ISO 32000-1, Document management – Portable document format – Part 1: PDF 1.7&lt;/strong>, is based on the PDF version 1.7 developed by Adobe. This International Standard supplies the essential information needed by developers of software that create PDF files (conforming writers), software that reads existing PDF files and interprets their contents for display and interaction (conforming readers), and PDF products that read and/or write PDF files for a variety of other purposes (conforming products).”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>Congrats to Adobe Systems!&lt;/p></description></item><item><title>Q6</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/q6/</link><pubDate>Thu, 03 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/q6/</guid><description>&lt;p>For anybody interested in the why’s and wherefore’s of OpenURL, Jeff Young at OCLC has started posting over on his blog Q6: 6 Questions - A simpler way to understand OpenURL 1.0: Who, What, Where, When, Why, and How (note: no longer available online). He’s already amassing quite a collection of thought provoking posts. His latest is The Potential of OpenURL (note: no longer available online), from which:&lt;/p>
&lt;p>&lt;em>OpenURL has effectively cornered the niche market where Referrers need to be decoupled from Resolvers.&lt;/em>&lt;/p>
&lt;p>Blog has UML diags, definitions, musings, etc. - something for everybody. Definitely worth checking out.&lt;/p></description></item><item><title>Client Handle Demo</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/client-handle-demo/</link><pubDate>Tue, 01 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/client-handle-demo/</guid><description>&lt;p>This test form shows handle value data being processed by JavaScript &lt;strong>&lt;em>in the browser&lt;/em>&lt;/strong> using an &lt;a href="http://code.google.com/p/openhandle/" target="_blank">OpenHandle&lt;/a> service. This is different from the handle &lt;a href="http://www.handle.net/" target="_blank">proxy server&lt;/a> which processes the handle data on the server - the data here is processed by the client.&lt;/p>
&lt;p>Enter a handle and the standard OpenHandle “Hello World” document is printed. Other processing could equally be applied to the handle values. (Note that the form may not work in web-based feed readers.)&lt;/p>
&lt;div id="response">
&lt;/div></description></item><item><title>Exposing Public Data: Options</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/exposing-public-data-options/</link><pubDate>Tue, 01 Jul 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/exposing-public-data-options/</guid><description>&lt;p>This is a follow-on to an &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/exposing-public-data">earlier post&lt;/a> which set out the lie of the land as regards DOI services and data for DOIs registered with Crossref. That post differentiated between a native DOI resolution through a public DOI service which acts upon the &lt;em>“associated values held in the DOI resolution record”&lt;/em> (per &lt;a href="https://www.iso.org/standard/81599.html" target="_blank">ISO CD 26324&lt;/a>) and other related DOI protected and/or private services which merely use the DOI as a key into non-public database offering.&lt;/p>
&lt;p>Following the service architecture outlined in that post, options for exposing public data appear as follows:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Private Service &lt;ol type="a">&lt;/p>
&lt;li>
Publisher hosted – Publisher private service&lt;/ol> &lt;li>
Protected Service &lt;ol type="a">
&lt;li>
Crossref hosted – Industry protected service &lt;li>
Crossref routed – Publisher private service&lt;/ol> &lt;li>
Public Service &lt;ol type="a">
&lt;li>
Handle System (DOI handle) – Global public service (native DOI service) &lt;li>
Handle System (DOI ‘buddy’ handle) – Publisher public service&lt;/ol> &lt;/ol> &lt;p>
(Continues below.)
&lt;/p>
&lt;pre>&lt;code> &amp;lt;p&amp;gt;
&lt;/code>&lt;/pre>
&lt;/li>
&lt;/ol>
&lt;p>&lt;br /> Option #1 would make public data available through a private service at a publisher host based on the DOI. This places certain constraints on service discovery and persistence. Autodiscovery links can be placed into Web pages, but there is no opportunity to ‘embed’ the services into the DOI itself, and hence these cannot be considered native DOI services. Without a published API (and hence some degree of commitment from the publisher) the service access points (and possibly the services, too) are fragile.&lt;br /> Option #2 would require Crossref to develop a service which would either a) deliver some public data on behalf of the publisher, or b) route requests through to a bespoke publisher service. Both options would require development at Crossref and an upload mechanism for the publisher to pass along data or service address. Both options would be offered as a new member service and would thus likely be subject to membership policy arrangements. One should consider that there would be some restrictions on service operation. One possible restriction might be that this would be a one-time service registration at Crossref and that any additional services would need to be added at the publisher end.&lt;br /> Option #3 uses the existing &lt;a href="http://www.handle.net/">Handle System&lt;/a> infrastructure and provides a public read service. There are two possibilities: a) add a record (or records) to the DOI handle, or b) add records to a DOI ‘buddy’ handle under publisher control. Both require further explanation:&lt;br /> Option #3a would require Crossref consent. Unless these records (handle values) were registered by Crossref there would be concerns over interoperability. That and security concerns would almost certainly require that Crossref writes the record. But this would then need to be developed as per Option #2 above. And if a mechanism were put in place it could be restrictive in practice, e.g. not allowing additional records to be inserted (as already noted in Option #2).&lt;br /> Option #3b requires no prior Crossref consent. It is an option available to publishers who run a handle server. This can best be viewed as deploying a platform (a DOI ‘buddy’ handle) for hosting service access points with an intention to upload into the DOI handle (effectively Option #3a) as common public services are developed. In short, a public service incubator. Meantime the platform provides for an independent deployment and multiple services can be added as required. An uplink from a so-called DOI ‘buddy’ handle to the DOI handle would be maintained, and also as Crossref allows a down link from the DOI handle to the DOI ‘buddy’ handle (a ‘see also’ type link) could be established thus pairing off these two handles. (Of course, additional values whether held in the DOI resolution record or especially in an associated DOI ‘buddy’ record would be subject to common typing constraints for semantic interoperability.)&lt;br /> My personal feeling is that public data is best exposed via a public resolution record with no strings attached. That is the surest way to guarantee both data persistence and accessibility.
&lt;/p>&lt;/p></description></item><item><title>The Thing About DOI</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/the-thing-about-doi/</link><pubDate>Mon, 30 Jun 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/the-thing-about-doi/</guid><description>&lt;p>With Library of Congress sometime back (Feb. ’08) &lt;a href="http://catalogablog.blogspot.com/2008/02/lccn-permalink.html" target="_blank">announcing&lt;/a> &lt;a href="http://lccn.loc.gov/" target="_blank">LCCN Permalinks&lt;/a> and NLM also (Mar. ’08) introducing &lt;a href="https://www-nlm-nih-gov.pluma.sjfc.edu/pubs/techbull/ma08/ma08_simplified_web_links.html" target="_blank">simplified web links&lt;/a> with its PubMed identifier one might be forgiven for wondering what is the essential difference between a DOI name and these (and other) seemingly like-minded identifiers from a purely web point of view. Both these identifiers can be accessed through very simple URL structures:&lt;/p>
&lt;p>With Library of Congress sometime back (Feb. ’08) &lt;a href="http://catalogablog.blogspot.com/2008/02/lccn-permalink.html" target="_blank">announcing&lt;/a> &lt;a href="http://lccn.loc.gov/" target="_blank">LCCN Permalinks&lt;/a> and NLM also (Mar. ’08) introducing &lt;a href="http://www.nlm.nih.gov.pluma.sjfc.edu/pubs/techbull/ma08/ma08_simplified_web_links.html" target="_blank">simplified web links&lt;/a> with its PubMed identifier one might be forgiven for wondering what is the essential difference between a DOI name and these (and other) seemingly like-minded identifiers from a purely web point of view. Both these identifiers can be accessed through very simple URL structures:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://lccn.loc.gov/2003556443" target="_blank">https://lccn.loc.gov/2003556443&lt;/a>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="http://www-ncbi-nlm-nih-gov.pluma.sjfc.edu/pubmed/16481614" target="_blank">http://www-ncbi-nlm-nih-gov.pluma.sjfc.edu/pubmed/16481614&lt;/a> (although &lt;a href="https://web.archive.org/web/20090106151604/http://pubmed.com/1386390" target="_blank">https://web.archive.org/web/20090106151604/http://pubmed.com/1386390&lt;/a> also works as noted &lt;a href="http://shelved.blogspot.com/2008/04/pubmed-sends-out-few-new-blooms.html" target="_blank">here&lt;/a>)&lt;/ul>
And the DOI itself can be resolved using an equally simple URL structure:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="http://dx.doi.org.pluma.sjfc.edu/10.1000/1" target="_blank">http://dx.doi.org.pluma.sjfc.edu/10.1000/1&lt;/a>&lt;/ul>
So, why does DOI not just present itself as a simple database number which is accessed through a simple web link and have done with it, e.g. a page for the object named by the DOI “10.1000/1” is retrieved from the DOI proxy server at &lt;a href="http://dx.doi.org.pluma.sjfc.edu/" target="_blank">http://dx.doi.org.pluma.sjfc.edu/&lt;/a>?&lt;/p>
&lt;p>Essentially the typical DOI link presents an elementary web-based URL which performs a useful redirect service. What is different about this and, say a &lt;a href="http://purl.org/" target="_blank">PURL&lt;/a>, which offers a similar redirect service? What’s the big deal?&lt;/p>
&lt;p>(Continues below.)&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Well, the thing about DOI is that it is built upon a directory service - the &lt;a href="http://www.handle.net/" target="_blank">Handle System&lt;/a> - and can be accessed either through native directory calls or more likely through standard web interfaces. From a web point of view we are usually interested in the latter. Differently from a simple lookup and/or redirect service which has a fixed entry point on the Web, the DOI can be serviced at &lt;em>any&lt;/em> DOI service access point on the Internet. There are potentially multiple entry points which can be hosted by different organisations with separate IP addresses and/or DNS names.&lt;/p>
&lt;pre>&lt;code> For example, the [DOI proxy][8] (described [here][9]) is just _one instance_ of such a service. Others could equally exist. And, in fact, they do. The following handle web services will also take the DOI and do the business:
* &amp;lt;http://hdl.handle.net/10.1000/1&amp;gt;
* &amp;lt;http://hdl.nature.com.pluma.sjfc.edu/10.1000/1&amp;gt;&amp;lt;/ul&amp;gt;
With handle we have in essence a redirect to a redirect. Or in the case of a web service, a redirect (from HTTP to HDL) to a redirect (from HDL to HDL) to a redirect (from HDL to HTTP). That is, switch down from the web interface to the native handle layer, route the call from this local handle sever (via the global handle server) to the DOI handle server, fetch the URL stored with the DOI and switch back to the Web at that location.
But there’s more. The standard URL redirect is just _one_ example of a DOI service. But multiple services can also be provided for the DOI. Currently the DOI travels light and is bound to the minimum of useful data, essentially just the URL for a splash page in the case of many Crossref DOIs. But it could also carry pointers to structured information or to relationships with other objects.
As yet, the DOI is a fledgling in terms of realizing its true potential as a seasoned actor that can play out many roles - assume many guises. A queen bee, in effect, with a hive of worker bees servicing it. It is not joined at the hip with any particular web service as might be commonly understood with the current simple redirect service. It offers much more.
It is, however, true that both for reasons of link persistency and in order to maintain link ranking with search crawlers that a preferred web entry point is via the [DOI proxy][8]. It just doesn’t have to be that way - that’s all. Hard linking is something we are beginning to unlearn and instead we are taking our first steps towards embracing service-mediated links such as OpenURL and DOI can both offer.
&lt;/code>&lt;/pre></description></item><item><title>Handle System Workshop</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/handle-system-workshop/</link><pubDate>Fri, 20 Jun 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/handle-system-workshop/</guid><description>&lt;img alt="charlemagne.jpg" src="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/charlemagne.jpg" width="275" height="134" />
&lt;p>I was invited to speak at the &lt;a href="http://www.handle.net/workshop_08/" target="_blank">Handle System Workshop&lt;/a> which was run back to back with an &lt;a href="https://www-old-doi-org.pluma.sjfc.edu/doi_presentations/members_meeting_2008/index.html" target="_blank">IDF Open Meeting&lt;/a> earlier this week in Brussels and hosted at the Office for Official Publications of the European Union. (Location was in the Charlemagne Building, at left in image, within the rather impressive meeting room Jean Durieux, at right.)&lt;/p>
&lt;p>My talk (‘&lt;a href="http://www.handle.net/workshop_08/presentations/Hammond_Handle08.ppt" target="_blank">A Distributed Metadata Architecture&lt;/a>‘) was focussed on how &lt;a href="http://code.google.com/p/openhandle/" target="_blank">OpenHandle&lt;/a> and &lt;a href="http://www.adobe.com/products/xmp/" target="_blank">XMP&lt;/a> could be leveraged to manage dispersed media assets. (The &lt;a href="http://code.google.com/p/openhandle/" target="_blank">OpenHandle&lt;/a> work makes the Handle and DOI systems more readily acessible to applications.)&lt;/p>
&lt;p>Other speakers were Norman Paskin (IDF), Gordon Dunsire (Centre for Digital Library Research, University of Strathclyde), Brian Green (Editeur), Jill Cousins (European Digital Library Foundation), Jan Brase (TIB, Germany), Larry Lannom (CNRI), Ed Pentz (Crossref), Nigel Ward (Link Affiliates), and Dan Broeder (CLARIN/MPG).&lt;/p>
&lt;p>The agendas for the two meetings are posted &lt;a href="https://www-old-doi-org.pluma.sjfc.edu/doi_presentations/members_meeting_2008/index.html" target="_blank">here&lt;/a> (DOI) and &lt;a href="http://www.handle.net/workshop_08/" target="_blank">here&lt;/a> (Handle).&lt;/p></description></item><item><title>PubMed Central Links to Publisher Full Text</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/pubmed-central-links-to-publisher-full-text/</link><pubDate>Thu, 12 Jun 2008 00:00:00 +0000</pubDate><author>Ed Pentz</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/pubmed-central-links-to-publisher-full-text/</guid><description>&lt;p>A Crossref Member Briefing is available that explains how &lt;a href="http://www.pubmedcentral.nih.gov.pluma.sjfc.edu/" target="_blank">PubMed Central (PMC)&lt;/a> links to publisher full text, how PMC uses DOIs and how PMC &lt;em>should&lt;/em> be using DOIs. The briefing is entitled &lt;a href="http://www.crossref.org.pluma.sjfc.edu/pdfs/pmc-briefing-june2008.pdf" target="_blank">“Linking to Publisher Full Text from PubMed Central” (PDF 85k)&lt;/a>.&lt;/p>
&lt;p>Crossref considers it very important the PMC uses DOIs as the main means to link to the publisher version of record for an article and we are recommending that publishers try to convince PMC to use DOIs in an automated way. Almost all of the PMC articles contain DOIs but they aren’t linked. This seems like a waste considering that publishers have invested a lot in Crossref and DOIs as unique identifiers and persistent links.&lt;/p>
&lt;p>This issue will be of interest to anyone who publishers journal articles that are the result of NIH funding and fall under the &lt;a href="http://publicaccess.nih.gov.pluma.sjfc.edu/" target="_blank">NIH Public Access Policy&lt;/a>.&lt;/p></description></item><item><title>Robots: One Standard Fits All</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/robots-one-standard-fits-all/</link><pubDate>Wed, 04 Jun 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/robots-one-standard-fits-all/</guid><description>&lt;p>Interesting &lt;a href="https://web.archive.org/web/20080630064024/http://www.ysearchblog.com/archives/000587.html" target="_blank">post&lt;/a> from Yahoo! Search’s Director of Product Management, Priyank Garg, “&lt;em>One Standard Fits All: Robots Exclusion Protocol for Yahoo!, Google and Microsoft&lt;/em>“. Interesting also for what it doesn’t talk about. No mention here of &lt;a href="https://web.archive.org/web/20080514202201/http://the-acap.org/" target="_blank">ACAP&lt;/a>.&lt;/p></description></item><item><title>Exposing Public Data</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/exposing-public-data/</link><pubDate>Sat, 31 May 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/exposing-public-data/</guid><description>&lt;p>As the range of public services (e.g. RSS) offered by publishers has matured this gives rise to the question: How can they expose their public data so that a user may discover them? Especially, with DOI there is now in place a persistence link infrastructure for accessing primary content. How can publishers leverage that infrastructure to advantage?&lt;/p>
&lt;p>Anyway, I offer this figure as to how I see the current lie of the land as regards DOI services and data.&lt;/p>
&lt;table>
&lt;tr>
&lt;td>
&lt;img alt="doi-services.jpg" src="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/doi-services.jpg" width="482" height="383" />
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;i>Legend - Current DOI service architecture showing data repositories, service access points, and open/closed data domains.&lt;/i>
&lt;/td>
&lt;/tr>
&lt;/table>
&lt;p>The figure above shows the three data repositories and service access points in the current DOI services architecture. At right and bottom of the figure are the two types of service (&lt;strong>public services&lt;/strong> and &lt;strong>private services&lt;/strong>) that together are instrumental in getting a user from a DOI-based link (on a third-party site) to the correct page of content (from the primary content provider). (Note that a fourth, private data repository – the institutional repository – comes into play when OpenURL user context-sensitive linking is added.)&lt;/p>
&lt;p>At left of the figure are services operated by Crossref on its own metadata database which support a) publisher lookups of DOI, and b) third-party metadata services (DOI-to-metadata and metadata-to-DOI conversions). These might best be labelled &lt;strong>protected services&lt;/strong> since they are not freely available: the first is open to members at a cost, while the second is free but to associated organisations only – members, affiliates, etc.&lt;/p>
&lt;p>The term &lt;strong>open data&lt;/strong> is used here in the sense implied by the current W3C SWEO LOD (&lt;a href="http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData" target="_blank">Linking Open Data&lt;/a>) Project. Open data is public data unencumbered by any access restrictions. By contrast, &lt;strong>closed data&lt;/strong> is data that has some access restrictions placed on it – even data that is open to affiliates. (This is not an issue that LOD addresses directly, although it is implied that data is globally ‘open’, i.e. public.)&lt;/p>
&lt;p>The current DOI service architecture thus breaks down as:&lt;/p>
&lt;ul>
&lt;li>Native DOI services – resolving the DOI token
&lt;ul>
&lt;li>Public – DOI Proxy Server (‘dx.doi.org’)&lt;/ul>
&lt;ul>
&lt;li>Related DOI services – using the DOI token
&lt;ul>
&lt;li>Protected – Crossref
&lt;ul>
&lt;li>
&lt;p>Private – Publisher&lt;/ul> &lt;/ul>
Note that a DOI is ‘resolved’ into state data registered with it, or as &lt;a href="https://www.iso.org/standard/81599.html" target="_blank">ISO CD 26324&lt;/a> puts it: &lt;em>“Resolution is the process of submitting a specific DOI name to the DOI system and receiving in return the associated values held in the DOI resolution record for one or more types of data relating to the object identified by that DOI name.”&lt;/em>&lt;/p>
&lt;p>So, how might publishers best leverage this DOI service architecture to expose their public data?&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>Dark Side of the DOI</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/dark-side-of-the-doi/</link><pubDate>Thu, 29 May 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/dark-side-of-the-doi/</guid><description>&lt;p>&lt;a href="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/openhandle_p5_radial.jpg" onclick="window.open('/wp/blog/images/openhandle_p5_radial.jpg','popup','width=902,height=603,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">&lt;img alt="openhandle_p5_radial.jpg" src="https://www-crossref-org.pluma.sjfc.edu/wp/blog/images/openhandle_p5_radial.jpg" width="450" height="300" />&lt;/a>&lt;/p>
&lt;p>(Click to enlarge.)&lt;/p>
&lt;p>For infotainment only (and because it’s a pretty printing). Glimpse into the dark world of DOI. Here, the handle contents for &lt;a href="http://dx.doi.org.pluma.sjfc.edu/doi:10.1038/nature06930" target="_blank">doi:10.1038/nature06930&lt;/a> exposed as a standard &lt;a href="http://code.google.com/p/openhandle/" target="_blank">OpenHandle&lt;/a> ‘Hello World’ document. Browser image courtesy of &lt;a href="http://ejohn.org/blog/processingjs/" target="_blank">Processing.js&lt;/a> and &lt;a href="http://www.mozilla.com/en-US/firefox/all-rc.html" target="_blank">Firefox 3 RC1&lt;/a>.&lt;/p></description></item><item><title>Referencing OpenURL</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/referencing-openurl/</link><pubDate>Thu, 29 May 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/referencing-openurl/</guid><description>&lt;p>So, why is it just so difficult to reference OpenURL?&lt;/p>
&lt;p>Apart from the standard itself (hardly intended for human consumption - see abstract page &lt;a href="http://www.niso.org/kst/reports/standards?step=2&amp;amp;#038;project_key=d5320409c5160be4697dc046613f71b9a773cd9e" target="_blank">here&lt;/a> and PDF and don’t even think to look at those links - they weren’t meant to be cited!), seems that the best reference is to the &lt;a href="http://en.wikipedia.org/wiki/OpenURL" target="_blank">Wikipedia page&lt;/a>. There is the OpenURL Registry page at &lt;a href="http://openurl.info/registry" target="_blank">http://alcme.oclc.org.pluma.sjfc.edu/openurl/servlet/OAIHandler?verb=ListSets&lt;/a> but this is just a workshop. Not much there beyond the OpenURL registered items. (And why does the page seem uncertain as to whether it’s a “repository” or a “registry”? Is there no difference between those terms?) The only other links are to a mix of HTML and PDF resources. (There really should be a health warning on links to PDFs - they are just not browser friendly documents.) And, I do have to wonder at this: the registry page has a link to the unofficial 0.1 version but not to the 1.0 standard. Er, why? And don’t even try this link: &lt;a href="http://openurl.info/" target="_blank">http://openurl.info/&lt;/a>. Not much info there.&lt;/p>
&lt;p>Where else to go? The &lt;a href="http://niso.org/" target="_blank">NISO site&lt;/a> allows a search on “openurl” which returns links to the standard and to other related documents.&lt;/p>
&lt;p>And then there’s the community site &lt;a href="https://web.archive.org/web/20091027024029/http://openurl.code4lib.org/" target="_blank">https://web.archive.org/web/20091027024029/http://openurl.code4lib.org/&lt;/a> targeted at developers and its &lt;a href="https://web.archive.org/web/20111104051428/http://openurl.code4lib.org/aggregator" target="_blank">Planet OpenURL&lt;/a> which is a useful source for current awareness.&lt;/p>
&lt;p>Me, I’m sticking with the Wikipedia page as the best reference for OpenURL. How odd that OpenURL aimed at improving linking on the Web should not have it’s own simple access point. Thank heavens at least that DOI has a single reference point: &lt;a href="http://doi.org.pluma.sjfc.edu/" target="_blank">http://doi.org.pluma.sjfc.edu/&lt;/a>.&lt;/p></description></item><item><title>Tombstone</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/tombstone/</link><pubDate>Fri, 23 May 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/tombstone/</guid><description>&lt;p>So, the big guns have decided that &lt;a href="http://www.oasis-open.org/committees/xri/" target="_blank">XRI&lt;/a> is out. In a &lt;a href="http://lists.w3.org/Archives/Public/www-tag/2008May/0078" target="_blank">message&lt;/a> from the TAG yesterday, variously noted as being “categorical” (Andy Powell, &lt;a href="http://efoundations.typepad.com/efoundations/2008/05/w3c-technical-a.html" target="_blank">eFoundations&lt;/a>) and a “proclamation” (Edd Dumbill, &lt;a href="http://www.oreillynet.com/xml/blog/2008/05/xris_bad_uris_good.html" target="_blank">XML.com&lt;/a>), the co-chairs (Tim Berners-Lee and Stuart Williams) had this to say:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“We are not satisfied that XRIs provide functionality not readily available from http: URIs. Accordingly the TAG recommends against taking the XRI specifications forward, or supporting the use of XRIs as identifiers in other specifications.”&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>Alas, poor XRI. But what might this also mean for other URI schemes (note the reference above to “http: URIs)? Well, the message starts out with this:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“In The Architecture of the World Wide Web &lt;a href="http://www.oasis-open.org/committees/xri/" target="_blank">1&lt;/a> the TAG sets out the reasons why http: URIs are the foundation of the value proposition for the Web, and should be used for naming on the Web. “&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>Now I’m not sure that this is quite what &lt;a href="http://www.w3.org/TR/webarch/" target="_blank">AWWW&lt;/a> actually says. I don’t find it to be that insistent that “&lt;em>http” URIs … should be used for naming on the Web&lt;/em>” but I would need to read it more carefully. Certainly, “http: URIs” fit the bill and are top of the class. But there is also a general recognition that other schemes than “http:” do exist.&lt;/p>
&lt;p>Interesting times anyway with a “winner takes all” approach to identification. I wonder what this all means for DOI.&lt;/p></description></item><item><title>Metadata Reuse Policies</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/metadata-reuse-policies/</link><pubDate>Tue, 20 May 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/metadata-reuse-policies/</guid><description>&lt;p>Following on from yesterday’s &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/natures-metadata-for-web-pages">post&lt;/a> about making metadata available on our Web pages, I wanted to ask here about “metadata reuse policies”. Does anybody have a clue as to what might constitute a best practice in this area? I’m specifically interested in license terms, rather than how those terms would be encoded or carried. Increasingly we are finding more channels to distribute metadata (RSS, HTML, OAI-PMH, etc.) but don’t yet have any clear statement for our customers as to how they might reuse that data.&lt;/p>
&lt;p>Time to put the caveats aside and focus on the actuals.&lt;/p></description></item><item><title>Nature’s Metadata for Web Pages</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/natures-metadata-for-web-pages/</link><pubDate>Mon, 19 May 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/natures-metadata-for-web-pages/</guid><description>&lt;p>Well, we may not be the first but wanted anyway to report that Nature has now embedded metadata (&lt;a href="http://www.w3.org/TR/html4/struct/global.html#h-7.4.4" target="_blank">HTML meta tags&lt;/a>) into all its newly published pages including full text, abstracts and landing pages (all bar four titles which are currently being worked on). Metadata coverage extends back through the Nature archives (and depth of coverage varies depending on title). This conforms to the W3C’s Guideline 13.2 in the &lt;a href="http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/#gl-facilitate-navigation" target="_blank">Web Content Accessibility Guidelines 1.0&lt;/a> which exhorts content publishers to “provide metadata to add semantic information to pages and sites”.&lt;/p>
&lt;p>Metadata is provided in both DC and PRISM formats as well as in Google’s own bespoke metadata format. This generally follows the &lt;a href="http://dublincore.org/documents/dc-html/" target="_blank">DCMI recommendation&lt;/a> “&lt;em>Expressing Dublin Core metadata using HTML/XHTML meta and link elements&lt;/em>, and the earlier &lt;a href="http://www.ietf.org/rfc/rfc2731.txt" target="_blank">RFC 2731&lt;/a> “&lt;em>Encoding Dublin Core Metadata in HTML”&lt;/em>. (Note that schema name is normalized to lowercase.) Some notes:&lt;/p>
&lt;ul>
&lt;li>The DOI is included in the “&lt;code>dc.identifier&lt;/code>” term in URI form which is the Crossref recommendation for citing DOI.
&lt;ul>
&lt;li>We could consider adding also “&lt;code>prism.doi&lt;/code>” for disclosing the native DOI form. This requires the PRISM namespace declaration to be bumped to v2.0. We might consider synchronizing this change with our RSS feeds which are currently pegged at v1.2, although note that the RSS module &lt;a href="https://web.archive.org/web/20080726155717/http://www.prismstandard.org/resources/mod_prism.html" target="_blank">mod_prism&lt;/a> currently applies only to PRISM v1.2.
&lt;ul>
&lt;li>We could then also add in a “&lt;code>prism.url&lt;/code>” term to link back (through the DOI proxy server) to the content site. The namespace issue listed above still holds.
&lt;ul>
&lt;li>The “&lt;code>citation_&lt;/code>” terms are not anchored in any published namespace which does make this term set problematic in application reuse. It would be useful to be able to reference a namespace (e.g. “&lt;code>rel=&amp;quot;schema.gs&amp;quot; href=&amp;quot;...&amp;quot;&lt;/code>“) for these terms and to cite them as e.g. “&lt;code>gs.citation_title&lt;/code>“. &lt;/ul>
The HTML metadata sets from an example &lt;a href="http://dx.doi.org.pluma.sjfc.edu/10.1038/nature06925" target="_blank">landing page&lt;/a> are presented below.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>If you view the page source you should see something like the text below. (Note that you may have to scroll past whitespace which is emitted by the HTML template generator.)&lt;/p>
&lt;pre>&lt;code> &amp;lt;pre&amp;gt;&amp;amp;lt;link title=&amp;quot;schema(DC)&amp;quot; rel=&amp;quot;schema.dc&amp;quot; href=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; /&amp;amp;gt;
&lt;/code>&lt;/pre>
&lt;p>&amp;lt;meta name=&amp;ldquo;dc.publisher&amp;rdquo; content=&amp;ldquo;Nature Publishing Group&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;dc.language&amp;rdquo; content=&amp;ldquo;en&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;dc.rights&amp;rdquo; content=&amp;quot;© 2008 Nature Publishing Group&amp;quot; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;dc.title&amp;rdquo; content=&amp;ldquo;Crystal structure of squid rhodopsin&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;dc.creator&amp;rdquo; content=&amp;ldquo;Midori Murakami&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;dc.creator&amp;rdquo; content=&amp;ldquo;Tsutomu Kouyama&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;dc.identifier&amp;rdquo; content=&amp;ldquo;doi:10.1038/nature06925&amp;rdquo; /&amp;gt;
&amp;lt;link title=&amp;ldquo;schema(PRISM)&amp;rdquo; rel=&amp;ldquo;schema.prism&amp;rdquo; href=&amp;ldquo;&lt;a href="https://web.archive.org/web/20080516191035/http://www.prismstandard.org//namespaces/1.2/basic/%22" target="_blank">https://web.archive.org/web/20080516191035/http://www.prismstandard.org//namespaces/1.2/basic/"&lt;/a> /&amp;gt;
&amp;lt;meta name=&amp;ldquo;prism.copyright&amp;rdquo; content=&amp;rdquo;© 2008 Nature Publishing Group&amp;quot; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;prism.rightsAgent&amp;rdquo; content=&amp;ldquo;&lt;a href="mailto:permissions@nature.com">permissions@nature.com&lt;/a>&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;prism.publicationName&amp;rdquo; content=&amp;ldquo;Nature&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;prism.issn&amp;rdquo; content=&amp;ldquo;0028-0836&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;prism.eIssn&amp;rdquo; content=&amp;ldquo;1476-4687&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;prism.volume&amp;rdquo; content=&amp;ldquo;453&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;prism.number&amp;rdquo; content=&amp;ldquo;7193&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;prism.startingPage&amp;rdquo; content=&amp;ldquo;363&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;prism.endingPage&amp;rdquo; content=&amp;ldquo;367&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;citation_journal_title&amp;rdquo; content=&amp;ldquo;Nature&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;citation_publisher&amp;rdquo; content=&amp;ldquo;Nature Publishing Group&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;citation_authors&amp;rdquo; content=&amp;ldquo;Midori Murakami, Tsutomu Kouyama&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;citation_title&amp;rdquo; content=&amp;ldquo;Crystal structure of squid rhodopsin&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;citation_volume&amp;rdquo; content=&amp;ldquo;453&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;citation_issue&amp;rdquo; content=&amp;ldquo;7193&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;citation_firstpage&amp;rdquo; content=&amp;ldquo;363&amp;rdquo; /&amp;gt;
&amp;lt;meta name=&amp;ldquo;citation_doi&amp;rdquo; content=&amp;ldquo;doi:10.1038/nature06925&amp;rdquo; /&amp;gt;
&lt;/pre>&lt;/p>
&lt;pre>&lt;code> While it is not expected that search engines will index these terms directly and that no direct SEO is intended, we think there is enough value for applications to make use of these terms. The terms are reasonably accessible to simple scripts, etc. Note that even in [RFC 2731][4] (published in 1999) there is a Perl script listed in Section 9 which allows the metadata name/value pairs to be easily pulled out. Running this over the example page yields the following output:
&amp;lt;pre&amp;gt;@(urc;
&lt;/code>&lt;/pre>
&lt;p>@|MISSING ELEMENT NAME; text/css
@|MISSING ELEMENT NAME; text/html; charset=iso-8859-1
@|robots; noarchive
@|keywords; Nature, science, science news, biology, physics, genetics, astronomy, astrophysics, quantum physics, evolution, evolutionary biology, geophysics, climate change, earth science, materials science, interdisciplinary science, science policy, medicine, systems biology, genomics, transcriptomics, palaeobiology, ecology, molecular biology, cancer, immunology, pharmacology, development, developmental biology, structural biology, biochemistry, bioinformatics, computational biology, nanotechnology, proteomics, metabolomics, biotechnology, drug discovery, environmental science, life, marine biology, medical research, neuroscience, neurobiology, functional genomics, molecular interactions, RNA, DNA, cell cycle, signal transduction, cell signalling.
@|description; Nature is the international weekly journal of science: a magazine style journal that publishes full-length research papers in all disciplines of science, as well as News and Views, reviews, news, features, commentaries, web focuses and more, covering all branches of science and how science impacts upon all aspects of society and life.
@|dc.publisher; Nature Publishing Group
@|dc.language; en
@|dc.rights; #169; 2008 Nature Publishing Group
@|dc.title; Crystal structure of squid rhodopsin
@|dc.creator; Midori Murakami
@|dc.creator; Tsutomu Kouyama
@|dc.identifier; doi:10.1038/nature06925
@|prism.copyright; © 2008 Nature Publishing Group
@|prism.rightsAgent; &lt;a href="mailto:permissions@nature.com">permissions@nature.com&lt;/a>
@|prism.publicationName; Nature
@|prism.issn; 0028-0836
@|prism.eIssn; 1476-4687
@|prism.volume; 453
@|prism.number; 7193
@|prism.startingPage; 363
@|prism.endingPage; 367
@|citation_journal_title; Nature
@|citation_publisher; Nature Publishing Group
@|citation_authors; Midori Murakami, Tsutomu Kouyama
@|citation_title; Crystal structure of squid rhodopsin
@|citation_volume; 453
@|citation_issue; 7193
@|citation_firstpage; 363
@|citation_doi; doi:10.1038/nature06925
@)urc;
&lt;/pre>&lt;/p></description></item><item><title>DOIs and PubMed Central - why no links?</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/dois-and-pubmed-central-why-no-links/</link><pubDate>Wed, 14 May 2008 00:00:00 +0000</pubDate><author>Ed Pentz</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/dois-and-pubmed-central-why-no-links/</guid><description>&lt;p>Further to my previous post &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/nih-mandate-and-pmcids/">“NIH Mandate and PMCIDs”&lt;/a> we’ve been looking into linking to articles on publishers’ sites from PubMed Central (PMC). There are a couple of ways this happens currently (see details below) but these are complicated and will lead to broken links and more difficulty for PMC and publishers in managing the links. Crossref is going to be putting together a briefing note for its members on this soon.&lt;/p>
&lt;p>The main issue we are raising with PMC, and that we will encourage publishers to raise too, is &lt;strong>why doesn’t PMC just automatically link DOIs?&lt;/strong> Most of the articles in PMC have DOIs so this would require very little effort from PMC and &lt;strong>no&lt;/strong> effort from publishers and would give readers a perisistent link to the publisher’s version of an article.&lt;/p>
&lt;p>Current PMC linking methods. 1) Links on &lt;a href="http://www.pubmedcentral.nih.gov.pluma.sjfc.edu/articlerender.fcgi?artid=2377029" target="_blank">Author Manuscripts&lt;/a> in PMC are pulled in from PubMed’s &lt;a href="http://www-ncbi-nlm-nih-gov.pluma.sjfc.edu/projects/linkout/" target="_blank">LinkOut service&lt;/a> which requires the publisher to register with PubMed and provide linking files. The DOI can be specified as the linking mechanism via LinkOut.&lt;/p>
&lt;ol start="2">
&lt;li>For &lt;a href="http://www.pubmedcentral.nih.gov.pluma.sjfc.edu/articlerender.fcgi?artid=2254226&amp;amp;#038;rendertype=abstract" target="_blank">final version of articles&lt;/a> in PMC the journal image at the top of the page can be &lt;a href="http://www.pubmedcentral.nih.gov.pluma.sjfc.edu/articlerender.fcgi?artid=2248749&amp;amp;#038;rendertype=abstract" target="_blank">linked to the journal homepage&lt;/a> or can have a &lt;a href="http://www.pubmedcentral.nih.gov.pluma.sjfc.edu/articlerender.fcgi?artid=2235871&amp;amp;#038;rendertype=abstract" target="_blank">“this article” link&lt;/a> to the publisher’s site. The publisher has to sign up with PMC for specifying the header graphic and the links. &lt;a href="https://web.archive.org/web/20080916065531/http://www.pubmedcentral.nih.gov.pluma.sjfc.edu/pmcdoc/pubsetup.doc" target="_blank">https://web.archive.org/web/20080916065531/http://www.pubmedcentral.nih.gov.pluma.sjfc.edu/pmcdoc/pubsetup.doc (word doc)&lt;/a> say “The static base (&lt;a href="http://www.biomedcentral.com/" target="_blank">http://www.biomedcentral.com/&lt;/a>) of the URLs for this link comes from the HTML template. PMC then dynamically completes the URL by adding an issn/vol/page. ” and then says that any item in the XML (such as the DOI) can be used.&lt;/li>
&lt;/ol>
&lt;p>Both of the approaches outlined above require extra work and will be difficult for smaller publishers. In addition, the links will be fragile by not being based on DOIs. Publishers can specify that DOIs can be used but it isn’t easy. We’d like to leverage the resources that publishers have already put into the DOI system but automatically making the DOIs active links - it would be very easy.&lt;/p></description></item><item><title>OpenHandle: Languages Support</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/openhandle-languages-support/</link><pubDate>Mon, 21 Apr 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/openhandle-languages-support/</guid><description>&lt;p>Following up the earlier &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/openhandle-google-code-project/">post&lt;/a> on &lt;a href="http://code.google.com/p/openhandle/" target="_blank">OpenHandle&lt;/a>, there are now a number of language examples which have been contributed to the project. The diagram below shows the OpenHandle service in schematic with various languages support. Briefly, OpenHandle aims to provide a web services interface to the Handle System to simplify access to the data stored for a given Handle.&lt;/p>
&lt;p>(Note that the diagram is an HTML imagemap and all elements are “clickable”.)&lt;/p>
&lt;p>&lt;em>Note: this diagram is no longer available online as of 2023. We show the code here for reference.&lt;/em>&lt;/p>
&lt;pre tabindex="0">&lt;code>&amp;lt;map name=&amp;#34;GraffleExport&amp;#34;&amp;gt;
&amp;lt;area shape=poly coords=&amp;#34;302,133,273,117,244,133,266,149,261,157,274,150,302,133&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodeLisp&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;359,93,330,77,302,93,324,109,318,117,332,110,359,93&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodeFSharp&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;186,93,157,77,129,93,151,109,145,117,159,110,186,93&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodeAppleScript&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;244,93,215,77,186,93,208,109,203,117,217,110,244,93&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodeCSharp&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;244,174,215,157,186,174,208,189,203,197,217,190,244,174&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodePython&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;244,133,215,117,186,133,208,149,203,157,217,150,244,133&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodeJavaScript&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;186,174,157,157,129,174,151,189,145,197,159,190,186,174&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodePhp&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;302,93,273,77,244,93,266,109,261,117,274,110,302,93&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodeErlang&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;359,133,330,117,302,133,324,149,318,157,332,150,359,133&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodePerl&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;302,174,273,157,244,174,266,189,261,197,274,190,302,174&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodeRuby&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;359,174,330,157,302,174,324,189,318,197,332,190,359,174&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodeSmalltalk&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;186,133,157,117,129,133,151,149,145,157,159,150,186,133&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/wiki/OpenHandleCodeJava&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;255,237,255,260,266,260,244,272,222,260,233,260,233,237,222,237,244,225,266,237,255,237&amp;#34; href=&amp;#34;http://www.ietf.org/rfc/rfc2616.txt&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;174,527,174,495,196,491,217,495,217,527,196,531,174,527&amp;#34; href=&amp;#34;http://hdl.handle.net/&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;270,527,270,495,292,491,314,495,314,527,292,531,270,527&amp;#34; href=&amp;#34;http://hdl.handle.net/&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;152,268,210,268,210,300,152,304,152,268&amp;#34; href=&amp;#34;http://nascent.nature.com.pluma.sjfc.edu/openhandle/handle?id=10100/nature&amp;amp;#038;mimetype=text/plain&amp;amp;#038;format=rdf&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;201,307,258,307,258,339,201,343,201,307&amp;#34; href=&amp;#34;http://nascent.nature.com.pluma.sjfc.edu/openhandle/handle?id=10100/nature&amp;amp;#038;mimetype=text/plain&amp;amp;#038;format=n3&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;267,297,325,297,325,329,267,333,267,297&amp;#34; href=&amp;#34;http://nascent.nature.com.pluma.sjfc.edu/openhandle/handle?id=10100/nature&amp;amp;#038;mimetype=text/plain&amp;amp;#038;format=json&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;255,426,255,450,266,450,244,461,222,450,233,450,233,426,222,426,244,414,266,426,255,426&amp;#34; href=&amp;#34;http://www.ietf.org/rfc/rfc3651.txt&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;262,355,262,388,226,388,226,355,262,355&amp;#34; href=&amp;#34;http://nascent.nature.com.pluma.sjfc.edu/openhandle/handle?id=10100/nature&amp;amp;#038;mimetype=text/plain&amp;amp;#038;format=rdf&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;277,223,292,208,320,208,344,220,330,235,301,235,277,223&amp;#34; href=&amp;#34;http://nascent.nature.com.pluma.sjfc.edu/openhandle/handle?id=10.1000/1&amp;amp;#038;mimetype=text/plain&amp;amp;#038;format=json&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;148,244,162,229,191,229,215,241,201,256,172,256,148,244&amp;#34; href=&amp;#34;http://nascent.nature.com.pluma.sjfc.edu/openhandle/handle?id=10100/nature&amp;amp;#038;mimetype=text/plain&amp;amp;#038;format=json&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;222,507,222,475,244,471,266,475,266,507,244,511,222,507&amp;#34; href=&amp;#34;http://hdl.handle.net/&amp;#34;&amp;gt; &amp;lt;area shape=poly coords=&amp;#34;49,215,89,102,191,62,305,79,401,143,393,282,315,350,198,363,105,317,49,215,120,481,140,501,178,501,199,474,186,442,152,436,122,447,120,481,49,215,57,569,79,571,89,547,71,534,53,548,57,569,49,215,57,569&amp;#34; href=&amp;#34;http://code.google.com/p/openhandle/&amp;#34;&amp;gt;
&amp;lt;/map&amp;gt;
&lt;/code>&lt;/pre></description></item><item><title>NIH Mandate and PMCIDs</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/nih-mandate-and-pmcids/</link><pubDate>Tue, 15 Apr 2008 00:00:00 +0000</pubDate><author>Ed Pentz</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/nih-mandate-and-pmcids/</guid><description>&lt;p>The &lt;a href="http://publicaccess.nih.gov.pluma.sjfc.edu/" target="_blank">NIH Public Access Policy&lt;/a> says “When citing their NIH-funded articles in NIH applications, proposals or progress reports, authors must include the PubMed Central reference number for each article” and the &lt;a href="http://publicaccess.nih.gov.pluma.sjfc.edu/FAQ.htm#c6" target="_blank">FAQ&lt;/a> provides some examples of this:&lt;/p>
&lt;p>Examples:&lt;/p>
&lt;p>Varmus H, Klausner R, Zerhouni E, Acharya T, Daar A, Singer P. 2003. PUBLIC HEALTH: Grand Challenges in Global Health. Science 302(5644): 398-399. PMCID: 243493&lt;/p>
&lt;p>Zerhouni, EA. (2003) A New Vision for the National Institutes of Health. Journal of Biomedicine and Biotechnology (3), 159-160. PMCID: 400215&lt;/p>
&lt;p>It’s interesting to note that on PMC itself both the [The &lt;a href="http://publicaccess.nih.gov.pluma.sjfc.edu/" target="_blank">NIH Public Access Policy&lt;/a> says “When citing their NIH-funded articles in NIH applications, proposals or progress reports, authors must include the PubMed Central reference number for each article” and the &lt;a href="http://publicaccess.nih.gov.pluma.sjfc.edu/FAQ.htm#c6" target="_blank">FAQ&lt;/a> provides some examples of this:&lt;/p>
&lt;p>Examples:&lt;/p>
&lt;p>Varmus H, Klausner R, Zerhouni E, Acharya T, Daar A, Singer P. 2003. PUBLIC HEALTH: Grand Challenges in Global Health. Science 302(5644): 398-399. PMCID: 243493&lt;/p>
&lt;p>Zerhouni, EA. (2003) A New Vision for the National Institutes of Health. Journal of Biomedicine and Biotechnology (3), 159-160. PMCID: 400215&lt;/p>
&lt;p>It’s interesting to note that on PMC itself both the][3] - but the DOI isn’t linked. Two things occur to me - 1) should Crossref map DOIs to PMCIDs and vice versa and make PMCIDs available in it’s query interfaces and 2) shouldn’t publishers ask that the PMC copy of the article link back to the publisher version? It would be very easy with the DOI.&lt;/p></description></item><item><title>Word Add-in for Scholarly Authoring and Publishing</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/word-add-in-for-scholarly-authoring-and-publishing/</link><pubDate>Wed, 26 Mar 2008 00:00:00 +0000</pubDate><author>Crossref</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/word-add-in-for-scholarly-authoring-and-publishing/</guid><description>&lt;p>Last week Pablo Fernicola sent me email announcing that Microsoft have finally released a beta of their Word plugin for marking-up manuscripts with the NLM DTD. I say “finally” because we’ve know this was on the way and have been pretty excited to see it. We once even hoped that MS might be able to show the plug-in at the &lt;a href="http://www.alpsp.org.uk/ngen_public/article.asp?id=335&amp;amp;#038;did=47&amp;amp;#038;aid=1244&amp;amp;#038;st=&amp;amp;#038;oaid=-1" target="_blank">ALPSP session on the NLM DTD&lt;/a>, but we couldn’t quite manage it.&lt;/p>
&lt;p>The plugin is targeted at production/editorial staff, but, of course, it will be interesting to see if any of this work can be pushed back to the author. I won’t hold my breath on the latter score, but it will be fun to watch.&lt;/p>
&lt;p>One thing I would note is that the NLM DTD can also be used in the humanities and social sciences, so, frankly, I think they should market it more broadly.&lt;/p>
&lt;p>Anyway- the plugin can be &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=09C55527-0759-4D6D-AE02-51E90131997E&amp;amp;#038;displaylang=en" target="_blank">downloaded&lt;/a> from the Microsoft site.&lt;/p>
&lt;p>And Pablo has setup a &lt;a href="https://web.archive.org/web/20080725223420/http://blogs.msdn.com/exscientia/archive/2008/03/20/Technology-Preview-Launch.aspx" target="_blank">blog where testers can discuss&lt;/a> the add-in.&lt;/p>
&lt;p>And there is also an &lt;a href="https://web.archive.org/web/20080411085902/http://www.microsoft.com/mscorp/tc/scholarly-publishing.mspx" target="_blank">entry for the project&lt;/a> on the Microsoft Research site (an interesting place to peruse, if you have a moment).&lt;/p>
&lt;p>Congatulations to Pablo and his team.&lt;/p></description></item><item><title>OpenHandle: Google Code Project</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/openhandle-google-code-project/</link><pubDate>Fri, 07 Mar 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/openhandle-google-code-project/</guid><description>&lt;p>Just announced on the &lt;a href="http://www.handle.net/mail-archive/handle-info/msg00254.html" target="_blank">handle-info&lt;/a> and &lt;a href="http://lists.w3.org/Archives/Public/semantic-web/2008Mar/0054.html" target="_blank">semantic-web&lt;/a> mailing lists is the &lt;a href="http://code.google.com/p/openhandle/" target="_blank">OpenHandle&lt;/a> project on Google Code. This may be of some interest to the DOI community as it allows the handle record underpinning the DOI to be exposed in various common text-based serializations to make the data stored within the records more accessible to Web applications. Initial serializations include RDF/XML, RDF/N3, and JSON.&lt;/p>
&lt;p>We’d be very interested in receiving feedback on this project - either on this blog or over on the &lt;a href="https://code.google.com/archive/p/openhandle/" target="_blank">project wiki&lt;/a>.&lt;/p></description></item><item><title>Object Reuse and Exchange</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/object-reuse-and-exchange/</link><pubDate>Wed, 05 Mar 2008 00:00:00 +0000</pubDate><author>Chuck Koscher</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/object-reuse-and-exchange/</guid><description>&lt;p>On March 3rd the Open Archives Initiative held a roll out meeting of the first alpha release of the ORE specification (&lt;a href="http://www.openarchives.org/ore/" target="_blank">http://www.openarchives.org/ore/&lt;/a>) . According to Herbert Van de Sompel a beta release is planned for late March / early April and a 1.0 release targeted for September. The presentations focused on the aggregation concepts behind ORE and described an ATOM based implementation. ORE is the second project from the OAI but unlike its sibling PMH it is not exclusively a repository technology. ORE provides machine readable manifests for related Web resources in any context. For instance, DOI landing pages (aka splash page) are human readable resources containing links to any number of resources related to the work identified by the DOI. An ORE instance for the DOI (called a Rem or resource map) would describe the same set of resources in a machine friendly format. A standardized form of redirection understood by the DOI proxy would yield the Rem instead of normal page e.g.&lt;/p>
&lt;p>&lt;code>http://dx.doi.org.pluma.sjfc.edu/10.5555/abcd?type=rem&lt;/code>
which could be useful for crawlers.&lt;/p>
&lt;p>A second roll out meeting is planned during the Sparc-08 workshops in early April.&lt;/p></description></item><item><title>ISO/CD 26324 (DOI)</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/iso/cd-26324-doi/</link><pubDate>Fri, 22 Feb 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/iso/cd-26324-doi/</guid><description>&lt;p>Following on from my &lt;a href="https://www-crossref-org.pluma.sjfc.edu/blog/prismdoi/">previous post&lt;/a> about &lt;tt>prism:doi&lt;/tt> I didn’t mention, or reference, the ongoing ISO work on DOI, Indeed I hadn’t realized that the DOI site now has a &lt;a href="http://doi.org.pluma.sjfc.edu/about_the_doi.html#standards" target="_blank">status update&lt;/a> on the ISO work:&lt;/p>
&lt;blockquote>
&lt;p>_“The DOI® System is currently being standardised through ISO. It is expected that the process will be finalised during 2008. In December 2007 the Working Group for this project approved a final draft as a Committee Draft (standard for voting) which is now being processed by ISO. Copies of the Committee Draft (&lt;a href="http://doi.org.pluma.sjfc.edu/ISO_Standard/sc9n475.pdf" target="_blank">SC9N475&lt;/a>) and an accompanying explanatory document detailing issues dealt with during the standards process (&lt;a href="http://doi.org.pluma.sjfc.edu/ISO_Standard/sc9n474.pdf" target="_blank">SC9N474&lt;/a>) are provided here for information.&lt;/p>&lt;/p>
&lt;p>Committee Draft 26324 is subject to ISO’s copyright and is for information only to those interested in the project; it may not be re-distributed. This is currently undergoing the formal ISO voting process; the deadline for comments on CD 26324 from TC46/SC9’s national bodies is April 25, 2008: please contact your national member of ISO TC46/SC9 if you would like it contribute to comments on this draft standard. Other documents for the ISO DOI Working Group are available on a &lt;a href="https://web.archive.org/web/20070610161109/http://www.lac-bac.gc.ca/iso/tc46sc9/wg7/index.html" target="_blank">DOI Project Register&lt;/a>.”_&lt;/p>
&lt;/blockquote></description></item><item><title>prism:doi</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/prismdoi/</link><pubDate>Fri, 22 Feb 2008 00:00:00 +0000</pubDate><author>Tony Hammond</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/prismdoi/</guid><description>&lt;p>The new &lt;a href="https://idealliance.org/workflow-innovations-publishers-requirement-for-industry-standard-metadata-prism/" target="_blank">PRISM&lt;/a> spec (v. 2.0) was published this week, see the &lt;a href="https://web.archive.org/web/20160326011620/http://www.prismstandard.org//news/2008/PRISM_%20PR021908.pdf" target="_blank">press release&lt;/a>. (Downloads are available &lt;a href="https://web.archive.org/web/20080828062500/http://www.prismstandard.org/specifications/" target="_blank">here&lt;/a>.)&lt;/p>
&lt;p>This is a significant development as there is support for XMP profiles, to complement the existing XML and RDF/XML profiles. And, as PRISM is one of the major vocabularies being used by publishers, I would urge you all to go take a look at it and to consider upgrading your applications to using it.&lt;/p>
&lt;p>&lt;strong>One caveat.&lt;/strong> There’s a new element &lt;code>&amp;lt;tt&amp;gt;prism:doi&amp;lt;/tt&amp;gt;&lt;/code> (PRISM Namespace, 4.2.13) which sits alongside another new element &lt;code>&amp;lt;tt&amp;gt;prism:url&amp;lt;/tt&amp;gt;&lt;/code> (PRISM Namespace, 4.2.55). Unfortunately the &lt;code>&amp;lt;tt&amp;gt;prism:doi&amp;lt;/tt&amp;gt;&lt;/code> element is shown to take DOI proxy URL as its value - and not the DOI string itself, e.g.&lt;/p>
&lt;ul>
&lt;li>Model #1&lt;br>
&lt;code>&amp;lt;prism:doi rdf:resource=”http://dx.doi.org.pluma.sjfc.edu/10.1030/03054”/&amp;gt;&lt;/code>&lt;/li>
&lt;li>Model #2&lt;br>
&lt;code>&amp;lt;prism:doi&amp;gt;http://dx.doi.org.pluma.sjfc.edu/10.1030/03054&amp;lt;/prism:doi&amp;gt;&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>This seems to me to just plain wrong. The DOI in itself is not a URL (or URI) - although can, and should, be represented in URI form when used in Web contexts (i.e. pretty much most of the time). As a literal it should be used in its native form as specified in &lt;a href="https://web.archive.org/web/20150923223621/http://www.niso.org/apps/group_public/download.php/14689/z39-84-2005_r2010.pdf" target="_blank"> ANSI/NISO Z39.84 - 2005 Syntax for the Digital Object Identifier&lt;/a>. This would only satisfy Model #2 above.&lt;/p>
&lt;p>To satisfy Model #1 above a URI form for DOI would be required. And this is &lt;strong>not&lt;/strong> the service URI denoted by the proxy. It would either have to be:&lt;/p>
&lt;ul>
&lt;li>Model #1 - Registered URI Form&lt;br>
&lt;code>&amp;lt;prism:doi rdf:resource=”info:doi/10.1030/03054”/&amp;gt;&lt;/code>
* Model #1 - Unregistered URI Form&lt;br>
&lt;code>&amp;lt;prism:doi rdf:resource=”doi:10.1030/03054”/&amp;gt;&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>Any comments? Some guidelines from Crossref would be useful - although maybe further discussion is required. It is, of course, a constant bugbear that “doi:” remains an unregistered URI scheme.&lt;/p></description></item><item><title>Added XML format parameter to Crossref’s OpenURL resolver</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/added-xml-format-parameter-to-crossrefs-openurl-resolver/</link><pubDate>Wed, 13 Feb 2008 00:00:00 +0000</pubDate><author>Chuck Koscher</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/added-xml-format-parameter-to-crossrefs-openurl-resolver/</guid><description>&lt;p>From the beginning our OpenURL resolver has had a non standard feature of returning metadata in response to a request instead of redirecting to the referrent. This feature returned one of our older XML formats which is a bit limited as to the fields it contains.&lt;/p>
&lt;p>Sometime after our resolver was deployed we introduced a more verbose XML format for DOI metadata called ‘UNIXREF”. This was always available to regular queries against the Crossref system but was never introduced to the OpenURL resolver (for no particular reason).&lt;/p>
&lt;p>We’ve since learned that some user’s are relying on the OpenURL’s metadata feature to build proper references in situations where they have a DOI and that the older XML format is insufficient. Therefor I’ve added a ‘format’ parameter to our OpenURL resolver which allows one to request the more verbose UNIXREF. (see &lt;a href="http://www.crossref.org.pluma.sjfc.edu/openurl" target="_blank">www.crossref.org/openurl&lt;/a>)&lt;/p>
&lt;p>As always please feel free to contact us regarding new features or changes to existing features that might be helpful.&lt;/p>
&lt;p>Regards,&lt;/p>
&lt;p>Chuck&lt;/p></description></item><item><title>Crossref Citation Plugin (for WordPress)</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/crossref-citation-plugin-for-wordpress/</link><pubDate>Sat, 09 Feb 2008 00:00:00 +0000</pubDate><author>Crossref</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/crossref-citation-plugin-for-wordpress/</guid><description>&lt;p>OK, after a number of delays due to everything from indexing slowness to router problems, I’m happy to say that the first public beta of our &lt;a href="http://wordpress.org/" target="_blank">WordPress&lt;/a> citation plugin is available for &lt;a href="https://sourceforge.net/projects/crossref-cite/" target="_blank">download via SourceForge&lt;/a>. A &lt;a href="http://www.movabletype.org/" target="_blank">Movable Type&lt;/a> version is in the works.&lt;/p>
&lt;p>And congratulations to Trey at OpenHelix who became laudably impatient, &lt;a href="https://web.archive.org/web/20080216002622/http://www.openhelix.com/blog/?p=128" target="_blank">found the SourceForge entry for the plugin&lt;/a> back on February 8th and seems to have been testing it since. He has a nice description of how it works (along with screenshots), so I won’t repeat the effort here.&lt;/p>
&lt;p>Having said that, I do include the text of the README after the jump. Please have a look at it before you install, because it might save you some mystification.&lt;/p>
&lt;h2 id="description">Description&lt;/h2>
&lt;p>A WordPress plugin that allows you to search Crossref metadata using citations or partial citations. When you find the reference that you want, insert the formatted and DOI-linked citation into your blog posting along with supporting &lt;a href="https://web.archive.org/web/20090927174724/http://ocoins.info/" target="_blank">COINs&lt;/a> metadata. The plugin supports both a long citation format and a short (op. cit.) format.&lt;/p>
&lt;h2 id="warnings-caveats-and-weasel-words">Warnings, Caveats and Weasel Words&lt;/h2>
&lt;p>Please note the following about this plugin:&lt;/p>
&lt;ol>
&lt;li>We are releasing this as a test. It is running on R&amp;amp;D equipment in a non-production environment and so it may disappear without warning or perform erratically. If it isn’t working for some reason, come back later and try again. If it seems to be broken for a prolonged period of time, then please report the problem to us via sourceforge.&lt;/li>
&lt;li>There is currently a 20 item limit on the number of hits returned per query. This might seem arbitrary and stingy, but please remember- we are not trying to create a fully blown search engine- we’re just trying to create a citation lookup service. Of course, if, after looking at how the service is used, it looks like we need to up this limit, we will.&lt;/li>
&lt;li>If you look in the plugin options (or at the code), you will see that the system includes an API key. At the moment we have no restrictions on use of this service, but have included this in case we need to protect the system from abuse.&lt;/li>
&lt;li>The bulk of the functionality we have developed is actually at the back-end. This plugin is just a lightweight interface to that back-end. You can examine the guts of the plugin in order to easily figure out how to create similar functionality for your favorite blog platform, wiki, etc. If you do create something, please let us know. We’d love to see what people are building.&lt;/li>
&lt;li>We are continuing to experiment with the metadata search function in order to increase its accuracy and flexibility. Again, this might result in seemingly inconsistent behavior. Did we mention that this is a test?&lt;/li>
&lt;li>Please note that this API is not meant for bulk harvesting of Crossref metadata. If you need such facilities, then please look at our web site for information about our metadata services.&lt;/li>
&lt;li>The data currently behind the plugin is *just* a December 2007 snapshot of our our complete journal article metadata. We have not added books or proceedings yet. We will do so soon and we will start updating the metadata weekly.&lt;/li>
&lt;/ol>
&lt;p>We welcome your ideas for tools that we can provide to help researchers. Please, please, please send comments, requests, queries and ideas to us at:&lt;/p>
&lt;p>&lt;a href="mailto:citation-plugin@crossref.org">citation-plugin@crossref.org&lt;/a>&lt;/p></description></item><item><title>CLADDIER Final Report</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/claddier-final-report/</link><pubDate>Tue, 15 Jan 2008 00:00:00 +0000</pubDate><author>Crossref</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/claddier-final-report/</guid><description>&lt;p>I just ran across the final report from the &lt;a href="http://www.ukoln.ac.uk/repositories/digirep/index/CLADDIER" target="_blank">CLADDIER project.&lt;/a> CLADDIER comes from the &lt;a href="http://www.jisc.ac.uk/" target="_blank">JISC&lt;/a> and stands for “CITATION, LOCATION, And DEPOSITION IN DISCIPLINE &amp;amp; INSTITUTIONAL REPOSITORIES”. I suspect JISC has an entire department dedicated to creating impossible acronyms (the JISC Acronym Preparation Executive?)&lt;/p>
&lt;p>Anyhoo- the report describes a distributed citation location and updating service based on the &lt;a href="http://en.wikipedia.org/wiki/Linkback" target="_blank">linkback&lt;/a> mechanism that is widely used in the blogging community.&lt;/p>
&lt;p>I think this is an interesting approach and is one that I talked about &lt;a href="http://www.uksg.org/sites/uksg.org/files/PresentationBilder.pdf" target="_blank">briefly&lt;/a> (PDF) at the &lt;a href="https://web.archive.org/web/20080512153431/http://www.uksg.org/events/measure" target="_blank">UKSG’s Measure for Measure seminar&lt;/a> last June. I think that, like most proponents of p2p distributed architectures, they massively underestimate the problem of trust in the network. They fully knowledge the problem of linkback spam, but their hand-wavy-solution(tm) of using whitelists just means the system effectively becomes semi-centralized again (you have to have trusted keepers of the whitelists).&lt;/p>
&lt;p>And of course I was mildly exasperated by the report’s characterization of one of the perceived “disadvantages” of the Crossref architectural model being a :&lt;/p>
&lt;blockquote>
&lt;p>“Centralised service hosting a large persistent store – with the need for a (possibly commercial) business model to justify providing the service.”&lt;/p>
&lt;/blockquote>
&lt;p>Though DOI registries like &lt;a href="http://www.bowker.com.pluma.sjfc.edu/" target="_blank">Bowker&lt;/a> and &lt;a href="http://www.doi.nielsenbookdata.co.uk" target="_blank">Nielsen Bookdata&lt;/a> are commercial, Crossref, the organisation that services the industry that the JISC is concerned with, is *not* a commercial service.&lt;/p>
&lt;p>Also if you replaced the phrase “justify providing” with the word “sustain”, the sentence wouldn’t sound like such a “disadvantage.”&lt;/p>
&lt;p>But aside from these quibbles, the report makes an interesting (if technical) read.&lt;/p></description></item><item><title>BISG Paper on Identifying Digital Book Content</title><link>https://www-crossref-org.pluma.sjfc.edu/blog/bisg-paper-on-identifying-digital-book-content/</link><pubDate>Mon, 14 Jan 2008 00:00:00 +0000</pubDate><author>Ed Pentz</author><guid>https://www-crossref-org.pluma.sjfc.edu/blog/bisg-paper-on-identifying-digital-book-content/</guid><description>&lt;p>BISG and BIC have published a discussion paper called “The identification of digital book content” - &lt;a href="https://web.archive.org/web/20090920075334/http://www.bisg.org/docs/DigitalIdentifiers_07Jan08.pdf" target="_blank">https://web.archive.org/web/20090920075334/http://www.bisg.org/docs/DigitalIdentifiers_07Jan08.pdf&lt;/a>. The paper discusses ISBN, ISTC and DOI amongst other things and makes a series of recommendations which basically say to consider applying DOI, ISBN and ISTC to digital book content. The paper highlights in a positive way that DOI and ISBN are different but can work together (the idea of the “actionable ISBN” and aiding discovery of content). However, it doesn’t go into much depth on any of the issues or really explain how all these identifiers would work together and the critical role that metadata plays.&lt;/p>
&lt;p>Nevertheless it’s great that the paper has been put forward as a discussion document - Crossref plans to respond and be part of the ongoing discussion in this area.&lt;/p></description></item></channel></rss>