www.xml.com/pub/a/2002/12/18/dive-into-xml.html
Advertisement RSS is a format for syndicating news and the content of news-like sites, including major news sites like Wired, news-oriented community sites like Slashdot, and personal weblogs. Pretty much anything that can be broken down into discrete items can be syndicated via RSS: the "recent changes" page of a wiki, a changelog of CVS checkins, even the revision history of a book. Once information about each item is in RSS format, an RSS-aware program can check the feed for changes and react to the changes in an appropriate way. RSS-aware programs called news aggregators are popular in the weblogging community. A news aggregator can help you keep up with all your favorite weblogs by checking their RSS feeds and displaying new items from each of them.
The name "RSS" is an umbrella term for a format that spans several different versions of at least two different (but parallel) formats. The original RSS, version 090, was designed by Netscape as a format for building portals of headlines to mainstream news sites. a simpler version, 091, was proposed and subsequently dropped when Netscape lost interest in the portal-making business. But 091 was picked up by another vendor, UserLand Software, which intended to use it as the basis of its weblogging products and other web-based writing software. In the meantime, a third, non-commercial group split off and designed a new format based on what they perceived as the original guiding principles of RSS 090 (before it got simplified into 091). This format, which is based on RDF, is called RSS 10 But UserLand was not involved in designing this new format, and, as an advocate of simplifying 090, it was not happy when RSS 10 was announced. Instead of accepting RSS 10, UserLand continued to evolve the 09x branch, through versions 092, 093, 094, and finally 20 What a mess. As a coder of RSS-aware programs, you'll need to be liberal enough to handle all the variations. But as a content producer who wants to make your content available via syndication, which format should you choose? CAPTION: RSS versions and recommendations Version Owner Pros Status Recommendation 090 Netscape Obsoleted by 10 Don't use 091 UserLand Drop dead simple Officially obsoleted by 20, but still quite popular Use for basic syndication. Easy migration path to 20 if you need more flexibility 092, 093, 094 UserLand Allows richer metadata than 091 Obsoleted by 20 Use 20 instead 10 RSS-DEV Working Group RDF-based, extensibility via modules, not controlled by a single vendor Stable core, active module development Use for RDF-based applications or if you need advanced RDF-specific modules 20 UserLand Extensibility via modules, easy migration path from 09x branch Stable core, active module development Use for general-purpose, metadata-rich syndication What does RSS look like? Imagine you want to write a program that reads RSS feeds, so that you can publish headlines on your site, build your own portal or homegrown news aggregator, or whatever. That depends on which version of RSS you're talking about.
A feed comprises a channel, which has a title, link, description, and (optional) language, followed by a series of items, each of which have a title, link, and description. People familiar with RDF will recognize this as an XML serialization of an RDF document; the rest of the world will at least recognize that we're syndicating essentially the same information. In fact, we're including a bit more information: item-level authors and publishing dates, which RSS 091 does not support.
|