RSSのバージョンは大きく3つあり、0.9x/1.0/2.0となります。いずれもRSSという名ではあるものの、その正式名称はそれぞれ
  • RSS 0.9x: Rich Site Summary
  • RSS 1.0: RDF Site Summary
  • RSS 2.0: Really Simple Syndication
    と異なります。RSSについてはWikipediaの説明はてなキーワードの説明、RSS 1.0についてはThe Web KANZAKIのRSS(RDF Site Summary)によるサイト情報の要約と公開などのサイトや、入門RSS Webにおける効率のよい情報収集/発信などの本がおすすめです。ちなみに、IT用語辞典 e-Wordsの説明(ならびe-Wordsの内容を転用しているYahoo!コンピュータ コンピュータ用語辞典)は、RSS 1.0をRich Site Summaryと誤表記している(2005年4月16日 16時過ぎ現在)ので注意。

    で、このblogSetomitsを運営しているブログツールであるCOREBlogは0.91と1.0の2つのバージョンのRSSを配信しているのですが、2.0がないためこれを配信するべく、以下の作業を行いました。
    これに伴いRSSのURLが変わりましたので、RSSリーダなどでblogSetomitsをチェックして下さってる方はお手数ですが設定の変更をお願いします。
    旧: http://matatabi.homeip.net/blog/setomits/rdf91_xml 新: http://matatabi.homeip.net/blog/setomits/rss91_xml 旧: http://matatabi.homeip.net/blog/setomits/rdf10_xml 新: http://matatabi.homeip.net/blog/setomits/rss10_xml

    追記: 思い直して旧URLでもそれぞれのRSSが表示されるようにしました。でも実体は新の方なんで...。
  • 作業内容

  • rdf10_xmlの名前を変更: 他のものとの名前の整合性のためrss10_xmlに。
  • rss10_xmlの編集: feedparserでパーズしたときに時刻が変になってしまうので、
    <dc:date><dtml-var "date_created().toZone('JST').strftime('%Y-%m-%dT%H:%M:%S+09:00')"></dc:date>
    と。
  • rdf91_xmlの名前を変更: RSS 0.91はRDFを用いないので、名前にrdfとついてるのはなんかなということでrss91_xmlに。
  • rss91_xmlの編集: channel要素内に
    <language>ja</language> <image></image> <dtml-in "rev_day_entry_items(count=1)" size=1> <lastBuildDate><dtml-var "date_created().toZone('JST').strftime('%a, %d %b %Y %H:%M:%S +09:00')"></lastBuildDate> </dtml-in>
    を、各item要素内に
    <description><dtml-var excerpt html_quote></description>
    を追加。
  • rss91_xmlをコピペしてrss20_xmlとして、内容はrss91_xmlとあまり違わないのですが、
    <dtml-call "RESPONSE.setHeader('content-type', 'text/xml')"> <?xml version="1.0" encoding="<dtml-var management_page_charset>"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title><dtml-var title></title> <link><dtml-var blogurl></link> <description><dtml-var blog_description></description> <language>ja</language> <image></image> <dtml-in "rev_day_entry_items(count=1)" size=1> <pubDate><dtml-var "date_created().toZone('JST').strftime('%a, %d %b %Y %H:%M:%S +09:00')"></pubDate> <lastBuildDate><dtml-var "date_created().toZone('JST').strftime('%a, %d %b %Y %H:%M:%S +09:00')"></lastBuildDate> </dtml-in> <docs>http://blogs.law.harvard.edu/tech/rss</docs> <generator>COREBlog on Zope</generator> <dtml-in "rev_day_entry_items(count=top_days)"> <item> <title><dtml-var title></title> <link><dtml-var blogurl>/<dtml-var id></link> <description><dtml-var excerpt html_quote></description> <pubDate><dtml-var "date_created().toZone('JST').strftime('%a, %d %b %Y %H:%M:%S +09:00')"></pubDate> <dc:subject><dtml-try><dtml-in entry_category_list size=1><dtml-var name></dtml-in><dtml-except></dtml-try></dc:subject> <dc:creator><dtml-var author missing=""></dc:creator> </item> </dtml-in> </channel> </rss>
    という感じに。
  • index_htmlを編集: RSSへのリンクの部分を以下の通り変更。
    <p> <a href="<dtml-var blogurl>/rss91_xml">RSS 0.91 (Rich Site Summary)</a> </p> <p> <a href="<dtml-var blogurl>/rss10_xml">RSS 1.0 (RDF Site Summary)</a> </p> <p> <a href="<dtml-var blogurl>/rss20_xml">RSS 2.0 (Really Simple Syndication)</a> </p>
  • blog_headerを編集: RSS Auto Discoveryのためのlinkタグを以下のように編集したり追加したり。
    <link rel="alternate" type="application/rss+xml" title="RSS" href="<dtml-var blogurl missing="">/rss91_xml" /> <link rel="alternate" type="application/rss+xml" title="RSS" href="<dtml-var blogurl missing="">/rss10_xml" /> <link rel="alternate" type="application/rss+xml" title="RSS" href="<dtml-var blogurl missing="">/rss20_xml" />

    追記
  • rdf10_xmlを作成: RSSリーダを使って読んでくれている人みんなに設定の変更をさせるのもなにかなと思い直したため、内容はそっくりrss10_xmlと同じであるDTMLドキュメントを作成。内容は
    <dtml-var rss10_xml>
    というもの。
  • rdf91_xmlを作成: rdf10_xmlと同様に。内容は
    <dtml-var rss91_xml>
    です。

    追記2: 2005年8月24日
    kharakawaくんに指摘してもらい、channel要素のdescription要素のところを修正。
  • Posted by setomits at 04:51 | Comments: 0
    Leave a comment
    Required fields are marked with *
    search
    calendar
    Nov 2009
    SunMonTueWedThuFriSat
    1234567
    891011121314
    15161718192021
    22232425262728
    2930     
    archives
    photos on flickr
    www.flickr.com
    bookmarks on delicious