I created a schema for the Atom .3 based upon Mnot's .3 -02 draft and starting from Randy's version. The schema is at http://www.pacificspirit.com/atom/atom3-do.xsd.
Things I did:
- Added element and attribute extensibility
- Added a "mediaType" attribute.
- Corrected typo in "dataTime"
- changed order of couple elements so the sample would validate
- Changed sequence to Choice.
My comments:
1. The format spec says in the atom:entry section "The atom:entry element MAY contain any namespace-qualified [W3C.REC-xml-names-19990114] elements as children. Ordering of the element children of atom:entry element MUST NOT be considered significant." This is NOT possible to express in w3c xml schema, any with namespace "##any" doesn't work with optional content. I've written extensively on the only way to allow same namespace extensions at http://www.pacificspirit.com/blog/2003/12/10/versioning
2. I agree with much of what MarkN said at http://www.mnot.net/blog/2003/12/12/notes_on_atom
Some thoughts on the changes you made from my version of the XSD.
Why is dataTime a corrected typo?
Why changing the order of a couple elements allow it to would validate?
Since you changed feedType to choice, why would you not do the same w/ entryType.
By the way, I love the extensibility and mediaType additions. Awesome, dude. Mind if I steal them back into mine?
It was dataTime, and I thought it was meant to be "dateTime". Should it really be data?
In the schema that I saw earlier, the feed and entry had modified elements that were in the wrong order if it was a Sequence, per the example used in the spec. Of course, if it's "Choice" it doesn't really matter. But I don't think we'll get away with "choice" longterm.
Yeah, entry should be choice.
Sure, grab extensibility and media type. We do still have the problem that I mentioned in my note #1.
iM blind. I see the typo now. Thanks!
Agree on #1, that's why I've been pushing for order matters. To no avail.
Everything is true to someone.
Typo
<xs:element name="contributor" type="atom:authorType" minOccurs="0" maxOccurs="unbounded"/>
should read
<xs:element name="contributor" type="atom:personType" minOccurs="0" maxOccurs="unbounded"/>
Some strange feeling seized me when I read your comment, Nick.
Does Nick's post look strange here?
No. So Nick, what is the point in your comment?
There always has to be some point.
Nothing personal tho.
regards,
Anderson
Updated link from above
http://www.kbcafe.com/iBLOGthere4iM/?guid=20031213231459