Thomas Broyer wrote:
> 2007/10/15, James M Snell:
> > I wanted to see what others thought about this.  How should such 
> > extensions be treated?  What if someone wanted to come along and 
> > invent a new element in the atom namespace, e.g. <atom:foo 
> />.  What 
> > should the validator do?  Ignore it? Signal an error?

I wrote a validator that can be put between an APP client and APP server to 
ensure that they are both complying with the spec when exchanging entries. It 
just short-circuits the communication at the first error detected, like an XML 
parser does. I provide no distinction between unrecoverable errors, recoverable 
errors, or warnings. I have chosen to allow any atom element to have any extra 
attributes, in any namespace (including the empty namespace), since that seems 
to be the intention of section 6.2 of RFC4287. 

> Section 6.3 defines error-recovery, it does not mean however 
> that "unrecognized markup from the Atom vocabulary" is not an error.

In 6.4, it says "Atom allows foreign markup anywhere in an Atom document, 
except where it is explicitly forbidden." So, even foreign markup in atom:id, 
and atom:updated is allowed, in spite of the Relax NG schema.

> Validators should throw an error for those attributes and 
> elements "from the Atom vocabulary" that hasn't been defined 
> in RFC4287 or another I-D.

The specification does not say validators should throw an error. It really 
doesn't explicitly state what processors should do. But, I think that 6.2's 
strongly suggests that markup that is not understood should be allowed, because 
it might be defined in an update of RFC4287.

- Brian


Reply via email to