Replace the term "URI" with the term "URI reference". State that atom:id elements cannot contain relative URI references.

This proposal is based on the text of together with the changes proposed by PaceXmlBaseEverywhere




Where the format specification currently uses the term "URI", in many cases it should be using the term "URI reference" in order to allow relative URIs to be used in Atom. The use of relative URI references has already been implied by the use of XML Base in Atom.

The use of relative URI references in atom:id creates extra complexity with comparatively little benefit however, so this Pace also proposes that atom:id should only contain absolute URI references. One of the concerns is that if relative URI references are used in ids, then this could cause entries to have multiple aliases if the feed can be accessed from multiple locations, which is a property that Atom disallows.

Because it is common for fragments to be used in identifiers, especially in RDF, this Pace proposes that atom:id should be an absolute URI reference, rather than an absoluteURI.

This proposal only replaces the term "URI" with "URI reference" when it is used to refer to a syntactic component in the specification, the term URI is retained when it is used to refer to the meaning of the URI that the reference ultimately refers to.


In section 3.2.2 replace:


In section 3.4.2 replace:


In section 3.4.3 replace:


In section 4.2.6 replace:


      absolute-URI-reference = absoluteURI [ "#" fragment ]

In section 4.2.7 replace:


In section 5.5 replace:


      absolute-URI-reference = absoluteURI [ "#" fragment ]

In section 5.12 replace:



This proposal only addresses the usage of relative relative URI references in Atom Format. The use of relative URI references in Atom Publishing Protocol is more complex and may need to be addressed separately.

Unfortunately there is no term explicitly defined in RFC2396 for an absoluteURI with optional fragment so the absolute-URI-reference construct has to be created. However RFC2396bis does define the term "URI" to fit this need, so if RFC2396bis is accepted for use in Atom, then the definition of absolute-URI-reference can be removed and its usage replaced with the term "URI".

Additionally, if Atom chooses to use IRIs instead of URIs, then that proposal must replace the usage of "URI" and "URI reference" with "IRI" and "IRI reference".


See also:

PaceXmlBaseEverywhere PaceIri PaceUriOrItsSuccessor