Require atom:id values to be compared character by character, based primarily on the language defined in [WWW]Namespaces in XML 1.1, with additional guidance inspired by [WWW]rfc 2396bis




Ensure predictable comparisions of ids


URI references identifying entries and feeds are compared when determining whether a entry or feed is the same as one seen before. [Definition: The two URIs are treated as strings, and they are identical if and only if the strings are identical, that is, if they are the same sequence of characters. ] The comparison is case-sensitive, and no %-escaping is done or undone.

A consequence of this is that URI references which are not identical in this sense may resolve to the same resource. Examples include URI references which differ only in case or %-escaping. Note that relative URIs are not allowed as ids. Replacement of XML character and entity references must be done before any comparison.


The URI references below are all different for the purposes of identifying entries, since they differ in case:

The URI references below are also all different for the purposes of identifying entries:

As are these:

If the entity eacute has been defined to be ť, the atom:id elements below all contain the same URI reference,ť.

Because of the risk of confusion between URIs that would be equivalent if dereferenced, the following normalization rules are strongly encouraged when generating new ids:


Existing ids would not be affected, but some feed consuming software may need to be modified to ensure that canonicalization logic is NOT performed.