Aug
23
什么是 RSS?
RSS 是一种站点内容聚合的格式。
它的名字是Really Simple Syndication 的的简写。
RSS是XML的一种。所有的RSS文档都遵循 XML 1.0规范, 该规范发布在W3C网站上。
这里是RSS版本历史的一个概要。
在一个RSS文档中,最外层是一个元素,这个元素必须规定version属性,该属性明确了本文档遵从何种RSS版本规范。如果一个RSS文档以这个规范来表示,那么它的version属性就必须是2.0。
元素只有一个子元素,包含了关于这个频道(元数据)和它的内容的一些信息。
样本文件
这里有一些RSS样本文件: RSS 0.91, 0.92 和 2.0。
注意这些样本文件所指向的链接地址和服务器可能已经不再存在。在撰写0.91文档的时候,这个0.91的样本文件就已经创建了。维护一个样本文件的历史也许是一个不错的主意。
关于本文档
本文档完成于2002年秋天,版本为 2.0.1。
它包含从 RSS 0.91 规范(2000年)开始的所有的修改和添加,以及包含在RSS 0.92 (2000年12月)和RSS 0.94(2002年8月)中的新的特性。
详细的文档历史纪录请参阅这里。
本文档中首先介绍必须的和可选的频道元素;接着介绍了- 的子元素。最后回答了一些经常碰到的问题,并提供了未来的发展路线和RSS扩展的指导方针。
必需的频道元素
下面是一个必须包含的频道(channel)元素的列表,每一个都有一个简单的描述、一个例子、应该出现的位置和更详细描述的链接地址。
01.● title
名称:title
描述:频道的名称。它表明别人如何访问你的服务。如果你有一个与你的RSS文件内容一致的HTML网站,你的title元素值应该与你的网站的标题相同。
例子:GoUpstate.com 的新闻大字标题。
02.● link
名称:link
描述:对应频道的网站的URL链接地址。
例子:http://www.goupstate.com/ 。
03.● description
名称:description
描述:关于频道的描述。
例子:The latest news from GoUpstate.com, a Spartanburg Herald-Journal Web site。
可选的频道元素
下面是一个可选的频道(channel)元素的列表。
01.● language
名称:language
描述:频道使用的语言。比如,在一个网站上,允许聚合所有的意大利语站点到相应的分组。对于这个元素,可使用的值,参阅 Netscape提供的清单。或者可以参阅W3C定义的 清单。
例子:en-us。
02.● copyright
名称:copyright
描述:频道内容的版权声明。
例子:Copyright 2002, Spartanburg Herald-Journal
03.● managingEditor
名称:managingEditor
描述:频道内容责任编辑的电子邮件地址。
例子:geo@herald.com (George Matesky)
04.● webMaster
名称:webMaster
描述:频道技术支持人员的电子邮件地址。
例子:betty@herald.com (Betty Guernsey)
05.● pubDate
名称:pubDate
描述:频道内容发布的日期。所有的日期和时间都必须遵循 RFC 822规范, 但年份可以用2个或4个字母表示(首选4个字母)。
例子:Sat, 07 Sep 2002 00:00:01 GMT
06.● lastBuildDate
名称:lastBuildDate
描述:频道内容的最后修改时间。
例子:Sat, 07 Sep 2002 09:42:31 GMT
07.● category
名称:category
描述:指定频道所属的一个或多个分类。遵循与item级category元素相同的规则。详见这里。
例子:Newspapers
08.● generator
名称:generator
描述:表明生成频道的程序名称的字符串。
例子:MightyInHouse Content System v2.3
09.● docs
名称:docs
描述:指向该RSS文件所用格式说明文档的URL链接地址。
例子:http://blogs.law.harvard.edu/tech/rss。
10.● cloud
名称:cloud
描述:允许通过注册一个cloud来处理获得频道的更新通知,并为rss种子实现一个轻量级的发布订阅协议,详见这里。
例子:
11.● ttl
名称:ttl
描述:ttl是Time to live的缩写,表示生存时间。它表示频道从源更新之前可以缓存的时间。详见 这里。
例子:60 。
12.● image
名称:image
描述:指定一个可以在频道中显示的GIF、JPEG或者 PNG 图像。详见这里。
例子:。
13.● rating
名称:rating
描述:频道的 PICS 内容分级信息。
例子: 。
14.● textInput
名称:textInput
描述:指定一个可以在频道中显示的文本输入框。详见这里。
例子:。
15.● skipHours
名称:skipHours
描述:提示聚合器,可以跳过那些小时的时间段。详见这里。
例子:。
16.● skipDays
名称:skipDays
描述:提示聚合器,可以跳过那些天的时间段。详见这里。
例子:。
的子元素
是 的一个可选子元素, 它本身包含了三个必须的和三个可选的子元素。
是一个GIF、JPEG或PNG图像文件的URL链接地址,该图像代表整个频道。
用于描述上面的图像,当频道在HTML中显示时,用于HTML语言中的的alt属性。
是要连接的站点的url,当显示频道时,图像的连接指向该站点。(在实际中,和应该与频道的和有相同的值)。
可选的元素包括和,它们是数字类型,指定图像的宽度和高度,单位为像素。
就是link的TITLE属性中文本,它将在调用网页时显示出来。
图像宽度的最大值为144,默认值为88 。
图像高度的最大值为400,默认值为31 。
的子元素
是 的一个可选子元素。
它指定一个可以支持rssCloud接口的web服务,rssCloud接口可以在HTTP-POST、XML-RPC或SOAP1.1中实现。
它的目的是允许通过注册一个cloud来处理获得频道的更新通知,从而为RSS feeds实现一个轻量级的发布订阅协议.
在这个例子中,为了请求频道通知,你需要发送一个XML-RPC消息到rpc.sys.com的80端口,路径为/RPC2。调用的程序为为myCloud.rssPleaseNotify。
这个元素的详细说明和 rssCloud 接口说明请参阅 这里。
子元素
的一个可选子元素。
ttl是Time to live的缩写,表示生存时间。它表示频道从源重新更新之前可以缓存的时间。这使得rss源可以被一个支持文件共享的网络所管理,例如Gnutella。
例子:60
的子元素
频道可以选择包含一个子元素,它本身包含了四个必须的子元素。
--文本输入区域提交按钮的标签。
--文本输入区域的描述。
--文本输入区域中文本对象的名称。
--处理文本输入请求的CGI脚本的URL链接地址。
使用元素的目的看起来有些神秘。你可以用它提供一个搜索引擎输入框,或让读者提供反馈信息。许多聚合器忽略该元素。
- 的元素
一个频道可以包含许多- 元素。一个项目可以代表一个"故事" ——比如说一份报纸或杂志上的故事;如果是这样的话,那么项目的描述则是故事的摘要,项目的链接则指向整个故事的链接位置。一个项目也可以本身是完整的,如果是这样的话,项目的描述就包含了文本(整体以HTML格式编码是可以的;参见例子),而链接和标题可以省略。项目的所有元素都是可选的,但是至少要包含一个标题(title)或描述(description)。
01.● title
名称:title
描述:item的标题。
例子:Venice Film Festival Tries to Quit Sinking
02.● link
名称:link
描述:item的URL链接地址。
例子:http://nytimes.com/2004/12/07FEST.html
03.● description
名称:description
描述:item的摘要。
例子:Some of the most heated chatter at the Venice Film Festival this week was about the way that the arrival of the stars at the Palazzo del Cinema was being staged.
04.● author
名称:author
描述:item作者的电子邮件地址。详见这里。
例子:。
05.● category
名称:category
描述:包含item在一个或多个分类中。详见这里。
例子:。
06.● comments
名称:comments
描述:与item相关的评论的URL链接地址。详见 这里。
例子:。
07.● enclosure
名称:enclosure
描述:item附加的媒体对象。详见这里。
例子:。
08.● guid
名称:guid
描述:可以唯一确定item身份的字符串。详见 这里。
例子:。
09.● pubDate
名称:pubDate
描述:item发布的时间。详见 这里。
例子:。
10.● source
名称:source
描述:rss频道来源。详见 这里。
例子:。
- 的子元素
RSS 是一种站点内容聚合的格式。
它的名字是Really Simple Syndication 的的简写。
RSS是XML的一种。所有的RSS文档都遵循 XML 1.0规范, 该规范发布在W3C网站上。
这里是RSS版本历史的一个概要。
在一个RSS文档中,最外层是一个
样本文件
这里有一些RSS样本文件: RSS 0.91, 0.92 和 2.0。
注意这些样本文件所指向的链接地址和服务器可能已经不再存在。在撰写0.91文档的时候,这个0.91的样本文件就已经创建了。维护一个样本文件的历史也许是一个不错的主意。
关于本文档
本文档完成于2002年秋天,版本为 2.0.1。
它包含从 RSS 0.91 规范(2000年)开始的所有的修改和添加,以及包含在RSS 0.92 (2000年12月)和RSS 0.94(2002年8月)中的新的特性。
详细的文档历史纪录请参阅这里。
本文档中首先介绍必须的和可选的频道元素;接着介绍了
必需的频道元素
下面是一个必须包含的频道(channel)元素的列表,每一个都有一个简单的描述、一个例子、应该出现的位置和更详细描述的链接地址。
01.● title
名称:title
描述:频道的名称。它表明别人如何访问你的服务。如果你有一个与你的RSS文件内容一致的HTML网站,你的title元素值应该与你的网站的标题相同。
例子:GoUpstate.com 的新闻大字标题。
02.● link
名称:link
描述:对应频道的网站的URL链接地址。
例子:http://www.goupstate.com/ 。
03.● description
名称:description
描述:关于频道的描述。
例子:The latest news from GoUpstate.com, a Spartanburg Herald-Journal Web site。
可选的频道元素
下面是一个可选的频道(channel)元素的列表。
01.● language
名称:language
描述:频道使用的语言。比如,在一个网站上,允许聚合所有的意大利语站点到相应的分组。对于这个元素,可使用的值,参阅 Netscape提供的清单。或者可以参阅W3C定义的 清单。
例子:en-us。
02.● copyright
名称:copyright
描述:频道内容的版权声明。
例子:Copyright 2002, Spartanburg Herald-Journal
03.● managingEditor
名称:managingEditor
描述:频道内容责任编辑的电子邮件地址。
例子:geo@herald.com (George Matesky)
04.● webMaster
名称:webMaster
描述:频道技术支持人员的电子邮件地址。
例子:betty@herald.com (Betty Guernsey)
05.● pubDate
名称:pubDate
描述:频道内容发布的日期。所有的日期和时间都必须遵循 RFC 822规范, 但年份可以用2个或4个字母表示(首选4个字母)。
例子:Sat, 07 Sep 2002 00:00:01 GMT
06.● lastBuildDate
名称:lastBuildDate
描述:频道内容的最后修改时间。
例子:Sat, 07 Sep 2002 09:42:31 GMT
07.● category
名称:category
描述:指定频道所属的一个或多个分类。遵循与item级category元素相同的规则。详见这里。
例子:
08.● generator
名称:generator
描述:表明生成频道的程序名称的字符串。
例子:MightyInHouse Content System v2.3
09.● docs
名称:docs
描述:指向该RSS文件所用格式说明文档的URL链接地址。
例子:http://blogs.law.harvard.edu/tech/rss。
10.● cloud
名称:cloud
描述:允许通过注册一个cloud来处理获得频道的更新通知,并为rss种子实现一个轻量级的发布订阅协议,详见这里。
例子:
11.● ttl
名称:ttl
描述:ttl是Time to live的缩写,表示生存时间。它表示频道从源更新之前可以缓存的时间。详见 这里。
例子:
12.● image
名称:image
描述:指定一个可以在频道中显示的GIF、JPEG或者 PNG 图像。详见这里。
例子:。
13.● rating
名称:rating
描述:频道的 PICS 内容分级信息。
例子: 。
14.● textInput
名称:textInput
描述:指定一个可以在频道中显示的文本输入框。详见这里。
例子:。
15.● skipHours
名称:skipHours
描述:提示聚合器,可以跳过那些小时的时间段。详见这里。
例子:。
16.● skipDays
名称:skipDays
描述:提示聚合器,可以跳过那些天的时间段。详见这里。
例子:。
是要连接的站点的url,当显示频道时,图像的连接指向该站点。(在实际中,
可选的元素包括
图像宽度的最大值为144,默认值为88 。
图像高度的最大值为400,默认值为31 。
它指定一个可以支持rssCloud接口的web服务,rssCloud接口可以在HTTP-POST、XML-RPC或SOAP1.1中实现。
它的目的是允许通过注册一个cloud来处理获得频道的更新通知,从而为RSS feeds实现一个轻量级的发布订阅协议.
在这个例子中,为了请求频道通知,你需要发送一个XML-RPC消息到rpc.sys.com的80端口,路径为/RPC2。调用的程序为为myCloud.rssPleaseNotify。
这个元素的详细说明和 rssCloud 接口说明请参阅 这里。
ttl是Time to live的缩写,表示生存时间。它表示频道从源重新更新之前可以缓存的时间。这使得rss源可以被一个支持文件共享的网络所管理,例如Gnutella。
例子:
频道可以选择包含一个
--处理文本输入请求的CGI脚本的URL链接地址。
使用
一个频道可以包含许多
01.● title
名称:title
描述:item的标题。
例子:Venice Film Festival Tries to Quit Sinking
02.● link
名称:link
描述:item的URL链接地址。
例子:http://nytimes.com/2004/12/07FEST.html
03.● description
名称:description
描述:item的摘要。
例子:Some of the most heated chatter at the Venice Film Festival this week was about the way that the arrival of the stars at the Palazzo del Cinema was being staged.
04.● author
名称:author
描述:item作者的电子邮件地址。详见这里。
例子:。
05.● category
名称:category
描述:包含item在一个或多个分类中。详见这里。
例子:。
06.● comments
名称:comments
描述:与item相关的评论的URL链接地址。详见 这里。
例子:。
07.● enclosure
名称:enclosure
描述:item附加的媒体对象。详见这里。
例子:。
08.● guid
名称:guid
描述:可以唯一确定item身份的字符串。详见 这里。
例子:。
09.● pubDate
名称:pubDate
描述:item发布的时间。详见 这里。
例子:。
10.● source
名称:source
描述:rss频道来源。详见 这里。
例子:。