RSS 无处不在!
今天,您可以发现成千上万的 RSS 提要。Weblog 用户、新闻出版商、政府代理以及许多个人和商业 Web 站点都支持这种格式。Java 技术、PERL、PHP、Python 和其他主要编程语言,都为开发人员提供了处理 RSS 的工具。许多阅读器和聚集器都工作在 Web、桌面甚至 e-mail 客户程序中。RSS 已成为 Internet 上连锁内容和元数据事实上的标准。
什么是 RSS?
RSS 是 Internet 上连锁内容和元数据的一种格式。通常用于共享标题和到新闻文章的链接。对于新闻文章,真正的文章不一定是共享的,但是关于文章的元数据通常是共享的;这种元数据可以包含标题、URL或者摘要。对于出版商而言,RSS 是一种重要的工具,因为提要可用于连锁内容,并把第三方的内容集成到您的站点中。
RSS 是一种 XML 方言。所有的 RSS 文件必须符合万维网联盟(World Wide Web Consortium,W3C)Web 站点上发布的 XML 1.0 规范。
下面是一个典型的例子,说明了如何使用 RSS:
- 一个出版商有一些希望发布的内容。
- 他们为这些内容创建了一个 RSS 频道。
- 在这个频道中包含了关于希望宣传的网页的一些项。
- 这个频道可以被远程应用程序读取并转换成标题和链接。这些链接可以加入到新的 Web 页中或者供专门的读者阅读。
- 人们从不同的站点看到这个链接,单击连接进入最初出版商的网站。
尽管标题连锁是最常见的 RSS 用法,但也可用于其他目的。RSS 在 weblog 社区中是一种非常流行的格式。它也被用于照片簿、分类广告列表、食谱、评论以及跟踪软件包的状态。
RSS 提要在电子商务中用作一种传递信息的方式。比如,Amazon 根据其 Web 服务平台向客户提供新闻提要。从而使您能够在新闻阅读器中了解最畅销的图书,或者在您的 Web 站点中包括关于 Amazon 销售的相关图书的信息。
过去几年中,RSS 在普及性方面有了惊人的增长。Syndic8.com 维护了一个 RSS 频道索引,它的提要列表在两年中加长了大约 1400%。Yahoo 新闻、BBC、Slashdot、LockerGnome、Amazon、CNN、Wired、Rolling Stone 和 Apple Computer 都位于许多最普及的 RSS 提要来源之列。
新闻阅读器
随着新闻提要数量的增加,出现了一种新的软件类型:新闻阅读器。新闻阅读器是个人聚集器 —— 帮助您发现和组织感兴趣的频道列表。一旦选择了频道,您就可以使用阅读器一致的界面查看这些频道。新闻阅读器检查您所感兴趣的频道的更新,并转化成可以浏览的 HTML。
一种流行的新闻阅读器是 BlogExpress:
图 1. 在 BlogExpress 中查看 alphaWorks
BlogExpress 是所谓的“匹萨软件”—— 意思是说,如果您喜欢这个软件,您可以寄给作者一些买匹萨饼的钱。
定制频道
在 BlogExpress 中增加一个频道很容易。比方说,您对追踪 IBM alphaWorks 站点上的活动感兴趣。您要做的第一件事是,取一个要增加的提要:
增加一个提要很容易,桔黄色的“XML”标志常用于链接公共 RSS 提要。在多数 Web 浏览器中,您都可以右击“XML”标志复制链接并粘贴到您的新闻阅读器中。
其他常见的新闻阅读器包括 BlogStreet、FeedReader、AmphetaDesk 和 NewsGator (请参阅 参考资料)。
发现 RSS 提要
可以使用搜索引擎查找 RSS 格式的内容。比方说使用 Google 时,您可以在查找中增加“filetype:rss”以搜索 .rss 文件中的查找项。
专门的搜索引擎使内容搜索更加容易。Feedster 监视 weblog 并允许您通过一个日志项索引查找,按照相关性、日期、等级(logrank)查看。当您在搜索时,Feedster 按照您的要求创建一个 RSS 提要。这个提要可以增加到您的新闻阅读器中,以便您能够看到所有与搜索请求有关的最新活动,您甚至不需要离开新闻阅读器。
DayPop 搜索新闻、blog 和 RSS 提要。它让您在 weblog 世界跟踪流行的新闻。它提供了目前最流行的 40 个 weblog 链接。这是全世界最流行文章的链接。它创建了一个 weblog 中所用最热门词汇的列表。它还根据引用对 weblog 评级,提供最受其他 weblogger 欢迎的 weblog 列表。您也可以自定义搜索。评级列表和自定义搜索都有 RSS 提要形式,可以导入您的新闻阅读器。
RSS 2.0 的新特性
RSS 2.0 建立在 RSS 0.91 规范的基础上。它是向后兼容的,因此任何处理 RSS 2.0 的工具应该也能够处理 0.91 提要。升级后的规范增加了少量元素,比如 <cloud>
和 <guid>
。
它也去掉了一些限制。在过去,<link>
和 <url>
元素只能是 http 或 ftp,现在可以使用任何有效的 URI。在 RSS 0.91 中,每个频道只能包含 15 个项,而且元素的长度也有限制,现在这些限制都取消了。不过仍然应该小心使用较大的值,因为它们可能对老的应用程序造成问题。
不过更大的变化是能够使用名称空间扩展这种格式。RSS 2.0 支持名称空间,一种增加规范中没有的元素的标准方法。只要定义在一个名称空间中,提要可以包含新的元素。
RSS 2.0 概述
RSS 是一种 XML 方言,用于连锁 Web 内容和元数据。RSS 0.91 是几种可用版本中最常用的一种。对于新的 RSS 提要,更好的办法是使用 2.0 版,因为这是现行的规范,而且如前所述,它与 0.91 向后兼容。
Dave Winer 编写了规范的 2.0 版。规范的修改可能变得难以使用,或者损害已有的应用程序,他有意识地避免了这种情况。Winer 总结了他的思想:“保持简单。这就是 RSS 的价值所在。任何稍微了解 HTML 的人都能够理解 RSS。这一点极其重要!”
该规范在 Creative Commons 许可下发布(请参阅参考资料)。这意味着您可以免费复制和分发该规范,并进行衍生工作,而且可以自由地用于商业工作。一个咨询委员会负责更新规范、推广规范和编写文档。
RSS 文件形式
RSS 文件由一个 <channel>
元素及其子元素组成。除了频道内容本身之外,<channel>
还以项的形式包含表示频道元数据的元素 —— 比如 <title>
、<link>
和 <description>
。项通常是频道的主要部分,包含经常变化的内容。
频道
频道一般有三个元素,提供关于频道本身的信息:
<title>
:频道或提要的名称。<link>
:与该频道关联的 Web 站点或者站点区域的 URL。<description>
:简要介绍该频道是做什么的。
许多频道子元素都是可选的。常用的 <image>
元素包含三个必需的子元素:
<url>
:表示该频道的 GIF、JPEG 或 PNG 图像的 URL。<title>
:图象的描述。当频道以 HTML 呈现时,用作 HTML<image>
标签的ALT
属性。<link>
:站点的 URL。如果频道以 HTML 呈现,该图像作为到这个站点的链接。
<image>
还有三个可选的子元素:
<width>
:数字,表示图象的像素宽度,最大值是 188,默认值为 88。<height>
:数字,表示图象的像素高度。最大值是 400,默认值为 31。<description>
:包含文本,在呈现时可以作为围绕着该图像形成的链接元素的title
属性。
此外还可以使用许多其他可选的频道元素。多数都是不言自明的:
<language>
:en-us<copyright>
:Copyright 2003, James Lewin<managingEditor>
:dan@spam_me.com (Dan Deletekey)<webMaster>
:dan@spam_me.com (Dan Deletekey)<pubDate>
:Sat, 15 Nov 2003 0:00:01 GMT<lastBuildDate>
:Sat, 15 Nov 2003 0:00:01 GMT<category>
: