d
From: http://msdn.microsoft.com/msdnmag/issues/04/04/XMLFiles/default.aspx
什么是 Blog?
Blog是 Web Log 的简称(译者注:也就是网志(中国大陆也叫博客))。它是一种作者与读者以日志风格进行交互的中介。在软件社区,人们以网志形式来共享观念与思想变得越来越流行。如:http://blogs.msdn.com 就是 MSDN 上的一个 blogging。
建立网志最轻松的方法是什么?
要想建立自己的网志,最容易的方法是到类似 blogger.com 这样的站点注册一个新用户,它提供一个创建自定义网志的 Web 界面,并且可以立即使用所创建的网志。类似 blogger.com 的站点有很多,它们都提供对网志特性的支持。 如果你想更多地控制网志的基础结构或者想要在自己的服务器上建立网志服务系统。你可在以下最流行的几种网志应用商业产品中选择其一:Radio Userland、Manila 和 Movable Type。还有些易用的免费 .NET 网志应用可以使用,最流行的有:.TEXT 和 dasBlog。只要把它们下载下来,然后按照安装说明进行安装与设置,分分钟便可建立起一个可运行的网志服务系统。
从功能上讲,这两个基于 .NET 的网志应用系统不相上下。其主要区别在于 .TEXT 需要数据库,SQL Server 或者 MSDE,而dasBlog 将所有信息都存储在 XML 文件中(它基于原来一些微软公司开发人员创建的 BlogX 框架),另一个差别是 .TEXT 在单个安装配置中可支持多个网志(比如现在的 http://blogs.msdn.com 就是如此),而 dasBlog 要支持多个网志,必须进行多次安装。但 dasBlog 有一个很突出的特性,那就是“Mail to Weblog”,它允许你通过邮件来发布新信息。
新的 MSDN 网志服务站点和 PDC Bloggers 都是开始查找关于软件开发主题的很好去处。只要浏览这些站点之一便可阅读其经过聚合的预定内容。其预定的摘要会向你公开许多个人网志,渐渐的你会自然而然地发现一些你比较喜欢阅读的内容。这样,你便可以直接预定你最喜欢的个人网志摘要。
对于专门讨论 XML 和 Web 服务的网志,请查看 MSDN Web Services Developer Center 上的清单,我个人要花很多时间上这些网志站点。
什么是 Feed(以下称为提要),如何预定它?
网志以 RSS 文档形式为其内容提供一个提要,该 RSS 文档可以通过众所周知 URL 获得。RSS 文档是一个 XML 文件,它包含大量离散的新闻项,如某个网志中的入口项(RSS 提要的例子参见 Figure 1)。由于 RSS 是 XML 格式文件,所以它很容易被其它程序所使用。
RSS 聚合器是一个读取 RSS 文档并显示新闻项的程序。大多数聚合器只要输入 RSS 的 URL,使得预定提要成为可能。
RSS 使阅读网志便得容易。大多数经常阅读网志的开发人员都使用某种类型的聚合器来帮助他们有效地筛选提要内容。聚合器使得阅读网志的感觉就象是在阅读电子邮件,因为它们突出新闻项并将新闻项进行缓冲处理以便离线阅读(参见 Figure 2)。
还有一些在线 RSS 聚合器将 RSS 提要捆绑到某个单独的网站。其优点是易于设置并且可以从任何计算机存取你的提要内容。当然,其缺点也是显而易见的,那就是在阅读时必须始终保持连接。
RSS 是网志成为一种强大的新型信息交流形式之根本所在。在网志出现之前,大多数开发人员为了要查找到需要的内容,通常要花大量时间来筛选掉那些令人讨厌的无关的信息。
网志通过让读者选择所要阅读的提要,将控制权交给读者,从而有效地构建自己的个性化内容流。
其它类型的站点也能利用 RSS 的优点来聚合内容。例如,多数主流的新闻站点包括 Wired、CNet、Yahoo 和 NPR News 都提供 RSS 提要。访问 Blogdigger 和 Syndic8,你可以找到一些支持 RSS 的站点。
微软的 MSDN 提供 RSS 提要(RSS feeds)来聚合新添加到站点的技术内容。MSDN 的 Just Published提要是一种保持 MSDN 新文章和下载的主要方式。甚至 MSDN Magazine(MSDN 杂志)都有其自己的 RSS 提要!可以预定:http://msdn.microsoft.com/msdnmag/rss/recent.xml 获得每月的更新以便查看本期有何内容?目前有许多种 RSS 聚合器可供选择,在 http://blogs.law.harvard.edu/tech/directory/5/aggregators 上可以找到一个相当完整的列表。其中一些是在线聚合器,而另外一些是桌面应用程序。有些是免费的,另外一些需要付费才能使用。
哪个 RSS 版本是最通用的?
这个问题的答案要看你问的是谁,RSS 的版本有好多个,0.90、0.91、0.92、0.93、0.94、1.0 和 2.0。要弄清楚这些版本之间的差别是巨大的挑战之一。理解它们需要了解一些有关它们的历史背景。Netscape 创建了 RSS 的最初版本 0.90,起初的名字是“RDF Site Summary”或者“Rich Site Summary”(规范中说前者是正式名称)。Netscape 创建 RSS 0.90 用于其 Web 门户,这个时候,其他人看到了 RSS 的使用潜力。Userland Software 是第一个开始将 RSS 用于其网志商业产品者之一。
版本 0.90 在很大程度上基于 W3C 的 Resource Description Framework (RDF)。许多人都认为 RDF 过于复杂,因此都建议出一个免费的简化版本 0.91。这个任务恰好就给了 Userland Software。Userland Software 便继续发展 RSS 的简化版本,随后出台的版本包括:0.92、0.93 和 0.94。为了强调其所做的简化工作,他们将 RSS 的全称定为“Really Simple Syndication”。
正当 Userland Software 继续专注于其简化工作时,另外一组开发人员在复兴最初的 RDF 版本(0.90),因为 RSS 号称自己更灵活。他们最终发布了一个 RSS 1.0 的版本,其正式名称还是“RDF Site Summary”。由于使用 RDF,这个版本完全不同于 Userland Software 所控制的版本。Userland Software 当然不太愿意看到 RSS 1.0 似乎要取代其 0.94 版本的事实,于是出了一个新版本,并将版本号一下子跳到了 2.0。
这就是今天的这种局面,形成了两个主要的竞争版本:一个基于 RDF 1.0,而另一个则不是(2.0),但它们两个都共用相同的名字。这是一种可怕的混乱,因为版本号导致人们误认为 2.0 是 1.0 的改进版本,而实际上它们是两个目标完全不同的规范。另一组开发人员已经下狠心着手解决这种混乱问题,通过定义新的摘要(syndication)规范来与 RSS 名字的随意性决裂。这个解决方案称为 Atom(原子)项目。本文稍后将会详细讨论。
使用哪个版本其实是无关痛痒的,大多数 RSS 聚合机制支持所有的 RSS 版本(有些甚至支持 Atom)。最终的决定取决于你是否想使用 RDF,可谓萝卜白菜,各有所爱,它完全要看某人所信奉的 Semantic Web 概念而定。
RSS 1.0 和 RSS 2.0 各是什么样子?
RSS 1.0 和 2.0 格式所包含的核心信息相同,但其结构不一样。我提供了一个 RSS 1.0 文档(参见 Figure 1)以及一个同等的 RSS 2.0(参见 Figure 2)用于对照。
你会注意到顶行右边开始的根元素的差异,RSS 1.0 的根元素是 rdf:RDF,而 RSS 2.0 的根元素是 rss。rss 还包含一个强制版本属性用以表示所用的RSS的准确格式(可能的值包括:0.91, 0.94 等)。另一个主要差别是 RSS 1.0 文档有名字空间限定,RSS 2.0 的文档就没有。不管怎样,包含在两个文档中的信息本质上是一样的。
两个版本都包含 channel 元素,而 channel 元素又包含三个必须的元素:title、description 和 link,其代码如下: