Tuesday, May 24, 2005, 5:26:39 PM, you wrote:


> On 24 May 2005, at 4:07 pm, Robert Sayre wrote:

>> 4.2.9 (editorial):  The atom:link element is explicitly described as
>> empty, which violates the rules in 6 for foreign element extension.
>> Remove "is an empty element that".

> That's not an editorial change, that's newly allowing extension  
> elements in a place most people (such as Paul and myself) assumed  
> they weren't.

IF, the interpretation of Section 6, that Thomas Broyer has helped me
to hammered out is correct, then:

Extension Elements [6.4], in Atom 1.0, are allowed only as direct
children of atom:entry, atom:feed, Person Constructs, and atom:source.
They must be qualified with a namespace, and it mustn't be the atom
namespace. Extension Elements, atom:content, and atom:link/@rel are
the only User Extensions to Atom.

Future versions of Atom [6.2] may add additional elements to the Atom
namespace, may add attributes (namespaced or otherwise) to existing
Atom elements, and presumably may allow text inside Atom elements
(basically any markup that isn't in the spec or an Extension Element).
(Text as a 6.2 element isn't mentioned, but it probably ought to be
treated as 6.2 by clients.)

This is to allow Atom 1.0 implementations to be forward compatible
with future versions of Atom. Atom 1.0 implementations won't know how
to handle these elements and MUST ignore them, and MUST NOT forward
them. (they could be some sort of link-level control element; or they
might be an element that allows a relative URIRef, which would break
if it was dependant on the source document's base URI)

So, assuming that that description is roughly correct, and that we can
rework section 6 to make it easier to understand and unambiguous about
the difference between 6.2 and 6.4 markup, then I am +1 to removing
"is an empty element that", because it contradicts section 6.2 which
is supposed to apply everywhere.

-- 
Dave

Reply via email to