実装メモ / RSS1.0

/web/xml

Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。

仕事でRSSについて任されたので、軽く仕様について、まとめなど...

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <rdf:RDF
  3.  xmlns="http://purl.org/rss/1.0/"
  4.  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  5.  xmlns:dc="http://purl.org/dc/elements/1.1/"
  6.  xml:lang="ja">
  7.  
  8. <channel rdf:about="http://rospear.info/index.rdf">
  9. <title>ROSS / Ragnarok Online Spear Special</title>
  10. <link>http://rospear.info/</link>
  11. <description>槍士による槍士のための槍サイトです</description>
  12. <dc:creator>Sig.</dc:creator>
  13. <dc:date>2005-09-06T21:03+09:00</dc:date>
  14. <items>
  15. <rdf:Seq>
  16. <rdf:li rdf:resource="http://rospear.info/entry_1" />
  17. <rdf:li rdf:resource="http://rospear.info/entry_2" />
  18. <rdf:li rdf:resource="http://rospear.info/entry_3" />
  19.  
  20. ...
  21.  
  22. </rdf:Seq>
  23. </items>
  24. </channel>
  25.  
  26.  
  27. <item rdf:about="http://rospear.info/entry_1">
  28. <title>ブログ更新って大変だね</title>
  29. <link>http://rospear.info/entry_1</link>
  30. <description>待望の個人ブログ設立。暇を見つけてちょくちょくと。</description>
  31. <dc:creator>Sig.</dc:creator>
  32. <dc:date>2005-09-06T21:03+09:00</dc:date>
  33. </item>
  34.  
  35. <item rdf:about="http://rospear.info/entry_2">
  36. <title>ブログ運営中</title>
  37. <link>http://rospear.info/entry_2</link>
  38. <description>待望の個人ブログ設立。頑張ってます。</description>
  39. <dc:creator>Sig.</dc:creator>
  40. <dc:date>2005-09-06T21:03+08:00</dc:date>
  41. </item>
  42.  
  43. <item rdf:about="http://rospear.info/entry_3">
  44. <title>ブログ開設したっす</title>
  45. <link>http://rospear.info/entry_3</link>
  46. <description>待望の個人ブログ設立。ここにくるまで色々ありましたヨ。</description>
  47. <dc:creator>Sig.</dc:creator>
  48. <dc:date>2005-09-06T21:03+07:00</dc:date>
  49. </item>
  50.  
  51.  
  52. ...
  53.  
  54.  
  55. </rdf:RDF>
文字コード
デフォルトはutf-8とされています。正しく文字コード情報を提供すればどんな符号化方法でも良いはずですが、一部のRSS処理ソフト(のXMLパーサ)は、utf-8でないと正しく働かないことがあるようです。
拡張子/MIMEタイプ
ファイルとして保存する場合の拡張子は、.rdfもしくは.xmlが推奨されており、前者がより望ましいとされています。MIMEタイプは、application/xmlが正しいです。
RDFアイコンについて
RDFによって記述されたリソース(RSS 1.0など)を示すために、Dave Beckettによって提供されているシンボルです。画像に埋め込まれたメタデータをそのまま保持することを条件に、自由に利用できます。なお、形式をGIFに変換することは認められていません。(ま~自前で作れば問題ないと思いますけどネ)
xmlns="http://purl.org/rss/1.0/"
RSS1.0のデフォルトの名前空間。
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
W3Cで定義されている、RDFの名前空間。RSS1.0はRDFに準拠している。
xmlns:dc="http://purl.org/dc/elements/1.1/"
Dublin Coreモジュールの名前空間。「dc:○○」という形でDublin Coreモジュールの○○要素が使えるようになる。
<channel rdf:about="http://rospear.info/index.rdf">
「rdf:about」ではリソースのURIを記述する。
item要素の数
RSS 1.0ではitem要素の数は1つ以上で上限はありませんが、RSS 0.9との互換性を考えるならば、15個までにしておくことが推奨されています。
description要素の文字数
だいたい500バイト以内が良いとされています。ただし、description要素に日記やblog記事の全文を記載すると、コンパクトなサマリーを期待する読者には歓迎されないかも知れないので、description要素は短く留めたほうが良いでしょう。
<dc:date> </dc:date>
空タグはNG. また、「dc:date」の形式はW3CDTFに従うものでなければなりません。すなわち「2005-09-06T19:20+09:00」といった感じ。日付と時間の間に「T」が要ることに注意。「+09:00」はタイムゾーン。日本標準時を示します。

参考:RSS Validator for Atom and RSS

Note: スパム対策が面倒なので、コメント投稿を廃止しました。以前のコメントは残します。
ご意見・ご要望はtwitter@sigwygかはてブコメントにて。