RSS 2.0 標準2

來源:互聯網
上載者:User
rss|標準 可選的頻道元素

下面是一個可選的頻道(channel)元素的列表。

01.● language
名稱:language
描述:頻道使用的語言。比如,在一個網站上,允許彙總所有的意大利語網站到相應的分組。對於這個元素,可使用的值,參閱 Netscape提供的清單。或者可以參閱W3C定義的 清單
例子:en-us。

02.● copyright
名稱:copyright
描述:頻道內容的著作權聲明。
例子:Copyright 2002, Spartanburg Herald-Journal

03.● managingEditor
名稱:managingEditor
描述:頻道內容責任編輯的電子郵件地址。
例子:geo@herald.com (George Matesky)

04.● webMaster
名稱:webMaster
描述:頻道技術支援人員的電子郵件地址。
例子:betty@herald.com (Betty Guernsey)

05.● pubDate
名稱:pubDate
描述:頻道內容發布的日期。所有的日期和時間都必須遵循 RFC 822規範, 但年份可以用2個或4個字母表示(首選4個字母)。
例子:Sat, 07 Sep 2002 00:00:01 GMT

06.● lastBuildDate
名稱:lastBuildDate
描述:頻道內容的最後修改時間。
例子:Sat, 07 Sep 2002 09:42:31 GMT

07.● category
名稱:category
描述:指定頻道所屬的一個或多個分類。遵循與item級category元素相同的規則。詳見這裡
例子:<category>Newspapers</category>

08.● generator
名稱:generator
描述:表明產生頻道的程式名稱的字串。
例子:MightyInHouse Content System v2.3

09.● docs
名稱:docs
描述:指向該RSS檔案所用格式說明文檔的URL連結地址。
例子:http://blogs.law.harvard.edu/tech/rss。

10.● cloud
名稱:cloud
描述:允許通過註冊一個cloud來處理獲得頻道的更新通知,並為rss種子實現一個輕量級的發布訂閱協議,詳見這裡
例子:<cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap"/>

11.● ttl
名稱:ttl
描述:ttl是Time to live的縮寫,表示存留時間。它表示頻道從源更新之前可以緩衝的時間。詳見 這裡
例子:<ttl>60</ttl>。

12.● image
名稱:image
描述:指定一個可以在頻道中顯示的GIF、JPEG或者 PNG 映像。詳見這裡
例子:。

13.● rating
名稱:rating
描述:頻道的 PICS 內容分級資訊。
例子: 。

14.● textInput
名稱:textInput
描述:指定一個可以在頻道中顯示的文本輸入框。詳見這裡
例子:。

15.● skipHours
名稱:skipHours
描述:提示彙總器,可以跳過那些小時的時間段。詳見這裡
例子:。

16.● skipDays
名稱:skipDays
描述:提示彙總器,可以跳過那些天的時間段。詳見這裡
例子:。

<channel>的子項目<image> 

<image> 是 <channel>的一個可選子項目, 它本身包含了三個必須的和三個可選的子項目。

<url>是一個GIF、JPEG或PNG影像檔的URL連結地址,該映像代表整個頻道。

<title>用於描述上面的映像,當頻道在HTML中顯示時,用於HTML語言中的<img>的alt屬性。

<link>是要串連的網站的url,當顯示頻道時,映像的串連指向該網站。(在實際中,<title>和<link>應該與頻道的<title>和<link>有相同的值)。

可選的元素包括<width>和<height>,它們是數字類型,指定映像的寬度和高度,單位為像素。
<description>就是link的TITLE屬性中文本,它將在調用網頁時顯示出來。

映像寬度的最大值為144,預設值為88 。

映像高度的最大值為400,預設值為31 。

<channel>的子項目<cloud>

<cloud> 是 <channel>的一個可選子項目。

它指定一個可以支援rssCloud介面的web服務,rssCloud介面可以在HTTP-POST、XML-RPC或SOAP1.1中實現。

它的目的是允許通過註冊一個cloud來處理獲得頻道的更新通知,從而為RSS feeds實現一個輕量級的發布訂閱協議.

<cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="myCloud.rssPleaseNotify" protocol="xml-rpc" />

在這個例子中,為了請求頻道通知,你需要發送一個XML-RPC訊息到rpc.sys.com的80連接埠,路徑為/RPC2。調用的程式為為myCloud.rssPleaseNotify。

這個元素的詳細說明和 rssCloud 介面說明請參閱 這裡

<channel>子項目<ttl>

<ttl><channel>的一個可選子項目。

ttl是Time to live的縮寫,表示存留時間。它表示頻道從源重新更新之前可以緩衝的時間。這使得rss源可以被一個支援檔案分享權限設定的網路所管理,例如Gnutella

例子: <ttl>60</ttl>

<channel>的子項目<textInput>

頻道可以選擇包含一個<textInput>子項目,它本身包含了四個必須的子項目。

<title>--文本輸入地區提交按鈕的標籤。

<description>--文本輸入地區的描述。

<name>--文本輸入地區中文字物件的名稱。

<link>--處理文本輸入請求的CGI指令碼的URL連結地址。

使用<textInput>元素的目的看起來有些神秘。你可以用它提供一個搜尋引擎輸入框,或讓讀者提供反饋資訊。許多彙總器忽略該元素。

<item>的元素

一個頻道可以包含許多<item>元素。一個項目可以代表一個"故事" ——比如說一份報紙或雜誌上的故事;如果是這樣的話,那麼項目的描述則是故事的摘要,項目的連結則指向整個故事的連結位置。一個項目也可以本身是完整的,如果是這樣的話,項目的描述就包含了文本(整體以HTML格式編碼是可以的;參見 例子),而連結和標題可以省略。項目的所有元素都是可選的,但是至少要包含一個標題(title)或描述(description)。

01.● title
名稱:title
描述:item的標題。
例子:Venice Film Festival Tries to Quit Sinking

02.● link
名稱:link
描述:item的URL連結地址。
例子:http://nytimes.com/2004/12/07FEST.html

03.● description     
名稱:description     
描述:item的摘要。
例子:Some of the most heated chatter at the Venice Film Festival this week was about the way that the arrival of the stars at the Palazzo del Cinema was being staged.

04.● author
名稱:author
描述:item作者的電子郵件地址。詳見這裡
例子:。

05.● category
名稱:category
描述:包含item在一個或多個分類中。詳見這裡
例子:。

06.● comments
名稱:comments
描述:與item相關的評論的URL連結地址。詳見 這裡
例子:。

07.● enclosure
名稱:enclosure
描述:item附加的媒體對象。詳見這裡
例子:。

08.● guid
名稱:guid
描述:可以唯一確定item身份的字串。詳見 這裡
例子:。

09.● pubDate
名稱:pubDate
描述:item發布的時間。詳見 這裡
例子:。

10.● source
名稱:source
描述:rss頻道來源。詳見 這裡
例子:。

<item>的子項目<source>

<source>是<item>的一個可選子項目。

它的值是item所屬rss頻道的名稱,從title衍生而來。它有一個必須包含的屬性url, 該屬性連結到XML序列化源。

<source url="http://www.tomalak.org/links2.xml">Tomalak's Realm</source>

該元素的作用是提高連結的聲望,從而進一步推廣新聞項目的源頭。它可以用在彙總器的Post命令中。當從彙總器中通過一個webblog編輯工具提交一個item時,<source>應該能夠被自動產生。

<item>的子項目<enclosure>

<enclosure>是<item>的一個可選子項目。

它有三個必須的屬性。url屬性工作表明enclosure的位置,length屬性工作表明它的位元組大小,而type屬性則指出它的標準MIME類型。

這裡的url必須為一個http url。

<enclosure url="http://www.scripting.com/mp3s/weatherReportSuite.mp3" length="12216320" type="audio/mpeg" />

它的 use-case 說明請參見這裡

<item>的子項目<category>

<category>是<item>的一個可選子項目。

它有一個可選屬性domain,該屬性是一個用來定義分類法的字串。

該節點的值是一個斜杠分割的字串,它用來表明在指定的分類法中的層次位置。處理器可以為分類的識別建立協定。以下是兩個例子:

<category>Grateful Dead</category>

<category domain="http://www.fool.com/cusips">MSFT</category>

你可以根據需要為不同的域包含很多<category>元素,並且可以在相同域的不同部分擁有一個交叉引用的item。

<item>的子項目<pubDate>

<pubDate> 是<item>的一個可選子項目。

它的值是一個 日期, 表明項目發布的時間。如果它是一個將來的日期,則彙總器在日期到達之前可以選擇不顯示該項目。 

<pubDate>Sun, 19 May 2002 15:21:36 GMT</pubDate>

<item>的子項目<guid> 

<guid>是<item>的一個可選子項目。

guid 是 globally unique identifier的縮寫。它是一個可以唯一識別這個<item>的字串。在發布之後,彙總器可以選擇使用該字串判斷這個<item>是否是新的。 

<guid>http://some.server.com/weblogItem3207</guid>

guid沒有特定的文法規則。彙總器必須將它們當作一個字串來處理。產生具有唯一性的字串guid取決於種子的源頭。

如果guid元素有isPermaLink屬性,並且值為真,解譯器就會認為它是item的permalink。permalink是一個可在web瀏覽器中開啟的url連結,它指向<item>節點所描述的完整item。 例如:

<guid isPermaLink="true">http://inessential.com/2002/09/01.php#a2</guid>

isPermaLink是可選屬性,預設值為真。如果值為假,guid將不會被認為是一個url或指向任何對象的url。

<item>的子項目<comments>

<comments>是<item>的一個可選子項目。

如果出現,它指向與item相關的評論的url。

<comments>http://ekzemplo.com/entry/4403/comments</comments>

更多資訊,請參閱 這裡

<item>的子項目<author> 

<author>是<item>的一個可選子項目。

它是item作者的電子郵件地址l。對於通過rss傳播的報紙和雜誌,作者可能是寫該item所描述的文章的人。對於聚集型webblogs,作者可能不是責任編輯或站長。對於個人維護的webblog,忽略<author>節點是有意義的。

<author>lawyer@boyer.net (Lawyer Boyer)</author>

注釋

RSS限制<link> 和 <url>元素的資料首字母為非空白字元。這些元素的資料必須以IANA-registered URI方案規定的格式開始,如http://, https://, news://, mailto:和 ftp://等。在RSS2.0規範之前,RSS規範只允許http:// 和 ftp://,然而在實踐中,其他的URI方案被內容開發人員廣泛使用,並被彙總器所支援。彙總器也許對它們支援的URI方案有一些限制,而內容開發人員不應該假定所有的彙總器都支援所有的URI方案。

在 RSS 0.91規範中,各種元素都被限制為500或100個字元。在一個符合0.91規範的頻道中,不能超過15個 <item> 元素。在RSS 0.92和以後的規範中,不再有這些字元長度或者XML層級的限制。處理器也許強加一些它們自己的限制,產生者也許有自己的一些參數選擇,它們可以規定在一個頻道中,不超過一定數目的<item>元素,或者字串都限制在一定的長度。 

如上所述,在 RSS 2.0規範中,對於一個目錄系統,當連結一個頻道到它的標識中時,使用基於頻道層級的分類特徵。 例如,如果連結一個頻道到它的Syndic8 標識,則將包括一個分類元素作為頻道的子項目,它有域“Syndic8”屬性,同時在Syndic8 資料庫中為你的頻道確定這個標識。正確的分類元素指令碼應該是 <category domain="Syndic8">1765</category>。

一個經常被問到的問題是關於<guid> 如何和 <link>進行區別。它們指的是相同的事情嗎?在一些內容系統中是,但在別的內容系統中可能不是。在一些系統中,<link>是一個部落格項的永久連結。然後在別的系統中,每一個<item>都是一個較長文章的摘要,<link>指向這篇文章,而<guid>則是這個部落格入口的永久連結。在所有的情況下,建議提供<guid>,如果可能的話,並使它成為一個永久連結。這使彙總著在內容發生變化時,也不會出現重複項目成為可能。

如果你對RSS 2.0規範的格式有任何問題,請向由Sjoerd Visscher維護的電子郵件列表RSS2-Support發送郵件。這個郵件清單不是一個技術辯論的列表,而是一個針對作者和開發人員在建立和使用RSS 2.0格式的內容時提供支援人員的列表。

RSS的擴充

RSS起源於1999年,目標是成為一個簡單、易於理解的資料格式。在它逐漸成為一種流行格式之後,開發人員想在一個名字空間中使用模組對它進行擴充,正像W3C定義的那樣。

RSS遵循簡單的規則,增加了它的能力。一個RSS feed 可以包含不是在本頁中描述的內容,而只是在一個名字空間中定義的那些元素。

本文檔中定義的元素不是一個名字空間本省的元素,因此, RSS2.0從某種意義上來講,和原來的版本是相容的,即一個 0.91 或者 0.92 版本的檔案也是一個有效 2.0 版本檔案。如果RSS2.0的元素是在一個名字空間中,那麼這種約束將被打破,即 一個0.9x 版本的檔案不可能是一個有效2.0 版本的檔案。

發展方向 

RSS決不是一個完美的格式,但是它現在已經非常流行,並得到廣泛的支援。要成為一個固定的規範,RSS需要很長的一段時間。這項工作的目的是協助RSS成為一個固定的事情,同時促進和培育圍繞它進行的開發的市場的增長,並為新的彙總格式鋪平道路。因此,為了實用的目的,RSS規範將被凍結在2.0.2版本。我們可以預期的可能的2.0.2 或者 2.0.3等版本,都只是出于澄清規範的目的,而不是在格式上增加新的特徵。後續的工作應該集中在模組化、名字空間的使用和在完全新的彙總格式中用新的名字等方面。

許可協議和作者

RSS 2.0 是在遵循i the Attribution/Share Alike Creative Commons 許可協議 的基礎上由 the Berkman Center for Internet & Society at Harvard Law School 提供。本文檔的作者是 Dave Winer,UserLand software的創始人,也是 Berkman Center 的員工。(全文完)



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。