RSS 是一种 XML 方言,用于连锁 Web 内容和元数据。RSS 0.91 是几种可用版本中最常用的一种。对于新的 RSS 提要,更好的办法是使用 2.0 版,因为这是现行的规范,而且如前所述,它与 0.91 向后兼容。
Dave Winer 编写了规范的 2.0 版。规范的修改可能变得难以使用,或者损害已有的应用程序,他有意识地避免了这种情况。Winer 总结了他的思想:“保持简单。这就是 RSS 的价值所在。任何稍微了解 HTML 的人都能够理解 RSS。这一点极其重要!”
该规范在 Creative Commons 许可下发布(请参阅参考资料)。这意味着您可以免费复制和分发该规范,并进行衍生工作,而且可以自由地用于商业工作。一个咨询委员会负责更新规范、推广规范和编写文档。
RSS 文件形式
RSS 文件由一个
频道
频道一般有三个元素,提供关于频道本身的信息:
:与该频道关联的 Web 站点或者站点区域的 URL。
许多频道子元素都是可选的。常用的
:站点的 URL。如果频道以 HTML 呈现,该图像作为到这个站点的链接。
此外还可以使用许多其他可选的频道元素。多数都是不言自明的:
项
项通常是提要中最重要的部分。每个项都可以关于某个 weblog、完整文档、电影评论、分类广告或者任何希望与频道连锁的内容的记录。频道中的其他元素可能不变,但项经常发生变化。
您可以有任意多个项。以前的规范限值为 15 个项,如果要保持向后兼容这仍然是一个很好的上限。
新闻项的元素
每个项通常包含三个元素:
:这是该项的 URL。title 通常作为一个链接,指向包含在 元素中的 URL。
所有的元素都是可选的,但是一个项至少要么 包含一个
项还有其他一些可选的元素:
清单 1 是一个 RSS 2.0 文件的例子。注意,频道包含在
清单 1. 示例 RSS 2.0 文件
http://www.urlofthechannel.com/
http://www.urlofthechannel.com/
http://www.itworld.com/nl/ecom_in_act/11122003/
digital media is a problem for many businesses. It may also be
a hidden opportunity. Just as open source licensing has opened
up new possibilities in the world of technology, it promises to do
the same in the area of creative content.
http://www.itworld.com/nl/ecom_in_act/08202003/
the Internet. Many use person-to-person file sharing programs like
Kazaa to share and download music in MP3 format, paying nothing.
This has made it difficult for companies to setup online music
businesses. How can companies compete against free?
扩展 RSS
RSS 2.0 有许多可选元素,包括多数频道都需要的那些元素。但是它还支持扩展性,因此您可以使用规范中没有的元素。不过,RSS 2.0 规范并没有花费多少时间定义如何实现扩展。关于扩展性,规范中总结为:“RSS 提要可以包含本页中没有描述的元素,只要这些元素定义在一个名称空间中。”
这就留下了很大的想像空间!所幸的是,规范中包含一个例子,您可以参考目前使用的几个例子。
基本的思想是您可以增加需要的标签 —— 但是,增加带有多种含义的元素太容易了。使用您的频道的人们可能并不知道某个标签是什么含义。比如,如果我要在一个频道中使用
因此,RSS 允许您增加所喜欢的任何标签,但是要求必须和名称空间一起使用。这样有助于澄清标签的含义。
再回到
xmlns:ebusiness="http://www.lewingroup.com/ebusinessChannel"
这就创建了一个名为“ebusiness”的名称空间,并表明这个名称空间的文档在我的站点上。为了使用
关于扩展性,一个更实际的例子可以在 RSS 2.0 规范的示例文件中找到:
清单 2. RSS 2.0 规范示例文件中的名称空间
http://www.scripting.com/
http://radio.weblogs.com/0001015/userland/scriptingNewsLeftLinks.opml
Who loves namespaces?
http://scriptingnews.userland.com/backissues/2002/09/29#When:12:59:01PM
在这个例子中,定义了一个称为 blogChannel 的名称空间。它指向一个文档,该文档解释了几种常见于 weblog 的新元素的用法。其中之一是 。文档说明,blogroll 是 weblog 中的一个链接集合,指向与您的 weblog 内容相关的站点。
标签提供了用户或软件所需要的信息,知道 blogRoll 是一个定义在 blogChannel 名称空间中的元素,而且可以找到这个文档的位置。
同样,RSS 2.0 只对不 属于规范的元素要求名称空间。所有的基本标签都假定在 RSS 2.0 名称空间中。这使得这种格式更容易使用,因为除非需要扩展 RSS,否则您完全不需要知道名称空间。
参考:RSS 2.0 规范
没有评论:
发表评论