David Powell wrote:
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.
Note that this kind of extension elements ("foreign markup" appearing in
atom:feed, atom:entry, Person Constructs, and atom:source) is called
Metadata Elements, because Atom states such extensions provide
additional metadata to their container element (or more accurately
additional metadata to the to the resource represented by the container
element).
Extension Elements, atom:content, and atom:link/@rel are the only User
Extensions to Atom.
No (for the definition of Extension Elements you gave above).
Atom allows foreign markup anywhere in an Atom document. Foreign markup
is made of "extension elements" and "extension attributes" (i.e.
anything not in the Atom namespace, except unprefixed attributes on
Atom-namespaced elements). Atom doesn't define the role/interpretation
of foreign markup except for those elements appearing in atom:feed,
atom:entry, Person Constructs and atom:source, which it defines as
Metadata Elements carrying additional metadata about their container
element.
Future versions of Atom [6.2] may add additional elements to the Atom
namespace, may add attributes (namespaced or otherwise) to existing
Atom elements,
If attributes are namespaced and the namespace is not the Atom
namespace, they obviously are "foreign attributes" (at least for me).
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.)
I think that later allowing "just text" inside an Atom element would
prove a design flaw...
At least, it should be made clear that an Atom 1.0 Processor MUST ignore
text as a child of an element which Atom doesn't define as allowing
text. (er, am I clear?)
--
Thomas Broyer