`
t225com
  • 浏览: 665059 次
文章分类
社区版块
存档分类
最新评论

什么是RSS

 
阅读更多
什么是RSS?
RSS是一种网页内容联合格式(webcontentsydicationformat)。
它的名字是ReallySimpleSyndication的缩写。
RSS是XML的一种。所有的RSS文档都遵循XML1.0规范,该规范发布在W3C网站上。

在一个RSS文档的开头是一个<rss>节点和一个规定的属性version,该属性规定了该文档将以RSS的哪个版本表示。如果该文档以这个规范来表示,那么它的version属性就必须等于2.0。

在<rss>节点的下一级是一个独立的<channel>节点,该节点包含关于channel的信息和内容。

关于本文档
该文档是在2002年秋天撰写的,当时的RSS版本为2.0.1。
它包含从RSS0.91规范(2000年)开始的所有的修改和添加,以及包含在RSS0.92(2000年12月)和RSS0.94(2002年8月)中的新的特性。

必需的频道节点
下面有一份必须包含的频道(channel)节点的列表,每一个都有一个简单的描述、一个例子、应该出现的位置和更详细描述的超链接。
元素描述范例
title频道(channel)名称。它可以告诉别人如何访问你的服务。如果你有一个与你的RSS文件内容一致的HTML网站,你的title元素值应该与你的网站的标题相同。GoUpstate.comNewsHeadings
link响应该频道的网站的URLhttp://www.goupstate.com/
description关于该频道的描述ThelatestnewsfromGoUpstate.com,aSpartanburgHerald-JouralWebSite

可选的频道元素
下面是可选的频道元素列表
节点描述范例
language使用的语言。这允许聚合器对所有的意大利语站点分组。en-us
copyright版权声明Copyright2002,SpartanburgHerald-Journal
managingEditor内容负责人的Emailgeo@herald.com(GeorgeMatesky)
webMaster技术人员的Emailbetty@herald.com(BettyGuernsey)
pubDate内容的发布时间Sat,07Sep200200:00:01GMT
lastBuildDate最后更新时间Sat,07Sep200209:42:31GMT
category指定该频道所属的一个或多个分类。遵循与item级category元素相同的规则。<category>Newspapers</category>
generator生成该频道的程序名称MightyInHouseContentSystemv2.3
docs指向rss格式文档的url地址?http://blogs.law.harvard.edu/tech/rss
cloud允许所有进程注册一个cloud用于获得频道的更新通知,并为rss种子实现一个轻量级的发布订阅协议。<clouddomain="rpc.sys.com"port="80"path="/RPC2"registerProcedure="pingMe"protocol="soap"/>
ttlttl是Timetolive的缩写。它指示cache的有效保存时间。<ttl>60</ttl>
image与频道一起显示的图片地址
rating该频道的统计图片地址
textInput指定一个textbox与该频道一起显示
skipHours告诉使用者哪些时段是可以忽略的
skipDays告诉使用着哪些天是可以忽略的

<channel>子节点<image>
<image>是一个可选的<channel>子节点,该节点包含三个必需的子元素和三个可选的子元素。
<url>是GIF、JPEG或PNG图像文件的URL地址,该图像代表整个频道
<title>用于描述上面的图像,等同于HTML语言中的<img>的alt属性
<link>是要连接的站点的url,当显示频道时,图像的连接指向该站点。
<title>和<link>应该与频道的<title>和<link>有相同的值
可选的节点包括<width>和<height>,它们是数字类型,指定图像的宽度和高度,单位为像素
<description>就是link的TITLE属性中文本,它将在调用网页时显示出来。

图像宽度的最大值为144,默认值为88
图像高度的最大值为400,默认值为31

<channel>子节点<cloud>
<cloud>是一个可选的<channel>子节点。
它指定一个可以支持rssCloud接口的web服务,rssCloud接口可以用HTTP-POST,XML-RPC或SOAP1.1实现。
它的目的是允许通知注册为cloud的进程频道被更新,从而实现一个轻量级的发布订阅协议。
<clouddomain="rpc.sys.com"port="80"path="/RPC2"registerProcedure="myCloud.rssPleaseNotify"protocol="xml-rpc"/>在这个例子中,为了请求频道通知,你需要发送一个XML-RPC消息到rpc.sys.com的80端口,路径为/RPC2。调用的过程为myCloud.rssPleaseNotify。

<channel>子节点<ttl>
<ttl>是一个可选的<channel>子节点。
ttl是timetolive的缩写。它表示频道在被刷新前应该被缓存的时间。这使得rss源可以被一个支持文件共享的网络所管理,例如Gnutella
例如:<ttl>60</ttl>

<channel>子节点<textInput>
<textInput>是<channel>的可选的子节点,<textInput>包含四个子节点。
<title>--提交按钮的标签
<description>--该文本输入区的描述
<name>--文本输入区的名称
<link>--处理文本输入的CGI脚本的URL
使用<textInput>的目的有些神秘(?)。你可以用它提供一个搜索引擎输入框,或让读者提供反馈信息。许多聚合器忽略该节点。

<item>的节点
一个频道可以包含许多项目(item)节点。一个项目可以代表一个故事——比如说一份报纸或杂志上的故事,如果是这样的话,那么项目的描述则是故事的概要,项目的链接则指向整个故事的存放位置。项目的所有节点都是可选的,但是至少要包含至少一个标题(title)和描述(description)。

节点描述范例
titleitem的标题VeniceFilmFestivalTriestoQuitSinking
linkitem的URLhttp://www.nytimes.com/2002/09/07/movies/07FEST.html
descriptionitem概要SomeofthemostheatedchatterattheVeniceFilmFestivalthisweekwasaboutthewaythatthearrivalofthestarsatthePalazzodelCinemawasbeingstaged.
author作者的email地址oprah@oxygen.net
categoryitem可以包含在一个或多个分类中SimpsonsCharacters
comments与item相关的评论的地址http://www.myblog.org/cgi-local/mt/mt-comments.cgi?entry_id=290
enclosure附加的媒体对象
guid可以唯一确定item的字符串http://inessential.com/2002/09/01.php#a2
pubDateitem发布的时间Sun,19May200215:21:36GMT
sourcerss频道来源QuotesoftheDay

<item>子节点<source>
<source>是<item>的可选节点。
它的值是item来自的rss频道的名称,从item的title衍生而来。它有一个必须包含的属性url,该属性链接到XML序列化源。
<sourceurl="http://static.userland.com/tomalak/links2.xml">Tomalak'sRealm</source>该节点的作用是提高连接的声望,进一步推广新闻项目的源头。它可以用在聚合器的Post命令中。当从聚合器通过webblog访问一个item时,<source>能够自动被生成。

<item>子节点<enclosure>
<enclosure>是<item>的可选节点。
它有三个必要的属性。url属性指示enclosure的位置,length指出它的字节大小,type属性指出它的标准MIME类型
url必须为一个httpurl。
<enclosureurl="http://www.scripting.com/mp3s/weatherReportSuite.mp3"length="12216320"type="audio/mpeg"/>
<item>子节点<category>
<category>是<item>的可选节点。
它有一个可选属性或域,该属性是一个用来定义分类法的字符串。
该节点的值是一个正斜杠分割的字符串,它用来在指定的分类法中识别一个分级位置(hierarchiclocation)。处理器可以为分类的识别建立会话。(Processorsmayestablishconventionsfortheinterpretationofcategories)下面有两个例子:
<category>GratefulDead</category>
<categorydomain="http://www.fool.com/cusips">MSFT</category>你可以根据你的需要为不同的域(domain)包含很多category节点,并且可以在相同域的不同部分拥有一个前后参照的item。

<item>子节点<pubDate>
<pubDate>是<item>的可选节点。
它的值是item发布的日期。如果它是一个没有到达的日期,聚合器在日期到达之前可以选择不显示该item。
<pubDate>Sun,19May200215:21:36GMT</pubDate>

<item>子节点<guid>
<guid>是<item>的可选节点。
guid是globallyuniqueidentifier的缩写。它是一个可以唯一识别item的字符串。当item发布之后,聚合器可以选择使用该字符串判断该item是否是新的。
<guid>http://some.server.com/weblogItem3207</guid>
guid没有特定的语法规则,聚合器必须将他们看作一个字符串。生成具有唯一性的字符串guid取决于种子的源头。
如果guid节点有isPermaLink属性,并且值为真,读取器就会认为它是item的permalink。permalink是一个可在web浏览器中打开的url链接,它指向<item>节点所描述的全部item。
<guidisPermaLink="true">http://inessential.com/2002/09/01.php#a2</guid>

isPermaLink是可选属性,默认值为真。如果值为假,guid将不会被认为是一个url或指向任何对象的url。

<item>子节点<comment>
<comment>是<item>的可选节点。
如果出现,它指向该item评论的url
<comments>http://rateyourmusic.com/yaccs/commentsn/blogId=705245&amp;itemId=271</comments>

<item>子节点<author>
<author>是<item>的可选节点。
它是item的作者的email。对于通过rss传播的报纸和杂志,作者可能是写该item所描述的文章的人。对于聚集型webblogs,作者可能不是责任编辑或站长。对于个人维护的webblog,忽略<author>节点是有意义的。
<author>lawyer@boyer.net(LawyerBoyer)</author>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics