If you are new to Blogging or have been out of the loop for a while in regards to new web technology, then you probably aren’t familiar with RSS. You probably have seen RSS logos on different various blogs but might not be familiar with them. I also contest that you may have clicked on an RSS link and viewed news stories listed in XML format. If you knew what you were looking at, you probably didn’t know what you had stumbled upon. You stumbled upon the Really Simple Syndication (RSS) feed. RSS is a way of publishing data, in the XML standard, to interested parties without having those parties jump through hoops to retrieve the data.
The feed has been around since 1999 (five years) and has only been revised once. The current version, 2.0, supports extensions called namespaces. Namespaces allow the publisher to expand the feeds schema and customize the data for subscribers. The XML format for RSS is made up of three sections. The first section is the Header node and it contains the version information for the XML and the RSS that the feed supports. The second section is a channel node that contains list information for a specific category with elements that define the channel. The list information within the channel are separated into item nodes. A channel can contain numerous item elements and that item can also contain numerous optional elements. This can get pretty detailed but in its simplest form is very easy to understand. Here is a very simple RSS example:
<?xml version="1.0"?> <rss version="2.0"> <channel> <title>Scripting News</title> <link>http://www.scripting.com/</link> <description>A weblog about scripting and stuff like that.</description> <language>en-us</language> <blogChannel:blogRoll>http://radio.weblogs.com/0001015/userland/scriptingNewsLeftLinks.opml</blogChannel:blogRoll> <blogChannel:mySubscriptions>http://radio.weblogs.com/0001015/gems/mySubscriptions.opml</blogChannel:mySubscriptions> <blogChannel:blink>http://diveintomark.org/</blogChannel:blink> <copyright>Copyright 1997-2002 Dave Winer</copyright> <lastBuildDate>Mon, 30 Sep 2002 11:00:00 GMT</lastBuildDate> <docs>http://backend.userland.com/rss</docs> <generator>Radio UserLand v8.0.5</generator> <category domain="Syndic8">1765</category> <managingEditor>email@example.com</managingEditor> <webMaster>firstname.lastname@example.org</webMaster> <ttl>40</ttl> <item> <description>"rssflowersalignright"With any luck we should have one or two more days of namespaces stuff here on Scripting News. It feels like it's winding down. Later in the week I'm going to a <a href="http://harvardbusinessonline.hbsp.harvard.edu/b02/en/conferences/conf_detail.jhtml?id=s775stg&pid=144XCF">conference</a> put on by the Harvard Business School. So that should change the topic a bit. The following week I'm off to Colorado for the <a href="http://www.digitalidworld.com/conference/2002/index.php">Digital ID World</a> conference. We had to go through namespaces, and it turns out that weblogs are a great way to work around mail lists that are clogged with <a href="http://www.userland.com/whatIsStopEnergy">stop energy</a>. I think we solved the problem, have reached a consensus, and will be ready to move forward shortly.</description> <pubDate>Mon, 30 Sep 2002 01:56:02 GMT</pubDate> <guid>http://scriptingnews.userland.com/backissues/2002/09/29#When:6:56:02PM</guid> </item> <item> <description>Joshua Allen: <a href="http://www.netcrucible.com/blog/2002/09/29.html#a243">Who loves namespaces?</a></description> <pubDate>Sun, 29 Sep 2002 19:59:01 GMT</pubDate> <guid>http://scriptingnews.userland.com/backissues/2002/09/29#When:12:59:01PM</guid> </item> </channel> </rss>