UserPreferences

PaceLinkByLocation


Abstract

Replace the atom:link element with individual links, but group them all within an atom:links element. That way an extenstion element is known to be a link construct because of its location inside the links element.

Status

Open

Rationale

There have been many proposals allowing link extensibility, while still being able to extract all links from an entry or feed. None of these do both well without some other unacceptable tradeoff. This proposal allows full and standard use of XML namespace syntax while still fulfilling the latter goal, by grouping all of the links together inside a links element.

Proposal

From Atompub-format-03

Add in section 3.5:

The element name determines the relationship. The element name for a Link Construct may come from any XML namespace, but the attribute names MUST NOT have a namespace prefix attached. That is, they must not be in any namespace.

Remove section 3.5.1: "rel" Attribute

Replace section 4.2.2 with:

4.2.2 atom:links element

The atom:element contains a list of the atom:head's Link Constructs. All child elements of atom:links MUST be Link Constructs. Apart from this constraint, the atom:links element MAY contain any namespace-qualified [W3C.REC-xml-names-19990114] elements as children. This specification assigns no significance to the order of appearance of the child elements of atom:links.

4.2.2.1 atom:alternate

The "atom:alternate" element is a Link construct that points to an alternate representation of the feed.

Replace section 5.2 with:

5.2 atom:links element

The atom:element contains a list of the atom:entry's Link Constructs. All child elements of atom:links MUST be Link Constructs. Apart from this constraint, the atom:links element MAY contain any namespace-qualified [W3C.REC-xml-names-19990114] elements as children. This specification assigns no significance to the order of appearance of the child elements of atom:links.

5.2.1 atom:alternate

The "atom:alternate" element is a Link construct that points to an alternate representation of the entry.

5.2.2 atom:related

The "atom:related" element is a Link construct that points to another resource related to the entry.

Impacts

Supercedes many other link proposals.

Notes

Example:

<atom:head>

</atom:head>


CategoryProposals