RSS is an acronym for Really Simple Syndication and is an XML specification published by the W3C. RSS became a standardized specification around June 2000. This is meant to be a very simple primer on developing an RSS feed. Please note that this is not meant to replace a detailed book or the specification created by W3C. When I first created an RSS feed for a client the specification was the only way to learn RSS.
There are required elements to meet the specification as well as some optional. Some of the elements that are option really should be included logically.
Each RSS feed begins with a tag describing what XML specification the document meets. For example:
<?xml version=”1.0″?>
After the XML Version, we need to know which version of the RSS specification this document will meet. The rss document will also have a closing </rss> tag at the end.
So far, we have:
<?xml version=”1.0″?>
<rss version=”2.0″>
</rss>
The next tag we have is for a channel. A channel is a reverse-chronological list of links to stories that includes a title, and some sort of description.
The channel has a couple of required elements that are mostly self explanatory. The first one is a title (the name of the channel, usually just the website name), a link (to the website) and a description of the service.
So, we now have:
<?xml version=”1.0″?>
<rss version=”2.0″>
<channel>
<title>Brian R. Cline’s News Feed</title>
<link>http://www.brcline.com</link>
<description>Programming Blog for a Programmer Analyst in Niagara Falls, Ontario, Canada.</description>
</channel>
</rss>
There’s many optional elements to include within the channel, but I don’t feel that most are needed to produce a great and strictly valid RSS feed.
For example, there’s image which lets you specify a GIF,JPEG, or PNG to associate with the channel but not all RSS aggregators can show it.
The bulk of the RSS feed is created by using “items” which represent the story and usually include a title, link, and description. All elements of an item are actually optional, but you should include at least a title and description.
An item is fairly simple, here is an example:
<item>
<title>New Blog Post</title>
<link>http://www.brcline.com/blog/page?=13</link>
<description>Brian R. Cline posted about how to create an RSS feed.</description>
</item>
RSS channel’s usually include more than one item and are updated fairly regularly. I’ve included a couple of different items in the final example.
<?xml version=”1.0″?>
<rss version=”2.0″>
<channel>
<title>Brian R. Cline’s News Feed</title>
<link>http://www.brcline.com</link>
<description>Programming Blog for a Programmer Analyst in Niagara Falls, Ontario, Canada.</description>
<item>
<title>New Blog Post</title>
<link>http://www.brcline.com/blog/page?=13</link>
<description>Brian R. Cline posted about how to create an RSS feed.</description>
</item>
<item>
<title>New Blog Post – Welcome</title>
<link>http://www.brcline.com/blog/page?=1</link>
<description>Brian R. Cline posted a new blog welcoming users to the blog.</description>
</item>
<item>
<title>Blog Created</title>
<link>http://www.brcline.com/blog/ </link>
<description>Brian R. Cline adds wordpress to his website.</description>
</item>
</channel>
</rss>