RSS Versions

Learn About Different RSS Versions and Formats

In the article “Creating RSS Feed” we’ve covered the process of making an RSS feed and publishing it on your site. In that article we used the RSS version 0.91 for creating RSS feed. However, you might have not noticed that, but there is actually more than one version of RSS that can be used on the website.

It is important, because if you accidentally mix formats with each other, you might get in trouble. If you use elements from one version and add them into the other that doesn’t support it, your feed will not be valid.

History of RSS

Let’s look a bit into the history of RSS.

In 1999 Netscape company has released the first version of RSS 0.90 to the world for news websites on Netscape portal. Later, Netscape released another version 0.91, but not long after that, lost interest. However, another company UserLand Software continued the development. They’ve reworked the old 0.91 version and released their own 0.91 version that was used for weblogging software. In 2000, another group of programmers at O'Reilly released the new version of RSS called 1.0, which had completely different format than the older ones. At the same time UserLand Software released another version of RSS, called 0.92, which gave little more options. Finally, in 2002, UserLand Software released so far the newest version of RSS, called 2.0.

Basically, the most popular version used on the web as some statistics claim, is 0.91 version. 2.0 is becoming more and more popular. So what version should you choose? Well, although many use 0.91, you should start using 2.0 version. What concerns RSS readers, almost all of them (the newest ones for sure) support all the versions. So sticking to the newest one is a good idea. Another, very important reason why you should use 2.0 version, is because it’s the first to support enclosures that are used for podcasting or vodcasting.

Ok, let’s look how those versions look like in reality.

RSS Version 0.90

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://my.netscape.com/rdf/simple/0.9/">
<channel>
<title>Feed Title</title>
<link>http://www.domain.com</link>
<description>Your Description</description>
</channel>
<image>
<title>Image Title</title>
<url>http://www.domain.com/logo.gif</url>
<link>http://www.domain.com</link>
</image>
<item>
<title>Updates</title>
<link>http://www.domain.com/page</link>
</item>
</rdf:RDF>

That’s RDF syntax that looks little different than other versions. Later Netscape redesigned it into pure XML.

RSS Version 0.91

<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
<channel>
<title>Channel Title</title>
<link>http://www.example.com/</link>
<description>Your Description</description>
<language>en</language>
<textinput>
<title>Your Title< title>
<description>Description</description>
<link>http://www.url.com</link>
</textinput>
<skipHours>
<hour>0</hour>
</skipHours>
<item>
<title>Title</title>
<link>http://www.example.com/page.html</link>
<description>Description</description>
</item>
</channel>
</rss>

That’s Netscape’s version of RSS. As you can see, there is a required statement “<!DOCTYPE…”. However, it was reworked by UserLand Software and their RSS 0.91 version looks like this:

<rss version="0.91">
<channel>
<title>Channel Title</title>
<link>http://www.example.com/</link>
<description>Description</description>
<language>en</language>
<textInput>
<title>Title</title>
<description>Description </description>
<link>http://www.example.com/link</link>
</textInput>
<skipHours>
<hour>24</hour>
</skipHours>
<item>
<title>Your Title</title>
<link>http://www.example.com/page.html</link>
<description>Description</description>
</item>
</channel>
</rss>

UserLand’s version is incompatible with Netscape’s 0.91 version. First, Netscape’s <hour> element has a range from 0 to 23, while UserLand’s has from 1 to 24. Second, Netscape’s version has <textinput> element, while UserLand’s 0.91 RSS version has <textInput>. There’s a capitalization; “Input” instead of “input”.

RSS Version 1.0

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/">
<channel>
<title>Feed Title</title>
<link>http://www.example.com</link>
<description>Description</description>
<items>
<rdf:Seq>
<rdf:li resource="http://www.example.com/link/"/>
</rdf:Seq>
</items>
</channel>
<image rdf:about="http://www.example.com/logo1.gif"/>
<title>Title</title>
<url>http://www.example.com/logo1.gif</url>
<link>http://www.example.com</link>
</image>
<item rdf:about="http://www.example.com/link/”>
<title>New Update</title>
<link>http://www.example.com/link/</link>
<description>Description</description>
</item>
</rdf:RDF>

RSS Version 0.92

<rss version="0.92">
<channel>
<title>Channel Title</title>
<link>http://www.example.com</link>
<description>Description</description>
<language>en</language>
<textInput>
<title>Title</title>
<description>Description</description>
<link>http://www.example.com/link</link>
</textInput>
<skipHours>
<hour>24</hour>
</skipHours>
<item>
<title>Title</title>
<link>http://www.example.com/page.html</link>
<description>Description</description>
</item>
</channel>
</rss>

RSS Version 2.0

<rss version="2.0">
<channel>
<title>Channel Title</title>
<link>http://www.example.com</link>
<description>Description</description>
<language>en</language>
<textInput>
<title>Title<title>
<description>Description</description>
<link>http://www.example.com/link</link>
</textInput>
<skipHours>
<hour>24</hour>
</skipHours>
<item>
<title>Item Title</title>
<link>http://www.example.com/page.html</link>
<description>Item Description</description>
</item>
</channel>
</rss>

As you can see, the 2.0 RSS version looks pretty simple, compared to 1.0 version and is widely supported. Including the fact that it supports podcasting, you should copy and use this format for creating your feeds.

In Conclusion

Some of the versions look almost the same, except that the version number is different. If you wonder which version should you use for your RSS feed, then there’s actually no difference. All RSS readers support pretty much all the versions of RSS. It mostly concerns the tags that are used in the XML file itself. Some are supported or required to use in one version while others can be used optionally.

RSS version 2.0 little by little sets the standards. While you, of course, can use any version you like, RSS version 2.0 is recommended for creating your RSS feed.