Translator: Denis Suro
Original document by Dave Wiener at Harvard.
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.
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
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.
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.
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.
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. |
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. |
<cloud domain =» rpc.sys.com» port =» 80» path = «/RPC2 »registerProcedure =« myCloud.rssPleaseNotify »protocol =» xml-rpc »/>
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. | |
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 url = «http://www.tomalak.org/links2.xml «> Tomalak's Realm </source>
<enbosure url = «http://www.scripting.com/mp3s/weatherReportSuite.mp3» length = «12216320» type = «audio/mpeg »/>
<category> Grateful Dead </category>
<category domain = «http://www.fool.com/cusips «> MSFT </category>
<pabDate> Sun, 19 мая 2012 15:21:36 GMT </pabDate>
<guid> http ://some.server.com/weblogItem3207 </guid>
<guid isPermaLink = «true «> http ://inessential.com/2002/09/01.php # a2 </guid>
<comments> http ://ekzemplo.com/entry/4403/comments </comments>
<author> lawyer @ boyer.net </author>
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.
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.
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.
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.