RSS 2.01

Harvard specifications. French version: .fr

Translator: Denis Suro

Original document by Dave Wiener at Harvard.

Resume Summary

Harvard definition of RSS 2.01 format. It is compatible with versions .91 and .92. It has nothing to do with version 1.0, which is an RDF syndication format or with the Atom IETF format. This document is intended for software authors who want to create RSS files or view feeds, as well as anyone who wants format information.

Status of this document

This document is not a W3C specification. There is no syndication specification in W3C. In W3C, the XML format was specified at the heart of the present format, as well as the RDF format at the heart of version 1.0.
This document is licensed under a Creative Common license. Permission to print and distribute it is granted provided that the name of the author and translator, as well as URLs, are not deleted or changed .

Translation starts below

Table of contents

1. What is RSS

RSS is a web content syndication format.

His name is an acronym for Really Simple Syndication.

RSS is an XML dialect. All RSS files must comply with the XML 1.0 specification, which is published on the World Web Consortium (W3C) website.

Summary of RSS version history.

At the first level, an RSS document is an <rss> element, with a required version attribute that indicates which RSS version the document matches. If it meets this specification, the version attribute must be 2.0.

Subordinate to the <rss> element, there is a single channel element that contains channel information (metadata) and its contents.

1.1. Sample files

Here are examples for: RSS 0.91 and , 0.922.0.

Note that sample files may point to documents or services that no longer exist. Example .91 was created when writing documents .91. It would be nice to keep a list of examples.

2. About this document

This document presents the RSS status at the end of 2002 in version 2.0.1.

It includes all changes and additions, starting with the basic specification for RSS 0.91 (June 2000) and includes new features introduced in RSS 0.92 (December 2000) and RSS 0.94 (August 2002 ).

Notes on the change can be found here.

We will first document the necessary and optional "channel" sub-elements; then <item> subelements. The final sections answer frequently asked questions and provide a roadmap for future events, as well as instructions for expanding the RSS.

3. Channel elements

3.1. Required elements

Below is a list of necessary channel elements, each of which has a brief description, an example, and if there is a pointer to a more complete description.

Element Description Example
tittle Channel name. That's what it says about your ministry. If you have an HTML site that contains the same information as your RSS file, your feed name should be the same as the site name. GoUpstate.com News Headlines
reference URL of the HTML website corresponding to the feed. http://www.goupstate.com/
description        A phrase or sentence describing a channel. Breaking News GoUpstate.com, Spartanburg Herald Magazine website.


3.2. Additional elements

This is a list of additional channel elements.

Element Description Example
language The language in which the channel is written. This allows aggregators to group all Italian sites, for example, on a single page. A list of possible values for this item provided by Netscape is provided here. You can also use values defined by W3C. en-US, fr-FR
copyright Channel content copyright notice. Copyright 2002, Spartanburg Herald-Journal
managingEditor The email address of the person responsible for editorial content. geo@herald.com (George Mateski)
webmaster The email address of the person responsible for the channel's technical problems. betty@herald.com (Betty Guernsey)
AdvertisementDate The date the channel's content was published. For example, publishing The New York Times daily, the publication date changes every 24 hours. That's when the channel's ads change. All RSS dates and times conform to the RFC 822 Date and Time Specification, except that a year may be represented by two or four characters (preferably four). Sat, 07 Sep 2002 00:00:01 GMT
lastBuildDate The last date the content of the channel was changed. Sat, 07 Sep 2002 09:42:31 GMT
category Specifies the category or categories to which the channel corresponds. Follows the same rules as the <item> level category item. Learn more. <category> Newspapers </category>
generator A string indicating the program used to create the channel. MightyInHouse Content System v2.3
docks A URL that points to the documentation of the format used for the RSS file. This is probably a pointer on this page. This is for people who, after 25 years from here, stash into an RSS file on the server and wonder what it is. http://cyber.law.harvard.edu/tech/rss
cloud Allows processes to store channel update notifications in the cloud by implementing a lightweight publish-subscribe RSS feed protocol. Read more here. <cloud domain =» rpc.sys.com» port =» 80» path = «/RPC2 »registerProcedure =» pingMe» protocol =» soap »/>
ttl ttl is the lifetime. This is the number of minutes that a channel can be cached before being updated at the source. More info here. <ttl> 60 </ttl>
image Specifies a GIF, JPEG, or PNG image that cannot be displayed with the channel. More info here.
rating PICS edge for the channel.
textInput Specifies a text input field that cannot be displayed with the channel. More info here.
skipHors A hint for aggregators indicating how many hours can be skipped. More info here.
skipDays A hint for aggregators about how many days you can skip. More info here.


<image> under <channel> 

<image> is an optional <channel> element that contains three required elements and three additional elements.

<url> is the URL of the GIF, JPEG, or PNG image representing the feed.

<title> describes the image and is used by the ALT attribute of the <img> HTML tag when rendering the channel in HTML.

<link> is the URL of the site when the channel is displayed, the image is a link to the site. (Note, in practice, <title> and <link> images should have the same meaning as <title> and <link> channels.

Additional elements include <width> and <height>, numbers that specify the width and height of the image in pixels. <description> containing the text included in the TITLE attribute of the link around the image in HTML rendering.

The maximum width is 144 and the default is 88.

The maximum height is 400 and the default is 31.

<cloud> under <channel> 

<cloud> is an optional "channel" subkey.

It specifies a web service that supports the rssCloud interface, which can be implemented in HTTP-POST, XML-RPC, or SOAP 1.1.

Its goal is to enable processors to record as a "cloud" for notification of channel updates, through an easy implementation of the RSS feed protocol to publish or subscribe.

<cloud domain =» rpc.sys.com» port =» 80» path = «/RPC2 »registerProcedure =« myCloud.rssPleaseNotify »protocol =» xml-rpc »/>

In this example, an XML-RPC message should be sent to rpc.sys.com on port 80 with path/ RPC2 to request notification of the channel it is displayed on. The call procedure is myCloud.rssPleaseNotification.

A full explanation of this item and the rssCloud interface is here.

<ttl> under <channel> 

<ttl> is an optional <channel> nested element.

ttl here for the lifetime. This is the number of minutes that a channel can remain in cache until it is updated from the source. This means that RSS sources can be generated by a file sharing network such as Gnutella. (N.D.: Closed site).

Example: <ttl> 60 </ttl>

<textInput> under <channel> 

A channel can contain a <textInput> element that contains four elements.

<title> -- Label of the Submit button in the input text field.

<description> -- Description of the input text field.

<name> is the name of the text object in the input text field.

<link> - The URL of the CGI script that handles text requests.

There is something mysterious about the purpose of this <textInput> element. It can be used to set the search engine window. To allow the reader to provide an answer. Most aggregators ignore this.

4. Elements of elements

A channel can contain any number <item> s. An element may represent a "story" - rather like a newspaper or magazine story; for his description to be a synopsis of history, and the connection to point to the whole story. The element can also be complete, so its description contains text (HTML-encoded object is allowed, see examples), and the link and title can be omitted. All element elements are optional, but at least a name or description must be present.

Element Description Example
tittle The name of the item. Venice Film Festival Sorts at Quit Sinking
reference The URL of the object. http://nytimes.com/2004/12/07FEST.html
description      Element synopsis. Some of the most heated discussions at this week's Venice Film Festival focused on how the stars "arrival at the Palazzo del Sinema was staged.
author E-mail address of the author of the item. Larger.
category Places an item in one or more categories. Larger.
got feedback The URL of the comment page for the item. Larger.
shelter Describes the media object attached to the element. Larger.
guid A string that uniquely identifies the item. Larger.
AdvertisementDate Indicates when the item was published. Larger.
source The RSS feed where the item came from. Larger.


<source> under <element> 

<source> is an optional <item> element.

Its meaning is the name of the RSS feed where the element derived from its "title" came from. It has a required url attribute associated with the source XML transformation.

<source url = «http://www.tomalak.org/links2.xml «> Tomalak's Realm </source>

The purpose of this element is to extend credit to links, advertising sources of news stories. It can be used in the aggregator Post command. It should be generated automatically when an item is sent from the aggregator to the blog management tool.

<encosure> under <item> 

<enclosure> is a nested <item> element.

It has three required attributes. The URL indicates where the lock is located, length is the size in bytes, and type is a type that is one of the standard MIME types.

The URL must be an HTTP address.

<enbosure url = «http://www.scripting.com/mp3s/weatherReportSuite.mp3» length = «12216320» type = «audio/mpeg »/>

The development of this element for the user's case is here. (NdT: The original document was deleted but found and saved here.)

<category> under <item> 

<category> is an optional <item> subkey.

It has an optional attribute, a domain, a string that identifies the taxonomy of the categorization.

An element value is a string in which the delimiter is a slash defining a hierarchical location in the assigned taxonomy. Treatment staff may enter into category interpretation agreements. The following are two examples:

<category> Grateful Dead </category>

<category domain = «http://www.fool.com/cusips «> MSFT </category>

You can include as many categories of items as you want in different domains and cross-reference an item in different parts of the same domain.

<pabDate> under <item> 

<pabDate> is an optional nested <item> element.

Its value is the date when the item was published. If it is a future date, aggregators may not show the item until that date.

<pabDate> Sun, 19 мая 2012 15:21:36 GMT </pabDate>

<guid> under <item> 

<guid> is an optional nested <item> element.

guid is a unique global identifier. This is the string that uniquely identifies the item. When present, the aggregator can choose to use it to determine if an item is new.

<guid> http ://some.server.com/weblogItem3207 </guid>

There is no syntax rule for guid. Aggregators can see a chain in them. Establishing the uniqueness of a string is a matter of the source of the stream .

If the guid attribute has an attribute named "isPermaLink" with a value of true, the reader can assume that it is a permalian of the object, that is, a url that can be opened by a browser pointing to the complete element described by the <item> element. Example:

<guid isPermaLink = «true «> http ://inessential.com/2002/09/01.php # a2 </guid>

isPermaLink is optional, its default value is true. If its value is false, then guid cannot be read as url, or url to something specific.

<comments> under <item> 

<comments> is an optional <item> subkey.

If present, this is the URL of the object's comment page.

<comments> http ://ekzemplo.com/entry/4403/comments </comments>

Read more about the comments here.

<author> under <item> 

<author> is an optional <item> subkey.

This is the email address of the author of the item. For RSS syndication of newspapers and magazines, the author is the person who wrote the article that <item> describes. For joint webblogs, the author of the item may not be the editing manager or webmaster. For a blog made by one person, it would be relevant to omit the "author" element.

<author> lawyer @ boyer.net </author>

5. Got feedback

RSS places constraints on the first non-space character in the <link> and <url> element data. The data in these elements must begin with a registered IANA URI, such as http ://, https ://, news ://, mailto:, and ftp ://. Prior to RSS 2.0, the specification allowed only http ://and ftp ://, however, in practice, other URI schemes were used by content developers and recognized as aggregators. Aggregators may have limitations when they learn URI schemes. Content developers should not assume that all aggregators recognize all schemas.

In RSS 0.91, different elements were limited to 500 or 100 characters. In the "channel" 0.91 there could be no more than 15 <objects>. RSS 0.92 and higher does not have a string length or XML level constraint. Processing agents can set their own constraints, and generators can have options indicating that no more than a certain number of <item> s can appear in the channel or that the strings are of limited length.

RSS 2.0 provides a channel layout between channels and is identified in the directory system using the link layer category functionality described above. For example, by associating a channel with its Syndic8 identifier, we include a category element as a <channel> element, with the "Syndic8" domain, and as a value - the channel identifier in the Syndic8 database. A suitable category element for Script News may be <category domain = "Syndic8 "> 1765 </category>.

A frequently asked question about <guid> s is how they compare to <link> s. It's much the same thing? Yes, for some content systems, not others. For some systems, <link> is a permian in a blog post. However, in other systems, each <item> is a synopsis of a longer article, <link> points to the article, and <guid> points to a permian for writing in a weblog. In any case, it is recommended to provide a guide, and, if possible, make it Permian. This allows aggregators not to repeat items, even if there have been edits.

If you have questions about the RSS 2.0 format, please post them on the RSS2-Support forum hosted by Sjoerd Visscher. This is not a discussion forum, but a resource for supporting users, authors and developers who create and use content in RSS 2.0 format.

6. Extend RSS

RSS was created in 1999, with the desire to be a simple and straightforward format, with relatively modest goals. After it became a popular format, developers wanted to expand it with modules defined in namespaces as specified by the W3C.

RSS 2.0 adds this capability by following a simple rule. An RSS Feed can contain items not described on this page only if those items are defined in the namespace.

The elements defined in this document are not themselves members of the namespace, so RSS 2.0 may remain compatible with previous versions without the following meaning - a version 0.91 or 0.92 file is also a valid 2.0 file. If the RSS 2.0 elements were in the namespace, this restriction would be violated because the version 0 .9x file could not be a valid 2.0.

7. Road book

RSS may not be an ideal format in any way, but it is very popular and widely known. Having a specification set is something that RSS has long needed. The goal of this work is to help it become something standard, stimulate the growth of the market that is developing around it, and clear the way for innovation in new syndication formats. Thus, the RSS specifications for all practice tasks are frozen until version 2.0.1. We plan possible versions 2.0.2 or 2.0.3, etc. only for the need to refine the specification, and not add new features to the format. Additional work can be done on modules, using namespaces, and in completely new syndication formats, with new names.

8. License

RSS 2.0 is offered by the Berkman Center for Internet & Society at Harvard Law School under an Attribute/Share Alike Creative Commons license. The original paper was authored by Dave Wiener, founder of UserLand software and a partner at the Berkman Center.

End of translation

The content of this translation is offered under the terms of the Attribute/Share Alike Creative Commons license.

Creative Commons License