標簽:?rssfreemarkerstringurl文檔jsp2007-01-09 16:09?9184人閱讀?評論(1)?收藏?舉報
?分類: RSS
1.???令網絡跳動的力量1.1.RSS最近在瀏覽許多新聞網站時,用戶都會驚奇的發現一些寫有“XML”字樣的桔黃色圖標頻繁出現。如果使用普通瀏覽器的用戶點擊后只能看到一個寫滿了天書的頁面。這是一種最近十分流行的網絡技術,被稱為RSS(Really Simple Syndication)。通過專用的RSS閱讀工具,用戶能夠快速瀏覽大量的網頁內容,如新聞或者網絡日志。最初RSS主要是應用在民間的網絡日志之中。但由于其易用性迅速受到了歡迎。如今Businessweek、Forbes和New York Times等著名傳統媒體的網站中,也都添加了RSS功能。使用RSS閱讀工具的用戶可以訂閱自己關注的網站的內容,點擊那個桔黃色的圖標便可以得到RSS種子并且保存到閱讀工具中。RSS閱讀工具會自動連接那些網站檢查并顯示更新內容的標題和摘要內容。看起來時髦、新奇的RSS技術其實早在1997年左右就已經開發出來,但直到今天才煥發光彩。這其中一個很大的原因是數百萬網絡日志的出現造成了用戶的閱讀困難。越來越多的公司開始關注RSS技術,除了那些開發RSS閱讀軟件的廠商外,蘋果公司的Safari瀏覽器就內置了RSS閱讀工具。而且微軟也計劃在未來版本的IE瀏覽器中支持RSS閱讀。而另一些RSS服務提供商則支持在線RSS閱讀功能,Bloglines是它們中最有名的家伙。1.2.Tag同RSS技術類似,Tag也是用來對付越來越多的網絡信息的。而它的功能則主要是內容分類。用過Gmail的用戶應該熟悉Tag,在信箱中用戶可以為每封郵件添加多個關鍵字分類信息,比如工作、廣告、計劃書、已完成等隨心所欲的分類。而檢索時可以按照其中任何一個或者幾個Tag關鍵字進行搜索。這極大豐富了檢索信息的方法和結果的準確性。例如我曾經在某個網站上看到了一篇關于效力于NBA騎士隊的立陶宛球星伊爾戈斯卡斯講述他家鄉的故事,而當我想再次閱讀這篇文章時卻無法記起這個立陶宛人拗口的名字,而對他的家鄉是哪兒也毫無印象。我如何搜索得到這篇文章呢?Tag就能夠幫助我解決這個問題,當我看到這篇文章的時候,可以把它的鏈接保存在del.icio.us等網絡書簽中,然后為其添加一個NBA的Tag。這樣日后當我檢索的時候就能夠輕松的把它找到。忘掉那些存儲文件夾吧!Yahoo公司目前十分重視Tag技術,因為它代表了一種新的組織和管理在線信息的方式。它不同于傳統的、針對文件本身的關鍵字檢索,而是一種模糊化、智能化的分類。這更加符合用戶使用的順滑感和提高檢索結果的相似程度,將會極大的促進用戶查詢數字文件的能力,照片、視頻等多媒體數字文件都可以打上Tag的標簽進行管理。Tag本身絕對無法取代Yahoo和Google這樣的搜索引擎,但如果日后Tag的應用逐漸增長,那么搜索引擎的使用量一定會減少。1.3.Wiki幾乎所有人了解Wiki都是從網絡上開放百科全書Wikipedia,開始的,在這之前沒有人見過這樣一個任何人都可以動手修改的網站。從2001年開始,成千上萬名志愿者以50種語言完成了這部網絡百科全書中500萬篇文章,這一切都得感謝Wiki!Wiki一詞來源于夏威夷語的“wee kee wee kee”,原本是“快點快點”的意思。沃德·坎寧安在1995年創建了Wiki的概念和相應的服務系統。這套系統允許那些對編程語言一無所知的人們隨意對一個網站內容進行添加、修改。而如今有軟件開發商根據Wiki的理論和機制開發出了協同工作軟件。IBM公司的Lotus Notes就屬于同類產品。TWiki公司開發的開放源代碼Wiki軟件自2001年至今已有3.5萬人次下載。而這些被下載的程序有2/3用于商業用途,使用者包括迪斯尼、SAP和摩托羅拉這樣聲名赫赫的公司。2.???什么是RSS?也許大家是第一次聽到RSS這個概念,那什么是RSS呢?RSS是站點用來和其他站點之間共享內容的一種簡易方式(也叫聚合內容),通常被用于新聞和其他按順序排列的網站,例如Blog。一段項目的介紹可能包含新聞的全部介紹等。或者僅僅是額外的內容或者簡短的介紹。這些項目的鏈接通常都能鏈接到全部的內容。網絡用戶可以在客戶端借助于支持RSS的新聞聚合工具軟件,在不打開網站內容頁面的情況下閱讀支持RSS輸出的網站內容。說得更加簡單一點,RSS就是一種用來分發和匯集網頁內容的XML格式!如果你還是不太明白,沒有關系,RSS是什么其實基本就不重要,重要的是RSS可以做什么,下面我們就來了解一下,RSS能給我們帶來什么?2.1.小知識 BLOG:BLOG是Web Log的簡稱。在國內,人們通常稱它為博客。它是一種作者與讀者以日記風格進行交互的中介。在軟件社區,人們以博客形式來共享觀念與思想變得越來越流行,人們開始以博客的形式互相學習,博客已經成了一個技術交流的場所!如:http://blogs.msdn.com?就是MSDN上的一個blogging。而在國內博客中國也已經越來越有名。http://www.blogchina.com。 XML:XML是Extensible Markup Language的簡寫,一種擴展性標識語言。3.???可以干什么?RSS1.???????訂閱BLOG(BLOG上,你可以訂閱你工作中所需的技術文章;也可以訂閱與你有共同愛好的作者的日志,總之,BLOG上你對什么感興趣你就可以訂什么)。2.???????訂閱新聞(無論是奇聞怪事、明星消息、體壇風云,只要你想知道的,都可以訂閱)。你再也不用一個網站一個網站,一個網頁一個網頁去逛了。只要這將你需要的內容訂閱在一個RSS閱讀器中,這些內容就會自動出現你的閱讀器里,你也不必為了一個急切想知道的消息而不斷的刷新網頁,因為一旦有了更新,RSS閱讀器就會自己通知你!4.???怎樣發布RSS內容首先你需要理解一點支持RSS的技術。1.RSS是包含你要發布的信息(標題、簡介、內容等信息)的標準的XML文件。它遵循所謂的RSS技術規范定義的格式。2.RSS文件本身定義的是內容,并沒有定義內容的顯示方式。通常要通過RSS閱讀器來解析內容,并顯示出來。看天下RSS閱讀器就是用來解讀RSS內容的。3.由于Blog等的發展,使得創建RSS文件變得很容易。怎樣讓更多的人接收到你的RSS?到目前為止,大多數人并不對RSS很熟悉。但由于RSS避免了無用的廣告和垃圾信息,這種方式在逐漸地普及開來。那么你在采用RSS的時候,就應該盡可能地給你的用戶講解什么是RSS,以及它有哪些優點。5.???RSS閱讀器目前,RSS閱讀器基本可以分為兩類。第一類大多數閱讀器是運行在計算機桌面上的單機應用程序,通過所訂閱網站和博客(blog)中的新聞供應,可自動、定時地更新新聞標題。在該類閱讀器中,有Awasu、FeedDemon和RSSReader這三款流行的單機版閱讀器都提供免費試用版和付費高級版,另外,新華網在不久前也推出了一款RSS閱讀器,它不僅是完全是中文界面,而且目前還是完全的免費軟件!(后面我們就將以這款軟件為例,為大家介紹怎樣來使用RSS閱讀器)。第二類新聞閱讀器通常是內嵌于已在計算機中運行的應用程序中。例如,NewsGator內嵌在微軟的Outlook中,所訂閱的新聞標題位于Outlook的收件箱文件夾中。另外,Pluck內嵌在Internet Explorer瀏覽器中!6.???推” 技術遠勝于電子郵件的推廣模式RSS“幾乎每一個內容提供者都有過用一個長長的電子郵件地址簿發布新信息的經驗。RSS“推”技術將從此改變這個現狀。利用RSS閱讀器接收“推”來的新信息不僅消除了“垃圾郵件”充斥郵箱的煩惱,而且使內容接收者更方便地閱讀和管理信息。因此,盡管利用電子郵件的推廣方式還將在很長時間內存在,用戶將越來越偏好使用RSS“推” 技術的內容提供商。RSS優于電子郵件還體現在網絡安全上。由于沒有不速之客的“垃圾郵件”,也沒有郵件提供商(象YAHOO,MSN)的“強力過濾”,用戶將有十分的信心他們看到的就是他們訂閱的,不多也不少。不僅如此,即使到達用戶信箱中的合法推廣信息也還有一大部分由于與少數“漏網”的垃圾郵件和眾多其它郵件的混合而被用戶忽視甚至直接刪除。更不用說當用戶因為信箱裝滿了垃圾而轉用新地址時,絕大多數情況下是想不起來在所有內容提供者那里更新地址的。這些無疑都是對內容提供者來說巨大的浪費!我的朋友們有很多是網上內容發布者,他們都發現新用戶注冊后不出幾個月,這些郵件地址就失效了,而他們也就永遠失去了和這些用戶聯絡的渠道。所以,我建議所有內容提供者都認真地考慮利用RSS“推” 技術來與用戶建立持久穩定的關系,這在長期來講是絕對有利的。最后,RSS優于電子郵件還在于目前的一些RSS內容聚合商(如看天下www.kantianxia.com)幫助支持RSS“推”技術的內容提供者向用戶作宣傳。如看天下的“RSS內容源索引”就是一個使用戶發現并接受新內容源的增值平臺 - 這與搜索引擎把內容聚合起來向用戶作推廣是一個概念。目前,越來越多的用戶已經開始認識并接受RSS技術。我衷心希望所有的內容提供者都能順應這個潮流,在這個新的平臺上取得更好的成績。7.???認識RSS以下內容是為了讓大家更加了解RSS,如果你對其不感興趣,完全可以不看,它不會對你使用RSS閱讀產生多大的影響。7.1.Feed(提要)博客以RSS文檔形式為其內容提供一個提要,該RSS文檔可以通過眾所周知的URL獲得。RSS文檔是一個XML文件,它包含大量離散的新聞項,如某個博客中的入口項。由于RSS是XML格式文件,所以它很容易被其它程序所使用。RSS聚合器是一個讀取RSS文檔并顯示新聞項的程序。大多數聚合器只要輸入RSS的URL,使得預定提要成為可能。RSS使閱讀博客便得容易。大多數經常閱讀博客的開發人員都使用某種類型的聚合器來幫助他們有效地篩選提要內容。聚合器使得閱讀博客的感覺就象是在閱讀電子郵件,因為它們突出新聞項并將新聞項進行緩沖處理以便離線閱讀。還有一些在線RSS聚合器將RSS提要捆綁到某個單獨的網站。其優點是易于設置并且可以從任何計算機存取你的提要內容。當然,其缺點也是顯而易見的,那就是在閱讀時必須始終保持連接。RSS是博客成為一種強大的新型信息交流形式之根本所在。在網志出現之前,大多數開發人員為了要查找到需要的內容,通常要花大量時間來篩選掉那些令人討厭的無關的信息。博客通過讓讀者選擇所要閱讀的提要,將控制權交給讀者,從而有效地構建自己的個性化內容流。7.2.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創建RSS0.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。這就是今天的這種局面,形成了兩個主要的競爭版本:一個基于RDF1.0,而另一個則是由Userland Software所開發的2.0,由于它們兩個都共用相同的名字。就成為一種可怕的混亂,因為版本號導致人們誤認為2.0是1.0的改進版本,而實際上它們是兩個目標完全不同的規范。現在,另一組開發人員已經下狠心著手解決這種混亂問題,通過定義新的摘要(syndication)規范來與 RSS名字的隨意性決裂。這個解決方案稱為 Atom(原子)項目。7.3.Atom(原子)Atom是一個項目的名字,主要是開發一個新的博客摘要格式以解決目前RSS存在的問題(混亂的版本號,不是一個真正的開放標準,表示方法的不一致,定義貧乏等等)。Atom 希望提供一個清晰的版本以解決每個人的需要,其設計完全不依賴于供貨商,任何人都可以對之進行自由擴展,完整詳細說明。除了定義新的摘要格式之外,Atom還希望定義一個標準的檔案文件格式和一個標準的博客編輯API(Atom API)。其實RSS1.0和2.0格式所包含的核心信息是相同的,只是其結構不一樣罷了,這里我們不再繼續深入的討論這個問題,有興趣的朋友可以去博客中國里了解相關知識!7.4.blogrollblogroll是博客頁面提要的集合,大多數博客在其個人頁面上都提供blogroll。這就允許讀者連接到其他趣味和寫作風格相投的人的網頁上。Blogroll方便了網絡上的溝通。通過使用Outline Processor Markup Language(OPML),人們可以用XML 格式文件交換blogroll。大多數網志引擎都自己管理blogroll,每當讀者請求blogroll時都自己產生相應的XML格式。同樣,大多數聚合器(RSS閱讀器)都能導入blogroll并自動預定所包含的摘要。8.???RSS 2.08.1.RSS2.0新特性RSS 2.0 建立在 RSS 0.91 規范的基礎上。它是向后兼容的,因此任何處理 RSS 2.0 的工具應該也能夠處理 0.91 提要。升級后的規范增加了少量元素,比如 <cloud> 和 <guid>。它也去掉了一些限制。在過去,<link> 和 <url> 元素只能是 http 或 ftp,現在可以使用任何有效的 URI。在 RSS 0.91 中,每個頻道只能包含 15 個項,而且元素的長度也有限制,現在這些限制都取消了。不過仍然應該小心使用較大的值,因為它們可能對老的應用程序造成問題。不過更大的變化是能夠使用名稱空間擴展這種格式。RSS 2.0 支持名稱空間,一種增加規范中沒有的元素的標準方法。只要定義在一個名稱空間中,提要可以包含新的元素。8.2.RSS 2.0 概述RSS 是一種 XML 方言,用于連鎖 Web 內容和元數據。RSS 0.91 是幾種可用版本中最常用的一種。對于新的 RSS 提要,更好的辦法是使用 2.0 版,因為這是現行的規范,而且如前所述,它與 0.91 向后兼容。Dave Winer 編寫了規范的 2.0 版。規范的修改可能變得難以使用,或者損害已有的應用程序,他有意識地避免了這種情況。Winer 總結了他的思想:“保持簡單。這就是 RSS 的價值所在。任何稍微了解 HTML 的人都能夠理解 RSS。這一點極其重要!”該規范在 Creative Commons 許可下發布(請參閱參考資料)。這意味著您可以免費復制和分發該規范,并進行衍生工作,而且可以自由地用于商業工作。一個咨詢委員會負責更新規范、推廣規范和編寫文檔。8.3.發現 RSS 提要可以使用搜索引擎查找 RSS 格式的內容。比方說使用 Google 時,您可以在查找中增加“filetype:rss”以搜索 .rss 文件中的查找項。專門的搜索引擎使內容搜索更加容易。Feedster 監視 weblog 并允許您通過一個日志項索引查找,按照相關性、日期、等級(logrank)查看。當您在搜索時,Feedster 按照您的要求創建一個 RSS 提要。這個提要可以增加到您的新聞閱讀器中,以便您能夠看到所有與搜索請求有關的最新活動,您甚至不需要離開新聞閱讀器。DayPop 搜索新聞、blog 和 RSS 提要。它讓您在 weblog 世界跟蹤流行的新聞。它提供了目前最流行的 40 個 weblog 鏈接。這是全世界最流行文章的鏈接。它創建了一個 weblog 中所用最熱門詞匯的列表。它還根據引用對 weblog 評級,提供最受其他 weblogger 歡迎的 weblog 列表。您也可以自定義搜索。評級列表和自定義搜索都有 RSS 提要形式,可以導入您的新聞閱讀器。8.4.RSS 文件形式RSS 文件由一個 <channel> 元素及其子元素組成。除了頻道內容本身之外,<channel> 還以項的形式包含表示頻道元數據的元素 —— 比如 <title>、<link> 和 <description>。項通常是頻道的主要部分,包含經常變化的內容。8.4.1.????頻道頻道一般有三個元素,提供關于頻道本身的信息:<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>:告訴聚集器那一天的更新可以忽略。8.4.2.????項項通常是提要中最重要的部分。每個項都可以關于某個 weblog、完整文檔、電影評論、分類廣告或者任何希望與頻道連鎖的內容的記錄。頻道中的其他元素可能不變,但項經常發生變化。您可以有任意多個項。以前的規范限值為 15 個項,如果要保持向后兼容這仍然是一個很好的上限。8.4.3.????新聞項的元素每個項通常包含三個元素:<title>:這是項的名稱,在標準應用中被轉換成 HTML 中的標題。<link>:這是該項的 URL。title 通常作為一個鏈接,指向包含在 <link> 元素中的 URL。<description>:通常作為 link 中所指向的 URL 的摘要或者補充。所有的元素都是可選的,但是一個項至少要么 包含一個 <title>,要么包含一個 <description>。項還有其他一些可選的元素:<author>:作者的 e-mail 地址。<category>:支持有組織的記錄。<comments>:關于項的注釋頁的 URL。<enclosure>:支持和該項有關的媒體對象。<guid>:唯一與該項聯系在一起的永久性鏈接。<pubDate>:該項是什么時候發布的。<source>:該項來自哪個 RSS 頻道,當把項聚合在一起時非常有用。清單 1 是一個 RSS 2.0 文件的例子。注意,頻道包含在 <rss version="2.0"> 中。這是一個非常基本的例子,說明了項和圖像如何包含在頻道中。所示的元素都是最常用的頻道子元素。清單 1. 示例 RSS 2.0 文件<?xml version="1.0"?><rss version="2.0">?? <channel>?? <title>The channel's name goes here</title>?? <link>http://www.urlofthechannel.com/</link>?? <description>This channel is an example channel for an article.?? </description>?? <language>en-us</language>?? <image>???? <title>The image title goes here</title>???? <url>http://www.urlofthechannel.com/images/logo.gif</url>???? <link>http://www.urlofthechannel.com/</link>?? </image>?? <item>???? <title>The Future of content</title>???? <link>http://www.itworld.com/nl/ecom_in_act/11122003/</link>???? <description> The issue of people distributing and reusing???? 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.</description>?? </item>?? <item>???? <title>Online Music Services - Better than free?</title>???? <link>http://www.itworld.com/nl/ecom_in_act/08202003/</link>???? <description>More people than ever are downloading music from???? 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?</description>?? </item>?</channel></rss>8.5.相關工具由于 RSS 的普及,出現了許多工具,使您能夠基本上在任何環境中使用這些文件:Java 技術:可在 Sun 站點上找到的一個 RSS Utilities Package,支持在 JavaServer Pages 中使用 Tag Library。它還包括一個 RSS 解析器。Perl:已經有幾種 Perl 工具處理 RSS。XML::RSS 提供了創建和維護 RSS 文件的一個框架。它支持在常用版本之間的轉換。Python:RSS.py 是一組通過 Python 使用 RSS 頻道的類。此外,許多內容管理和 weblog 工具也直接支持 RSS。多數 weblog 工具,包括 Movable Type、Blogger 和 Radio Userland 都支持 RSS。一些內容管理系統,包括 Zope 和 CityDesk 現在也支持它了。8.6.擴展 RSSRSS 2.0 有許多可選元素,包括多數頻道都需要的那些元素。但是它還支持擴展性,因此您可以使用規范中沒有的元素。不過,RSS 2.0 規范并沒有花費多少時間定義如何實現擴展。關于擴展性,規范中總結為:“RSS 提要可以包含本頁中沒有描述的元素,只要這些元素定義在一個名稱空間中。”這就留下了很大的想像空間!所幸的是,規范中包含一個例子,您可以參考目前使用的幾個例子。基本的思想是您可以增加需要的標簽 —— 但是,增加帶有多種含義的元素太容易了。使用您的頻道的人們可能并不知道某個標簽是什么含義。比如,如果我要在一個頻道中使用 <analog> 標簽,它的含義就不很清楚。Web 專家可能認為這個標簽指的是 Analog,它是最流行的 Web log 文件分析器。科幻迷可能認為這個標簽是關于 Analog 的,一本經典的科幻雜志。音樂家可能認為它指的是流行的合成器類型,生物學家認為這是一種器官,電子工程師認為是一種電路。含糊性使人們很難理解標簽的含義。因此,RSS 允許您增加所喜歡的任何標簽,但是要求必須和名稱空間一起使用。這樣有助于澄清標簽的含義。再回到 <analog> 的例子,我可能希望創建一組關于電子商務的標簽,并讓 <analog> 標簽作為一個“e-business”元素。為此,我增加如下的名稱空間:xmlns:ebusiness="http://www.lewingroup.com/ebusinessChannel"這就創建了一個名為“ebusiness”的名稱空間,并表明這個名稱空間的文檔在我的站點上。為了使用 <analog> 標簽,我可以使用這種格式:<ebusiness:analog>。這樣就能與其他類似的含義中區分開來,比如 <sciencefiction:analog> 或 <synthesizers:analog>。關于擴展性,一個更實際的例子可以在 RSS 2.0 規范的示例文件中找到:清單 2. RSS 2.0 規范示例文件中的名稱空間<?xml version="1.0"?><!-- RSS generated by Radio UserLand v8.0.5 on 9/30/2002; 4:00:00 AM Pacific --><rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule">?<channel>?? <title>Scripting News</title>?? <link>http://www.scripting.com/</link>?? <description>A weblog about scripting and stuff like that.</description>?? <language>en-us</language>?? <blogChannel:blogRoll>???? http://radio.weblogs.com/0001015/userland/scriptingNewsLeftLinks.opml?? </blogChannel:blogRoll>???? <item>???? <description>Joshua Allen:???? <a href="http://www.netcrucible.com/blog/2002/09/29.html#a243">???? Who loves namespaces?</a></description>???? <pubDate>Sun, 29 Sep 2002 19:59:01 GMT</pubDate>???? <guid>???? http://scriptingnews.userland.com/backissues/2002/09/29#When:12:59:01PM???? </guid>???? </item>?</channel></rss>在這個例子中,定義了一個稱為 blogChannel 的名稱空間。它指向一個文檔,該文檔解釋了幾種常見于 weblog 的新元素的用法。其中之一是 <blogroll>。文檔說明,blogroll 是 weblog 中的一個鏈接集合,指向與您的 weblog 內容相關的站點。<blogChannel:blogRoll> 標簽提供了用戶或軟件所需要的信息,知道 blogRoll 是一個定義在 blogChannel 名稱空間中的元素,而且可以找到這個文檔的位置。同樣,RSS 2.0 只對不 屬于規范的元素要求名稱空間。所有的基本標簽都假定在 RSS 2.0 名稱空間中。這使得這種格式更容易使用,因為除非需要擴展 RSS,否則您完全不需要知道名稱空間。8.7.RSS2.0標記手冊注:英文原版請參見http://blogs.law.harvard.edu/tech/rssRSS是 Really Simple Syndication的縮寫(對rss2.0而言,是這三個詞的縮寫,對rss1.0而言則是RDF Site Summary的縮寫,1.0與2.0走的是兩個體系)RSS 基于XML,所有的 RSS 必須遵循w3c網站上公布的XML 1.0 規范。在一個RSS文檔中,根元素是<rss>,帶有一個必備屬性version,用以指明該文檔遵循的rss規范,如果rss文檔遵循本規范,則version值必須是2.0。<rss>元素只有一個子元素,包含關于頻道的一些信息。頻道(channel)是整個blog,項(item)指一篇文章或日志(也有稱這為post)。8.7.1.????元素channel的子元素列表RSS2.0
元素(Element)
描述(Description)
值域
重要性
舉例(Example)
title
頻道名稱
?
必備
GoUpstate.com News Headlines
link
頻道的URL
?
必備
http://www.goupstate.com/
Description
頻道的描述
?
必備
The latest news from GoUpstate.com, a Spartanburg Herald-Journal Web site.
?
?
?
?
?
language
頻道文章所用語言,
可用netscape或w3c推薦的列表
可選
en-us
copyright
頻道內容的版權說明
?
可選
Copyright 2002, Spartanburg Herald-Journal
managingEditor
責任編輯的email
?
可選
geo@herald.com (George Matesky)
webMaster
負責頻道技術事務的網站管理員email
?
可選
betty@herald.com (Betty Guernsey)
pubDate
頻道內容發布日期,格式遵循RFC822格式(年份可為2們或4位)
?
可選
Sat, 07 Sep 2002 00:00:01 GMT
lastBuildDate
頻道內容最后的修改日期
?
可選
Sat, 07 Sep 2002 09:42:31 GMT
category
指定頻道所屬的一個或幾個類別
?
可選
<category>Newspapers</category>
generator
生成該頻道的程序名
?
可選
MightyInHouse Content System v2.3
docs
指向該RSS文件所用格式說明的URL
?
可選
http://blogs.law.harvard.edu/tech/rss
cloud
Allows processes to register with a cloud to be notified of updates to the channel, implementing a lightweight publish-subscribe protocol for RSS feeds. More info here.