Abstract
In the current Atom draft, the alternate atom:link element is required. After a lot of discussion on Atom-Syntax, most people came to the conclusion that requiring this element constrains the usefulness of Atom and that a lot of use cases can't be implemented in a straight-forward manner.
Some use cases that can't provide an alternate link are:
-
USENET articles that aren't indexed by Google
-
My private CD collection
-
Non-archived mailing lists
-
News events of a football match
-
TV listings
-
«Last played» lists for radio
-
«Next 10» lists for radio
Status
Open.
Proponents
Rationale
Make the alternate link in atom:entry optional instead of required, to simplify the implementation of Atom in use cases where alternate representations aren't easilly available.
Proposal
Change section 4.2.2 to:
4.2.2 "atom:link" Element The "atom:link" element is a Link construct that conveys a URI associated with the feed. The nature of the relationship is determined by the construct's rel attribute. atom:head elements SHOULD contain at least one atom:link element with a rel attribute value of "alternate" whenever the Atom feed has an alternative representation. atom:head elements MUST NOT contain more than one atom:link element with a rel attribute value of "alternate" that has the same type attribute value. If a feed's atom:link element with type="alternate" resolves to an HTML document, then that document SHOULD have a autodiscovery link element [Atom-autodiscovery] that reflects back to the feed. atom:head elements MAY contain additional atom:link elements beyond those described above.
Change section 5.2 to:
5.2 "atom:link" Element The "atom:link" element is a Link construct that conveys a URI associated with the entry. The nature of the relationship as well as the link itself is determined by the element's content. atom:entry elements SHOULD contain at least one atom:link element with a rel attribute value of "alternate" whenever the entry has an alternative representation. atom:entry elements MUST NOT contain more than one atom:link element with a rel attribute value of "alternate" that has the same type attribute value. atom:entry elements MAY contain additional atom:link elements beyond those described above.
Impacts
None
Notes
See also: PaceContentOrLink
Question: are there any use cases where both the content and the link are not available? Does it make sense to have a feed where a summary is present but no indication as to what the entry is a summary of? - SamRuby
[AsbjornUlsberg] Maybe one of atom:summary, atom:content or atom:link should be required, and atom:title always required? I just want an Atom feed to be able to stand by itself without any external references.
-
[SamRuby] Here is what PaceContentOrLink works out to be, taking into account atom:summary:
-
If content is textual,
-
then summary and link are completely optional.
-
a textual summary is required, but link is completely optional
-
a textual summary and a link are required