Convert from RSS 0.91 to RSS 2.0
Editor's Note: This is version 1.0 of this document, published Jan. 21, 2008.
Under the principle that "if it ain't broke, don't fix it," you may be reluctant to convert older software that produces RSS 0.91 feeds to work with RSS 2.0, the most up-to-date version of the syndication format.
It's easy to make the upgrade. With a few simple changes, your old RSS 0.91 feeds can pass the Feed Validator as RSS 2.0.
1. Update the Feed's Version Number
In the feed's rss element, change the version attribute from "0.91" to "2.0":
2. Drop the DOCTYPE Declaration
Unlike RSS 0.91, RSS 2.0 does not require a document type declaration (DTD). You can delete this line from the feed:
<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
The RSS 0.91 DTD must not be used in an RSS 2.0 feed. If you have a DTD for RSS 2.0 and you'd like to declare its use in your feed, there's no prohibition against doing so.
3. Rename the TextInput Element
If your feed contains this element, change the capitalization in both its start tag and end tag:
<description>Enter your search terms</description>
You probably don't need this suggestion, since few RSS feeds include textInput elements and few aggregators support them.
4. Update the Docs Element
In RSS 0.91, the purpose of the docs element was to link to a web page containing a description of the feed. In subsequent versions of RSS, the purpose changed, and now it's designed to contain a link to the RSS specification adopted by the feed.
This is an optional element, so you can simply delete it from the feed and be done with the conversion. But if you'd like to link to the RSS 2.0 specification, the following element can be used:
Consider Additional Improvements
That's it! The preceding changes are all that's required to convert a working RSS 0.91 feed to RSS 2.0, but there are other differences between the versions worthy of consideration as you upgrade.
RSS 0.91 requires a title for each feed item. This is no longer true in RSS 2.0, but each item must contain either a title or a description.
RSS 2.0 recommends that each item should contain a guid element, a URL or string that uniquely identifies the item.
RSS 0.91 does not allow HTML markup in any of its elements, so the software you've been using to produce RSS 0.91 feeds is probably generating plain text in things like a channel's description and an item's title and description.
Because RSS 2.0 allows HTML in some elements, there are some compatibility issues that arise when your text includes the characters "<", ">" and "&". The easiest way to avoid potential problems is to use hexadecimal character references for each of these characters. Use & to represent "&", < to represent "<" and > to represent ">", as in this example:
<title>Dungeons & Dragons</title>
If you run into any problems making the conversion, you can ask questions on the RSS-Public mailing list operated by the board.
You can do a lot more with RSS 2.0 that's not covered here, because the format has become more versatile since its humble origins as Netscape's headline-exchange format in 1999. RSS 2.0 supports podcasting, tagging, XML namespaces and other improvements. The RSS Profile contains our best advice for how to take full advantage of the capabilities of RSS.