RSS4website.com
 



RSS Versions

RSS Versions and Modules

There are two main versions of the RSS format in use today; RSS 0.9x and RSS 1.0. Although the numbers might lead you to believe that 1.0 replaces 0.9x, both are being actively used and developed. Each version has its benefits and drawbacks; RSS 0.9x is known for its simplicity, while RSS 1.0 is more extensible and fully specified. Both formats are XML-based and have the same basic structure.

People tend to get into heated discussions about the better format. Ultimately, it's a choice you shouldn't worry too much over; good RSS tools and aggregators will understand both formats. This section presents a quick overview of each; for more information, see their specifications and supporting materials.

RSS 0.9x

RSS 0.9x (the 'x' is for the last digit; as of writing, RSS 0.94 is in development) was designed by Netscape Communications and UserLand software, and is championed by UserLand's Dave Winer. In this version, RSS stands for "Really Simple Syndication," and simplicity is its focus.

This branch of RSS is based on RSS 0.91, which was first documented at Netscape and later refined by Userland.

Included in 0.92 - the latest stable version - are channel metadata like link, title, description; image, which allows you to specify a thumbnail image to display with the feed); webMaster and managingEditor, to identify who's responsible for the feed, and lastBuildDate, which shows when the feed was last updated. Items have the standard link, title and description metadata, as well as other, more experimental facilities like enclosure, which allows attachments to be automatically downloaded (don't expect these features to be supported by all aggregators, however).

RSS 0.9x takes a versioned approach to extensibility; new features are added by declaring a new version of RSS in the 0.9 series. Winer controls the release of new versions, so if you have suggestions about the future of RSS 0.9x, it's best to talk to him.

Here's an example of a minimal RSS 0.9x feed:

<?xml version="1.0"?>
<rss version="0.91">
  <channel>
    <title>Example Channel</title>
    <link>http://example.com/</link>
    <description>My example channel</description>
    <item>
       <title>News for September the Second</title>
       <link>http://example.com/2002/09/01</link>
       <description>other things happened today</description>
    </item>
    <item>
       <title>News for September the First</title>
       <link>http://example.com/2002/09/02</link>
    </item>
  </channel>
</rss>

RSS 1.0

RSS 1.0 stands for "RDF Site Summary." This flavor of RSS incorporates RDF, a Web standard for metadata. Because RSS 1.0 uses RDF, any RDF processor can understand RSS without knowing anything about it in particular.

RSS 1.0 also uses XML Namespaces to allow extensions - called RSS Modules - to be added without worrying about conflicts. This is because RSS 1.0 doesn't use a central person for extending the format; instead, namespaces are used to describe a space for your own extensions. For example, if you had an ISBN module to track books, it might look like this;

<item xmlns:book="http://namespace.example.com/book/1.0"
 rdf:about="http://www.amazon.com/exec/obidos/tg/detail/-/0553575376">
  <title>Excession</link>
  <link>http://www.amazon.com/exec/obidos/tg/detail/-/0553575376</link>
  <book:isbn>0553575376</book:isbn>
</item>

Generally, though, you should look for available RSS Modules, rather than defining your own, unless you're sure that what you need doesn't exist.

RSS 1.0 feeds look very similar to RSS 0.9x feeds, with a few key differences;

  • The entire feed is wrapped in <rdf:RDF> ... </rdf:RDF> elements (so that processors know that it's RDF)
  • Each <item> has an rdf:about attribute that usually, but not always, matches the <link>; this assigns an identifier to each item
  • There's an <items> element in the channel metadata that contains a list of items in the channel, so that RDF processors can keep track of the relationship between the items
  • Some metadata uses the rdf:resource attribute to carry links, instead of putting it inside the element.

RSS 1.0 is developed and maintained by an ad hoc group of interested people; see their Web site for more information about RSS 1.0 and RSS Modules. See below for an example of an RSS 1.0 feed.


Copyright © 2004 RSS4website.com
AE - 326, Salt Lake City, Kolkata (calcutta), - 700 064, West Bengal, INDIA
Tele: +91-
9830068765 Fax: +91-33-23580807
Email: info@rss4website.com