The Atom 0.2 snapshot is out.
-
pre-draft of a formal 0.2 spec based upon informal 0.2 spec. This will be updated to reflect consensus in the Wiki and on the mailing list.
-
Minimal 0.2 feed. Feed title, link, and modified are required. Entry title, link, id, issued, and modified are required.
-
Maximal 0.2 feed. Feed tagline, id, generator, and copyright are optional. Entry created, summary, contributor, and content are optional. Feed generator and copyright are new in 0.2. Feed tagline used to be called "subtitle"; entry subtitle has been dropped.
-
Multipart/alternative 0.2 feed. This is the biggest new feature in this snapshot: content type="multipart/alternative". It contains 1 or more content elements, of varying types and languages.
These are different representations of the same content. Examples: an image, and an HTML representation of the image. Or: an HTML version, and a plain text version of the same content (perhaps run through lynx -dump, or w3m, or simply by stripping all HTML tags).
Publishers should order the alternative content representations in increasing order of fidelity. So if you have an HTML version and a plain text version, put the plain text version first and the HTML version second. If you have an image and an HTML rendition of the content of the image (a longdesc), but the HTML version first and the image second. If you have a translation of the content into another language, put the translation first, and the original content second.
Consumers should render at most one representation of a content type="multipart/alternative", according to their capabilities and end user preferences. It does not have to be the one the publisher thinks is best, although it should be, if you know how to render content of that MIME type and language and the end user hasn't specified a preference. The consumer has the final say about what content to render, if any.</p>
-
0.2 feed with feed author and 0.2 feed with entry author explain and demonstrate the use cases for the author element. New/changed in 0.2: author is required either on the feed level or on the entry level, and now contains a required name and optional url and email elements. If author exists on the feed but not on an entry, it is assumed to apply to the entry. If author exists on the feed and an entry, the entry author takes precedence. Every entry must have exactly one author, either explicitly included in the entry or inherited from the feed
-
dive into mark Atom 0.2 feed. Live. This uses an additional namespace, Dublin Core, to express entry categories (dc:subject). This is the only way to express categories in this snapshot. An entry may contain multiple dc:subject elements, although this example does not.
-
dive into mark comments Atom 0.2 feed. Live. This uses content type="multipart/alternative" to include both an HTML version and a plain-text version of each comment. It also uses entry-level authors, since each entry is a comment by a different author.
-
The Feed Validator has been updated to support the Atom 0.2 snapshot. 0.1 feeds will no longer validate. Validator 1.2 source code validates Atom 0.2, and is what is deployed right now. (It still validates RSS. There were no changes to the RSS validation in this release.)
Suggestions that did not make it into this snapshot, but that are still under active discussion:
-
Using xml:base to handle relative links. But what should it apply to? All URLs (even the <link> element and so forth)? URLs in content only? What about escaped content? Discuss in RelativeLinks.
-
Allowing HTML in title, tagline, and/or summary, by allowing publishers to declare type="text/html" and mode="escaped" on those elements (similar to the way they can specify MIME type and encoding on <content> elements now). Blogger did something like this in their experimental 0.1 feed, but it’s not clear they actually need it. (They may need it in the API though.) Regardless, there’s been no discussion on how or if to allow this, so it stays out until we can hash through it.
Other issues:
-
Property-centric or Role-centric? -- see PropertiesVsRoles.
-
DublinCore Metadata Element Set in echo's namespace? -- see EchoInDublinCore NechoInDublinCore NechoInDublinCoreOptionalRdf
-
What constitutes an ID? -- see PermaLinks, EntryIdentifier, PostIdSpec and WhatIsEntryId.
-
Should content be escaped or inline? -- see EscapedHtmlDiscussion and content
-
Content by Reference? -- see MimeContent, EntryContentDiscussion, and content.
-
Sub-Entries? -- see EntryContentDiscussion and content.
-
Authors versus persons and roles? -- see AuthorElementDiscussion and PropertiesVsRoles.
-
Avoiding Duplication of Author data? -- see AuthorElementDiscussion.
-
Inclusion of other extensions needs to be considered -- see SyntaxExtensionMechanism.
-
Subtitle pulled 7/4/2003 -- see SubTitle for a summary of the arguments
-
Versioning moved -- see VersionNo for a summary of the arguments
-
Relative Links moved -- see RelativeLinks for a summary of the arguments
-
<weblog> and <homepage> were replaced with a single <url> -- see WeblogVsUrl
-
How to include comments? -- see CommentExtension, IsaCommentAnEntry