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

Philosophy

RSS is a Web content syndication format.

How 0.92 relates to 0.91

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.

Example

Here is a RSS 0.92 file that illustrates many of the features described on this page.

<language> is optional

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.

All sub-elements of <item> are optional

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> sub-element of <item>

<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&amp;mainfull=1000&amp;fmt=scripting&amp;template=scripting">AppleSurf</source>

The purpose of this element is to propogate credit for links, to publicize the sources of news items.

<enclosure> sub-element of <item>

<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> sub-element of <item>

<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> sub-element of <channel>

<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.

All limits are eliminated

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 and disclaimer

© 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.

⚠️ **GitHub.com Fallback** ⚠️