-
Notifications
You must be signed in to change notification settings - Fork 0
Specification_RSS
RSS 2.0 規範
什麼是RSS
RSS是一種web內容格式標準.
RSS是XML的一種.遵從XML1.0標準.
在最高層,RSS起始於<RSS>.此標記包含屬性”version”,如某RSS文檔符合本標準,則version值應為2.0
<RSS>元素的下屬元素為一個單一的<channel>元素,此中包含了此頻道的相關信息
關於本文檔
本文介紹的是2002年制定的RSS2.0.1標準.
此標準基於RSS0.91並融合了對以往標準的修改和一些新特性.
本文首先介紹的是<channel>的必要和非必要元素,然後是<item>,本文的最後一節為常見問題的解答和下一版本的簡單 介紹
<channel>的必要子元素
一,<title>:
頻道的名稱
例如:
GoUpdate.com news HeadLines
二,<link>:
此頻道的相關鏈接
例如:
三,<description>:
頻道的簡單描述
例如:
The Latest News from GoUpdate.com
<channel>的可選子元素
一,<language>:
本頻道使用的語言
例如:
en-us
二,<copyright>:
版權聲明
例如:
copyright 2002,spartanburg Herald-journal
三,<managingEditor>:
責任編輯的E-Mail
例如:
geo@herald.com(George Matesky)
四,<webMaster>:
技術問題負責人的E-Mail地址
例如:
betty@herald.com(Betty Guernsey)
五,<pubDate>:
本頻道內容的發佈時間,日期和時間都應遵從RFC822標準
例如:
Sat,07 sep 200200:00:01 GMT
六,<lastBuildDate>:
本頻道的最後更新時間
例如:
Sat,07 Sep 2002 09:42:31 GMT
七,<category>:
本頻道的所屬類型,同<item>的<catalog>意義相同,詳細介紹見下文
比如:
<catalog>Newspagers</catalog>
八,<generator>:
生成本頻道所用的軟件
例如:
MightyInHouse Content System v2.3
九,<docs>:
關於本文件使用的RSS格式的相關文檔
十,<cloud>:
註冊一個用於頻道更新的cloud協議,詳細介紹間見下文
例如:
<cloud domain=”rpc.sys.com” port=”80″ path=”RPC2/” registerProcedure=”pingMe” protocol=”soap”/>
十一,<ttl>:
ttl(time to alive)表示用戶從本服務器得到的本頻道內容的保留時間,此元素的值以秒為單位,超過此時限自動刷新.詳細介紹見下文
例如:
<ttl>60</ttl>
十二,<image>:
指定一個與本頻道相關的GIF,JPEG或PNG圖片,詳細介紹見下文
十三,<rating>:
本頻道的PICS級別識別
十四,<textInput>:
顯示一個與本頻道相關的文本輸入框,詳細介紹見下文
十五,<skipHours>:
告知用戶在此時段內得不到網站內容,詳細介紹見下文
十六,<skipDays>:
告知用戶在此日期內得不到網站內容,詳細介紹見下文
子元素<image>:
<image>包含下面三個必要子元素
一,<url>:描述此頻道的GIF,JPEG或PNG圖片的URL
二,<title>:此圖片的相關描述
三,<link>:圖片上的鏈接
<image>的可選子元素
<width>和<height>:標出圖片的寬與高,單位為像素,width的最大值為144,默認為88,height的最 大值為400,默認為31.
子元素<cloud>:
指定一個rssCloud服務,此服務可以HTTP-POST,XML-RPC或SOAP1.1形式構成.
此服務目的是使用輕量級通訊協議來進行更新提醒
例如:
<cloud domain=”rpc.sys.com” port=”80″ path=”RPC2/” registerProcedure=”myCloud.rssPleaseNotify” protocol=”xml-RPC” />
上述例子中表示向rpc.sys.com的80端口的”/RPC2″路徑發送XML_RPC訊息,以myCloud.rssPleasyNotify為過 程名.
子元素<textInput>:
<textInput>包含下列四個必要的必要的子元素:
一,<title>:提交按鈕上的文本
二,<description>:文本輸入框的描述
三,<name>:文本框內文字集合的名稱
四,<link>:文本提交後用於處理此文本的CGI角本的URL.
<item>的子元素 一個<channel>可以包含多個<item>,每個<item>都可看作一篇文章,<item>的所有子元素都是非必要的
一,<title>:
條目(item)的標題
二,<link>:
條目所對應的URL
三,<description>:
文章之概要
四,<author>:
文章作者的E-Mail地址,詳細介紹見下文
五,<category>:
文章的分類,詳細介紹見下文
六,<comments>:
文章評註的URL,詳細介紹見下文
七,<enclosure>:
文章的附件,詳細介紹見下文
八,<guid>:
本條目的唯一標識,詳細介紹見下文
九,<pubDate>:
此條目發佈的時間,詳細介紹見下文
十,<source>
本條目所屬的頻道,詳細介紹見下文
子元素<source>:
此元素值為此條目的來源,可參照<title>的值來設定,此元素有一個必要的屬性”url”,此屬性的值為本條目來源的URL.
比如:
<source url=”http://www.domain.com/some-xml.xml”>XML News</source>
此元素用來標出文章的出處
子元素<enclosure>
此元素素三個必要屬性,url為附件所在的http url,length為附件的大小,type為附件的類型,使用標準的MIME類型
比如:
<enclosure url=”http://www.domain.com/some-mp3.mp3″ length=”12216320″ type=”audio/mpeg” />
子元素<category>
此元素包含一個非必要屬性domain,指向一個分類方法,此子元素的值為以正斜槓分開的字符串.可用分類處理程序整理這些分類
比如:
<category>Grateful Dead</category>
或
<category domain=”http://www.domain.com/path”>CATEGORY</category>
可以放置任意多個<category>,可以使用任意多個domain,也可以關聯一個domain的多個類別.
子元素<pubDate>
此元素值為一個遵從RFC822的時間,如果此時間在當前時間之後,此條目也許不被顯示.
比如:
<pubDate>Sun,19 May 2002 15:21:36 GMT</pubDate>
子元素<guid>
<guid>是一個全局唯一的標示,RSS收集器可通過此元素尋找新寫入的條目
比如:
<guid>的值沒有標準,RSS器將其視為字符串.
如<guid>包含一個屬性”isPermaLink”且屬性值為true,此guid則被看作一個url並且可以被打開
子元素<comments>
此元素值為本文之評註的URL
子元素<author>
此元素為本文作者的E-Mail,如果RSS源為報紙或雜誌,則此元素值為本條目的<link>子元素所指文章的作者,如用於某人的blog則<author>可以被省略.
附註:
RSS限定從<link>和<url>值的第一個非空白字符處開始分析,這兩個元素的值應為一個URI架構開始,例如http:
在RSS0.91版中,許多元素值被限制在500或100個字符之內,爾且0.91版RSS的<channel>內的< item>元素不能多過15個.在0.92以上的RSS版本中不會再有這些限制,可使用RSS收集器自行設置.
RSS2.0為頻道提供了分類系統,上文已提到此功能,例如某一頻道使用分類系統”Syndic8″,就可以在此<channel>元素下使 用category子元素並將屬性domain設置為”Syndic8″,這個條目的category元素應寫為<category domain=”Syndic8″>1765</category>.
經常有人問起<guid>和<link>是否意義相同,答案是在一些系統上是相同的,但在不少系統上是不同的,在一些系統中, <link>指向一個weblog條目,但在另外的系統中,<link>直接指向文章,<guid>指向 weblog入口.一般來說,建議給出guid,最好賦於其文章的永久連接地址,可以使得RSS收集起每次更新不用下載全部文章.
RSS的擴充
RSS於1999年制定,計畫將其擴充成一個簡單,易懂且嚴謹的標準.待RSS成為一種流行的格式後,開發人員計畫利用namespace模組來為其擴充.
RSS2.0使用一個簡單的方法加入了此項功能,一個RSS源可以把一些內容放入namespace爾不顯示在正文里.
後續版本展望
RSS不是完美的格式,但它非常流行且被廣泛支持,RSS穩固的結構可以使其流行很長時間.此標準計畫被完善成一個不用改變的標準同時培養起一片市場,並 為下一個此類標準的誕生開闢道路.因此RSS標準將被凍結在2.0.1版本,我們可能也會看到2.0.2或2.0.3版本,但只會是簡單的修改,並不會添 加新元素.下面的工作將會是利用namespace開發模組,或是以新的名稱開發新的格式.
版權和作者
本文章使用Attribution/Share Alike Share Creative Common License.本文作者為Dave Winner.Userland軟件公司的創建者