Atom Syndication Format 0.8

Atom Syndication Formatの0.8が出ました。これが最終草案ということらしいです。ということで、Atomラヴな人(サービス)はそろそろ対応作業を開始して良いということになるわけですが、最近の変わりっぷりを見るとちゃんと確定してからの方が良さそうという気がしないでもない。

最終草案ということなので、それへの対応を考えるために、とりあえず現在メジャーなバージョンである0.3との違いをまとめてみました。

  • Text定義(content要素やsummary要素など)のmode属性は削除され、type属性にマージされた
  • Person定義(author要素やcontributor要素)のurl要素は削除され、uri要素が新設された
  • category要素が新設された
  • created要素とissued要素は削除され、published要素が新設された
  • generator要素のurl属性は削除され、uri要素が新設された
  • icon要素とimage要素が新設された
  • id要素の内容はIRIということに変更された
  • info要素は削除された
  • link要素にhreflang属性とlength属性が新設された
  • source要素が新設された
  • tagline要素は削除され、subtitle要素が新設された

仕様上の正確な違いを指摘しているわけではなく、感覚的に「こういうこと?」みたいな適当極まりないものなので、注意してください。抜けているものも当然あります。

content要素のtype属性は、予め定義されたものに

  • text
  • html
  • xhtml

の3つがあり、それ以外の場合はMIME Media Typeを明示するということのようです。そして、xmlで終わらないMIME Media Typeやtextで始まらないMIME Media Typeを指定する場合には必ず(MUST)Base 64でエンコードしろと。ちょっとややこしい。

category属性はzero or moreなので、最近流行りのタグにも対応できるようです。scheme属性とlabel属性があるので、フィード・リーダー側で関連するエントリを辿るなどということも機械的に可能になるはず。

blogツールで配信しているAtomフィードを、最終草案に対応したものへ移行すること自体はそれほど面倒でもない気がします。多分テンプレートをちょいちょいっと書き換えるだけでほぼ完了のはず。フィード・リーダー側は面倒だろうなぁとは思ったり思わなかったり。