許多部落格在發佈文章時,會自動生成新的RSS feed,讓RSS閱讀器自動偵測,但是如果一般傳統網站,也想使用RSS來自動發送訊息,又該怎麼做呢?其實只要能做出網站和新文章的RSS feed,上傳至網站後提供超連結給使用者下載(複製或加入)即可,往後只要有發佈新聞時,將新資訊加入RSS feed中,即可達到動態通知使用者的效果。底下我們分別以直接撰寫RSS 2.0、RSS 1.0與利用線上工具等方式產生RSS檔案,實作RSS feed。

以RSS 2.0實作RSS feed
RSS 2.0之所以稱之為Really Symple Syndication,設計理念上即是希望以最簡單的方式來傳送網站資訊,因此我們便從語法上最簡單的RSS 2.0開始,只要具備撰寫HTML語法的概念,就可以為自己網站添加上訂閱和更新通知的功能,網站被搜尋引擎發掘的機會也會隨之增加。

RSS是基於XML規格發展出來的,必須依循W3C制定XML 1.0的規範,第1行所宣告就是這樣意義。除了第1行沒有結束標籤之外,RSS 2.0的語法如同HTML,必須用一組標籤標示開始與結束,第2行的RSS版本宣告是開始標籤,最後的則是結束標籤。在的語法下,包含了這個最上層的架構,在之下,包含了、<br /> <link />、<description>、<image>、<item>等元素,可以對網站作簡介。<br /><br /><channel>等同於網站整體,因此<title>就是用來指稱網站名稱、<description>是網站的介紹,<br /> <link />是網站所在位址,<copyright>宣告,<language>是告知使用者網站內容所使用的語言。在<channel>的元素中,<title>、<description>、<br /> <link />都是必要,一個完整的RSS feed必需具備這些資訊,至於其他如<copyright>或<language>則是選擇性的元素,可視網站的需求選擇使用與否。<br /><br /><image>通常用來顯示代表網站的圖示,我們可以為圖片設定<title>、<br /> <link />、<url>、<width>、<height>等元素,<title>是圖片的標題,形同html語法中的「alt」,當滑鼠移過去圖片時即會顯示。<url>是圖片所在網站路徑,<br /> <link />則可設定成網站的路徑或本篇文章的路徑,這裡是使用文章的路徑。<width>與<height>是用來指定圖片的寬度與高度,以像素為單位,寬度最寬為144像素,預設值是88。高度最大值為400,預設值是31,如果沒有特別指定的話,就會將圖片以預設值的大小來顯現。<br /><br /><item>元素是用來描述發表文章的標題、摘要及所在的位址。因此<title>用來放置文章的標題,<description>則是用來摘要文章,最後<br /> <link />則是指向文章所在的位址。<item>的內容,會顯示在軟體中的標題及摘要欄位,也會影響到搜尋引擎的搜尋結果,因此製作RSS feed在這部份要特別留意。<br /><br />Dave Winer設計的RSS 2.0版本,目的在簡化發佈新聞的難度,類似HTML語法的標籤,的確是讓稍懂語法的人就能輕易著手。撰寫完上面的語法,就能將它存成XML的檔案,本範例是存成rss.xml。需要注意的是,撰寫時的純文字檔是ASCII的格式,因此RSS feed中的中文字,在解析XML時會遇到問題。這時必須先將內容轉換成utf-8或unicode的格式,才能正常運作。利用筆記本選擇另存新檔時,在編碼欄位選擇所需的格式utf-8或unicode,轉存後就能避免上述的問題。<br /><br />完成之後,將它上傳到網站,然後在首頁放置rss.xml的超連結位址,一旦造訪網站的人,將該連結加入支援的瀏覽器,或複製到新聞搜集器裡,日後只要這個頁面更新,使用者就能收到通知。<br /><br /><strong>以RSS 1.0實作RSS feed</strong>第1行的宣告和RSS 2.0一樣,而第2行開始,我們就不難分辨兩個版本之間的差異,RSS 1.0使用RDF的語法,因此不管是<channel>、<image>或是<item>的語法,都有「rdf:about」的屬性,用來標示、定位資源,以便描述後面屬性和屬性值之間的關係。<br /><br />第2行宣告一個RDF的文件,第3行宣告了RDF的名稱空間,第4行則宣告RSS 1.0的名稱空間,這都是RSS 1.0的的固定語法。對這兩個宣告如有深究的興趣,宣告的網址即提供完整的介紹。<br /><br />RSS 1.0在結構上亦顯得較為複雜,在<channel>中完整描述了<title>、<br /> <link />、<description>、<image>、<items>等子元素,雖然RSS 2.0也有類似的子元素,但並不需要做如此完整的描述。<br /><br /><items>是用來說明網站中包含的文章或新聞,一個文章必須在<seq>中對應一個網址,並且於下面<item rdf:about="">中的網址相連繫、對應,這裡的功能形同所有文章的索引列表。<channel>最後一個<img />描述網站的代表圖示之後,即結束了<channel>的語法。接下來<image>是RDF的選擇性語法,和2.0的版本功能一樣,用作描述RDF文件的圖示位址和標題。第24行描述文件所在位址,25行開始則是對摘要的標題、摘要的描述語法,最後以結束RDF的文件。<br /><br />同樣的,我們可以將這個RSS 1.0的版本,儲存成rss.xml上傳供使用者抓取連結,作法與2.0一樣。<br /><br /><strong>利用工具產生RSS feed</strong><br />製作RSS feed其實也可以不用如此刻苦動手寫,我們可以利用網路上免費的工具協助產生RSS feed。UKOLN網站(rssxpress.ukoln.ac.uk)即提供了相當簡便的網頁介面,填入所需要的資訊後,自動產生檔案。<br /><br />連上UKOLN之後,按下「NEW」按鈕,網頁即會產生一個頁面,讓使用者填入RSS資料。頁面的結構分為RSS網址、Channel摘要、Channel網址、Text Input,以及可填入15個Item資訊的欄位,如果欄位需要調整排序,可利用「Insert」、「Delete」調整。填完必要的內容後,按下「SAVE」鍵,網站便會將內容生成一個rss.xml檔案,同樣將這個檔案上傳即可,整個流程相當簡單容易。這個網站生成的RSS版本是1.0,由於此版本的語法向來都較其他版本難,因此利用這個工具的確能降低撰寫的困難度。文⊙黃天賜</image></channel></channel></item></seq></items></items></image></description>

熱門新聞

Advertisement