Spec: RSS 0.92 (Userland) - simplepie/simplepie-ng GitHub Wiki
Archivist's Note: This is the RSS 0.92 specification published by UserLand Software on December 25, 2000. The current version of the RSS 2.0 specification is available at this link and other revisions have been archived.
Table of Contents
RSS is a Web content syndication format.
RSS 0.92 is upward-compatible with RSS 0.91.
Every new feature of 0.92 is optional, meaning that a 0.91 file is also a valid 0.92 file.
Here is a RSS 0.92 file that illustrates many of the features described on this page.
In 0.91, the <language>
element is required. In 0.92 it is optional.
Why? If a channel is formed from various input sources there's no way to know that it's going to only contain a single language.
In 0.91, <link>
and <title>
are required sub-elements of <item>
and <description>
is optional.
In 0.92, all sub-elements of <item>
are optional.
Why? When a RSS file reflects the content of a weblog or "blog" site, the structure required by previous versions of RSS was often impossible to synthesize. For example, there is no actual limit on the number of links a weblog item can have.
Further, 0.92 allows entity-encoded HTML in the <description>
of an item, to reflect actual practice by bloggers, who are often proficient HTML coders.
<source>
is a new optional sub-element of <item>
.
Its value is the name of the RSS channel that the item came from, derived from its <title>
. It has one required attribute, url, which links to the XMLization of the source.
<source url="http://www.myapplemenu.com/cgi-bin/surfView.cgi?category=applesurf&mainfull=1000&fmt=scripting&template=scripting">AppleSurf</source>
The purpose of this element is to propogate credit for links, to publicize the sources of news items.
<enclosure>
is a new optional sub-element of <item>
.
It has three required attributes. url
says where the enclosure is located, length
says how big it is in bytes, and type
says what its type is, a standard MIME type.
The url
must be an http url.
<enclosure url="http://www.scripting.com/mp3s/weatherReportSuite.mp3" length="12216320" type="audio/mpeg" />
A use-case narrative for this element is here
<category>
is a new optional sub-element of <item>
.
It has one optional attribute, domain, a string that identifies a categorization taxonomy.
The value of the element is a forward-slash-separated string that identifies a hierarchic location in the indicated taxonomy. Processors may establish conventions for the interpretation of categories. Two examples are provided below:
<category domain="http://www.superopendirectory.com/">standards/xsl/implementations</category>
<category domain="http://www.fool.com/cusips">MSFT</category>
<cloud>
is a new optional sub-element of <channel>
. It specifies a Web service that supports the rssCloud interface which can be implemented in HTTP-POST, XML-RPC or SOAP 1.1.
Its purpose is to allow processes to register with a cloud to be notified of updates to the channel.
<cloud domain="data.ourfavoritesongs.com" port="80" path="/RPC2" registerProcedure="ourFavoriteSongs.rssPleaseNotify" protocol="xml-rpc"/>
A full explanation of this element and the rssCloud interface is here.
In RSS 0.91 various elements are restricted to 500 or 100 characters. There can be no more than 15 <items>
in a 0.91 <channel>
.
There are no string-length or XML-level limits in RSS 0.92.
Processors may impose their own limits, and generators may have preferences that say no more than a certain number of <item>
s can appear in a channel, or that strings are limited in length.
© Copyright 1997-2000 UserLand Software. All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and these paragraphs are included on all such copies and derivative works.
This document may not be modified in any way, such as by removing the copyright notice or references to UserLand or other organizations. Further, while these copyright restrictions apply to the written RSS specification, no claim of ownership is made by UserLand to the format it describes. Any party may, for commercial or non-commercial purposes, implement this protocol without royalty or license fee to UserLand. The limited permissions granted herein are perpetual and will not be revoked by UserLand or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and USERLAND DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.