The Evolution of RSS | 5 | WebReference

The Evolution of RSS | 5

[previous] [next]

The Evolution of RSS

RSS 0.92

Userland Software released RSS 0.92 in December 2000. Based on Netscape's 0.91, 0.92 adds new optional features that developers wanted like blog synthesis (item sub-elements optional, item descriptions can contain entity-encoded HTML markup [links, etc.]), source attribution (source of item), enclosures, taxonomy information (category of item), and the cloud sub-element of channel, which notifies aggregators when the channel is updated for more timely updates, and to save bandwidth. RSS 0.92 is upwardly compatible with RSS 0.91 as new features of 0.92 are optional, meaning that a 0.91 file is also a valid 0.92 file.

There is no RSS 0.92 DTD (see the spec above), but it would look something like this:

<!ELEMENT rss (channel)>
          version	CDATA		#FIXED		"0.92">
<!ELEMENT channel (title | description | link | language? | item+ |
  rating? | image? | textinput? | copyright? | pubDate? | lastBuildDate? |
  docs? | managingEditor? | webMaster? | skipHours? | skipDays? | cloud?)*>
<!ELEMENT title (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT image (title | url | link | width? | height? | description?)*>
<!ELEMENT item (title? | link? | description? | source? | enclosure? | category?)*>
<!ELEMENT source (#PCDATA)>
<!ATTLIST source 	url		CDATA		#REQUIRED>
<!ELEMENT enclosure (#PCDATA)>
<!ATTLIST enclosure 	url		CDATA		#REQUIRED
			length		CDATA		#REQUIRED		
			type		CDATA		#REQUIRED>
<!ELEMENT category (#PCDATA)>
<!ATTLIST category	domain		CDATA>
<!ELEMENT textinput (title | description | name | link)*>
<!ELEMENT rating (#PCDATA)>
<!ELEMENT language (#PCDATA)>
<!ELEMENT width (#PCDATA)>
<!ELEMENT height (#PCDATA)>
<!ELEMENT copyright (#PCDATA)>
<!ELEMENT pubDate (#PCDATA)>
<!ELEMENT lastBuildDate (#PCDATA)>
<!ELEMENT managingEditor (#PCDATA)>
<!ELEMENT webMaster (#PCDATA)>
<!ELEMENT skipHours (hour+)>
<!ELEMENT skipDays (day+)>
<!ELEMENT cloud (#PCDATA)>
<!ATTLIST cloud domain			CDATA	#REQUIRED
		registerProcedure	CDATA	#REQUIRED
		protocol		CDATA	#REQUIRED>

Example RSS 0.92 File

Here's a snippet of an equivalent RSS 0.92 file from

<?xml version="1.0" encoding="UTF-8"?>
<rss version="0.92">
<title>WebReference News</title>
<description>Daily news, views, and how-tos on all aspects of web design 
and development. Features free web-based tools, open source scripts, and 
in-depth tutorials on DHTML, HTML, JavaScript, 3D, Graphics, XML, and 
Design for webmasters.</description>
<cloud domain="" port="80" 
 path="/RPC2" registerProcedure="webreference.rssPleaseNotify" 
<title>The Evolution of RSS</title>
<description>We look at how RSS has evolved from its humble beginnings 
through present day and beyond. We survey all versions of RSS, including 
a feature comparison, a new RSS survey, plus format and validation info. 
Learn how the newest versions of RSS will move us towards a more Semantic 
Web. By Andrew King. 0504</description>
<enclosure url="" 
 length="142000" type="application/x-shockwave-flash"/>
<title>Weblog 2.0 Released</title>
<description>Completely rewritten, Weblog 2.0 makes it easy to manage 
multiple RSS channels and Yahoo-like directories. Highlights include a 
revamped interface, multi-user support, one-step posts to multiple 
channels, Xhoo directory integration, and more. This new version makes 
use of two RSS 1.0 modules, the 
&lt;a href=&quot;;&gt;Dublin Core&lt;/a&gt;, 
and the Taxonomy module. By Jonathan Eisenzopf. 0504</description>
<source url="">WebReference News</source>

Note the escaped HTML markup in the second description. Note also that this is a synthesized 0.92 file, and that any sources would be external sites in an actual 0.92 channel.

[previous] [next]

Created: May 03, 2001
Revised: May 14, 2001