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