Subject: Re: use of IRIs in Atom

From: Peter Saint-Andre <[email-masked]>
Date: Tue, 31 Jul 2012 17:43:24 -0600

On 7/31/12 4:11 PM, James M Snell wrote:
> IRIs in Atom are generally used for two purposes:
> 
> 1. Opaque-identifiers
> 2. Links
> 
> When used as identifiers, the IRIs will typically be validated to
> generally conform to Absolute IRI structure requirements but are
> otherwise treated as opaque strings. Comparison is performed
> character-by-character in a case-sensitive manner without any further
> processing.
> 
> When used as links, the IRIs will typically be handed off to existing
> HTTP stacks -- in some cases converted to URIs first. Most Atom stacks
> that I have seen do not perform any particular processing of such URLs
> beyond the possible IRI2URI conversion. Atom does support the use of
> relative references and the establishment of base URLs resolved against
> either the HTTP context (e.g. request URI, content-location header, etc)
> or the xml:base attribute. Beyond ASCII conversion and relative
> reference resolution, however, I would wager that the majority of Atom
> stacks typically treat such IRIs as generally opaque and depend on the
> underlying HTTP stack to "process" the IRI.

Hi James, that's very helpful. Thanks for the quick response!

Peter

-- 
Peter Saint-Andre
https://stpeter.im/

---

From: Mark Nottingham <[email-masked]>
Date: Wed, 1 Aug 2012 09:26:50 -0700

My .02 - if we were to do Atom again, I wouldn't have used IRIs for identifiers; they're not presented to users, so they don't really offer any benefit over URIs.

Cheers,

On 31/07/2012, at 3:11 PM, James M Snell <[email-masked]> wrote:

> When used as identifiers, the IRIs will typically be validated to generally conform to Absolute IRI structure requirements but are otherwise treated as opaque strings. Comparison is performed character-by-character in a case-sensitive manner without any further processing.
> 
> When used as links, the IRIs will typically be handed off to existing HTTP stacks -- in some cases converted to URIs first. Most Atom stacks that I have seen do not perform any particular processing of such URLs beyond the possible IRI2URI conversion. Atom does support the use of relative references and the establishment of base URLs resolved against either the HTTP context (e.g. request URI, content-location header, etc) or the xml:base attribute. Beyond ASCII conversion and relative reference resolution, however, I would wager that the majority of Atom stacks typically treat such IRIs as generally opaque and depend on the underlying HTTP stack to "process" the IRI.
> 
> - James
> 
> On Tue, Jul 31, 2012 at 2:55 PM, Peter Saint-Andre <[email-masked]> wrote:
> 
> The IETF's IRI WG is working to update RFC 3987 (Internationalized
> Resource Identifiers). We're doing some informal research to determine
> how IRIs are used in existing protocols [1], and Atom seems like an
> interesting case. In particular with respect to IRI processing, we're
> curious whether Atom implementations (a) strictly follow the rules from
> RFC 3987, (b) use the same processing algorithms as other XML
> applications, or (c) use the same processing algorithms as HTML
> applications. If you have insights into this issue, please do let us know.
> 
> Thanks!
> 
> Peter
> 
> [1] http://lists.w3.org/Archives/Public/public-iri/2012Jul/0060.html
> 
> 
> 

--
Mark Nottingham
http://www.mnot.net/

---

From: Peter Saint-Andre <[email-masked]>
Date: Wed, 01 Aug 2012 10:36:05 -0600

And why even URLs? They could have been UUIDs or somesuch. But that's
water under the bridge, I suppose...

---

From: Mark Nottingham <[email-masked]>
Date: Wed, 1 Aug 2012 09:37:22 -0700

Well, indeed; all they really need to be is a string that's unique. The important aspect is that they're compared character-by-character, and IMHO that's made most apparent when they're just strings.

Anyway, like you say…

--
Mark Nottingham
http://www.mnot.net/