Subject: use of IRIs in Atom

From: Peter Saint-Andre <[email-masked]>
Date: Tue, 31 Jul 2012 15:55:01 -0600

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

---

From: James M Snell <[email-masked]>
Date: Tue, 31 Jul 2012 15:11:10 -0700

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.

- James