Abstract
Replacement for PaceIdConstruct based on
this message from the mailing list.
Status
Open
Related paces
Rationale
Replace clunky language in PaceIdConstruct
Proposal
Replace section 4.2.6 and 5.5, append a section to "3. Common Atom Constructs", and modify section 5.12:
=== 3.5 Identification Constructs ===
Identification Constructs convey an identifier that is used
to associate different instances of the same resource.
Whenever a resource appears in an Atom Document, its
identifier SHOULD be the same as any other times it has
appeared in an Atom Document, and MUST NOT be the same as the
identifier currently or formerly used for any other Atom
resource. Changes to the content or location of the resource
MUST NOT change the identifier. All Atom Documents published
by the same entity MUST use the same identifier for each
respective resource they publish.
The content of an Identification Construct MUST be an
absolute URI (see RFC 2396), which MAY come from any scheme.
When the URI comes from a resolvable scheme, it MAY resolve
to any resource, and MAY NOT resolve successfully.
Implementations therefore MUST NOT assume there is any
particular relationship between the resource the identifier
belongs to and any resource it resolves to.
Two identifiers are considered to be the same when their
content is composed of the same characters. Two identifiers
that are composed of different characters but contain URIs
that are themselves equivalent in a looser sense MUST NOT be
considered the same. All comparisons MUST be case sensitive.
A system that accepts input in Atom format that it
subsequently outputs in Atom format SHOULD pass through the
values of all identifiers.
(append canonicalization and examples if you so wish)
=== 4.2.6 "atom:id" Element ===
"atom:id" is an Identification construct that identifies
instances of the same feed. atom:head elements MUST contain
an atom:id element, but MUST NOT contain more than one. Two
feeds may be considered instances of one another when the
atom:id element inside their respective atom:head elements
contain the same identifier, but implementations MUST NOT
assume they contain the same content.
=== 5.5 "atom:id" Element ===
"atom:id" is an Identification construct that identifies
instances of the same entry. atom:entry elements MUST contain
an atom:id element, but MUST NOT contain more than one. Two
entries may be considered instances of one another when their
atom:id elements contain same identifier, but implementations
MUST NOT assume they contain the same content.
=== 5.12 "atom:origin" Element ===
The "atom:origin" element's content conveys the original
source of the entry; e.g., the feed where the entry was first
published.
If the source is an Atom Feed Document, then the content of
atom:origin MUST be the identifier in that document's
atom:head section.
(And if not?)
The content of this element MUST be a URI. atom:entry
elements MAY contain an atom:origin element, but MUST NOT
contain more than one.
