UserPreferences

PaceIdConstruct2


Abstract

Replacement for PaceIdConstruct based on [WWW]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.

CategoryProposals