Thursday, May 26, 2005, 11:16:05 PM, Thomas Broyer wrote:
> David Powell wrote: >>Thursday, May 26, 2005, 8:50:04 PM, Thomas Broyer wrote: >> >>>6.2 deals with the "Atom vocabulary", which is the markup in the Atom >>>namespace or un prefixed attributes on Atom-namespaced elements (this is >>>my interpretation, it's not clearly stated in the spec, and I'm quite >>>sure I already raised this in the past two weeks). >>> >>Yes, I proposed that we fix this here too: >><http://www.imc.org/atom-syntax/mail-archive/msg15743.html> >> > It'd be still be necessary to define the term "vocabulary" somewhere, in > section 6 or in the introduction (section 1). > As "vocabulary" is only used only in sections 6.1 and 6.2, I suggest > using "namespace" instead: > [ > 6.1 Extensions From Non-Atom Namespaces > This specification describes Atom's XML markup namespace. Markup > from other namespaces ("foreign markup") can be used in an Atom > document. Note that the atom:content element is designed to support > the inclusion of arbitrary foreign markup. > 6.2 Extensions To The Atom Namespace > Future versions of this specification could add new elements and > attributes to the Atom markup namespace. Software written to > conform to this version of the specification will not be able to > process such markup correctly and, in fact, will not be able to > distinguish it from markup error. For the purposes of this > discussion, unrecognized markup from the Atom namespace will be > considered "foreign markup". > ] This sounds good, but 6.2 ought to also include unprefixed attributes on atom elements as well as atom: prefixed ones. > This however doesn't prevent us adding your sentence to 6.4 to make it > clearer. I think 6.3 would be much easier to understand if its position was swapped with 6.4. When you read 6.3 you assume that everything not mentioned so far must be "unknown foreign markup", then when you read 6.4, it redefines some of that as "metadata elements". They are intended to be disjoint, but the ordering suggested to me that 6.4 was a subset. Paragraph 2 of 6.3 reinforced my misconception that 6.4 markup is subset of "unknown foreign markup", especially as it didn't mention markup on other elements or attributes as 6.2 proposed. If 6.3 and 6.4 were swapped, then I think paragraph 2 of 6.3 could be trimmed down to avoid this. Replace paragraph 2 & 3 of 6.3, with: When unknown foreign markup is encountered in a Text Contruct or atom:content element, software SHOULD ignore the markup and process any text content of foreign elements as though the surrounding markup were not present. When unknown foreign markup is encountered elsewhere, software MAY bypass the markup and any textual content and MUST NOT change its behavior as a result of the markup's presence. -- Dave