rss 使用规范
英文原文:
http://blogs.law.harvard.edu/tech/rss
ibm上的中文讲解:
http://www-900.ibm.com/developerWorks/cn/xml/x-rss20/index.shtml
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><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>:ebusiness
<generator>:Your CMS 2.0
<docs>:http://blogs.law.harvard.edu/tech/rss
<cloud>:允许进程注册为“cloud”,频道更新时通知它,为 RSS 提要实现了一种轻量级的发布-订阅协议。
<ttl>:存活时间 是一个数字,表示提要在刷新之前缓冲的分钟数。
<rating>:关于该频道的 PICS 评价。
<textinput>:定义可与频道一起显示的输入框。
<skiphours>:告诉聚集器哪些小时的更新可以忽略。
<skipdays>:告诉聚集器那一天的更新可以忽略。
项
项通常是提要中最重要的部分。每个项都可以关于某个 weblog、完整文档、电影评论、分类广告或者任何希望与频道连锁的内容的记录。频道中的其他元素可能不变,但项经常发生变化。
您可以有任意多个项。以前的规范限值为 15 个项,如果要保持向后兼容这仍然是一个很好的上限。
新闻项的元素
每个项通常包含三个元素:
<title>:这是项的名称,在标准应用中被转换成 HTML 中的标题。
<link>:这是该项的 URL。title 通常作为一个链接,指向包含在 </link><link> 元素中的 URL。
<description>:通常作为 link 中所指向的 URL 的摘要或者补充。
所有的元素都是可选的,但是一个项至少要么 包含一个 <title>,要么包含一个 <description>。
项还有其他一些可选的元素:
<author>:作者的 e-mail 地址。
<category>:支持有组织的记录。
<comments>:关于项的注释页的 URL。
<enclosure>:支持和该项有关的媒体对象。
<guid>:唯一与该项联系在一起的永久性链接。
<pubdate>:该项是什么时候发布的。
<source>:该项来自哪个 RSS 频道,当把项聚合在一起时非常有用。
RSS 2.0规范
channel部分
title 频道名称 必须
link 频道的URL 必须
Description 频道的描述 必须
language 频道文章所用语言 可选
copyright 频道版权说明 可选
managingEditor 管理者的email 可选
webMaster 网站管理员email 可选
pubDate 频道发布日期 可选 (注意时间必须是严格符合RFC-822)
lastBuildDate 频道最后修改日期 可选
category 频道类别 可选
generator 生成该频道的程序名 可选
docs 该RSS文件的URL 可选
ttl 有效期 可选
image 频道图标 可选
rating 频道等级 可选
skipHours 可跳过的小时 可选
skipDays 可跳过的天 可选
item部分
title 标题 必须
link 该文章的链接 必须
description 描述或称为摘要 必须
author 作者的email 可选
category 该文章的分类 可选
comments 该文章评论的链接 可选
enclosure 该文章附带的文件 可选
guid 该文章唯一的识别标志(目前没有规范,一般使用文章链接表示) 可选
pubDate 发表时间 可选
source 文章来源链接 可选
例子:
代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>D.C Life</title>
<link>http://blog.it580.com/</link>
<description>David && Cindy || XIAMI &&XlAMl.</description>
<language>zh-cn</language>
<pubdate>Tue, 10 Jun 2003 04:00:00 GMT</pubdate>
<lastbuilddate>Tue, 10 Jun 2003 09:41:01 GMT</lastbuilddate>
<generator>Xiami Edit</generator>
<managingeditor>editor@name.com</managingeditor>
<webmaster>webmaster@name.com</webmaster>
<item>
<title>例子文件</title>
<link>
http://blog.it580.com/Sample_files.php
</link>
<description>
这是一个例子文件
</description>
<pubdate>Tue, 03 Jun 2003 09:39:21 GMT</pubdate>
<guid>
http://blog.it580.com/Sample_files.php
</guid>
</item>
</channel>
</rss>