Print

Print


At Thu, 2 Apr 2009 13:47:50 +0100,
Mike Taylor wrote:
> 
> Erik Hetzner writes:
>  > Without external knowledge that info:doi/10.1111/xxx is a URI, I can
>  > only guess.
> 
> Yes, that is true.  The point is that by specifying that the rft_id
> has to be a URI, you can then use other kinds of URI without needing
> to broaden the specification.  So:
> 	info:doi/10.1111/j.1475-4983.2007.00728.x
> 	urn:isbn:1234567890
> 	ftp://ftp.indexdata.com/pub/yaz
> 
> [Yes, I am throwing in an ftp: URL as an identifier just because I can
> -- please let's not get sidetracked by this very bad idea :-) ]
>
> This is not just hypothetical: the flexibility is useful and the
> ecapsulation of the choice within a URI is helpful. I maintain an
> OpenURL resolver that handles rft_id's by invoking a plugin
> depending on what the URI scheme is; for some URI schemes, such as
> info:, that then invokes another, lower-level plugin based on the
> type (e.g. "doi" in the example above). Such code is straightforward
> to write, simple to understand, easy to maintain, and nice to extend
> since all you have to do is provide one more encapsulated plugin.

Thanks for the clarification. Honestly I was also responding to Rob
Sanderson’s message (bad practice, surely) where he described URIs as
‘self-describing’, which seemed to me unclear. URIs are only
self-describing insofar as they describe what type of URI they are.

I think that all of us in this discussion like URIs. I can’t speak
for, say, Andrew, but, tentatively, I think that I prefer
<info:doi/10.1111/xxx> to plain 10.111/xxx. I would just prefer
<http://dx.doi.org/10.1111/xxx>

>  > (Caveat: I have no idea what rft_id, etc, means, so maybe that
>  > changes the meaning of what you are saying from how I read it.)
> 
> No, it's doesn't :-)  rft_id is the name of the parameter used in
> OpenURL 1.0 to denote a referent ID, which is the same thing I've been
> calling a Thing Identifier elsewhere in this thread.  The point with
> this part of OpenURL is precisely that you can just shove any
> identifier at the resolver and leave it to do the best job it can.
> Your only responsibility is to ensure that the identifier you give it
> is in the form of a URI, so the resolver can use simple rules to pick
> it apart and decide what to do.

Thanks.

best,
Erik Hetzner