Abstract
Remove title attribute from link and replace with child element.
Status
Open
Rationale
Putting human readable text in attributes inhibits extensibility and also has I18N problems.
Using child elements allows more than one title to appear (perhaps for different languages as specified with an xml:lang attribute.)
Languages with mixed text flow directions need to be able to use additional markup to indicate that. See
http://www.w3.org/TR/html401/struct/dirlang.html and
http://www.w3.org/TR/ruby/ for examples of where authors may require extra elements and/or attributes to properly convey their intended meaning in languages other than English.
Maybe NormanWalsh can give us some more insight into what he meant with this comment:
http://lists.oasis-open.org/archives/docbook/200207/msg00025.html.
Proposal
In section
3.4 Link Constructs, replace this:
-
A Link construct is an element that MUST NOT have any child content, and has the following attributes:
with this:
-
The following attributes and child elements are defined by this specification (note that it requires the presence of some of these attributes):
Delete section 3.4.4 and replace with this:
-
3.4.4 "atom:title" Element
The "atom:title" element is a Content construct that conveys a human-readable title for the link. atom:link elements MAY contain multiple atom:title elements.
Impacts
None
Notes
This would make atom:link element "different" than HTML's link element. But expecting HTML processors to process atom:link elements is not (as far as I know) a requirement for Atom.
Using a child element is more verbose but enables both forwards and backwards compatibility for Atom and its processors against any other extensions to the link element that might occur whether they be official (in the atom namespace) or third-party (in a foreign namespace).
