ライブドアブログのAtom Publishing Protocolについて
以前、(だいぶ前ですが)はてなブログにおけるAtomプロトコル実装に関わる問題について記事を書いたのですが、今回はライブドアブログでの問題についてメモ代わりに書いておきたいと思います。
ライブドアブログでのAtomプロトコルのドキュメントは、下記にあるのですが・・・
今回は、そこに辿り着く以前の問題でした。Livedoorでは、通常のRSSとAtomフィードを配信しているのですが、そのAtomフィードの形式が間違っていて、エントリが読めない、という・・・・
サクッと、Atomフィードのソースを見てみたら、一行目から懐かしい名前空間が・・・
<feed xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="0.3" xml:lang="ja">
<title>テスト</title>
<feed xmlns="http://www.w3.org/2005/Atom"
XMLパーサーは、名前空間でタグを読み分けますから、標準化されたAtom形式にも関わらず、別の名前空間なので、エラーになったり、何もデータが無いと判断してしまいます。
これを、W3Cのフィードチェック(Validator)に掛けると、
W3C Feed Validation Service, for Atom and RSS
やはり、エラーの結果となりました。
「This feed does not validate. ... This feed uses an obsolete namespace」
これ、恐らくライブドアブログでは旧AtomAPIを互換性の為に残している関係で、Atomフィードも古い形式のままなのかもしれないですね。フィード(RSS)リーダーで読む際にも最近のフィードリーダーでは旧Atom切り捨ててる場合もあるだろうから、問題になるでしょう(RSS形式も同時に選べるようになっているので、大抵はなんとかなるでしょうけれども)し、Atom Publishing Protocolとの関係だと、ごっちゃになって、面倒くさすぎなだなぁ。もうそろそろ、旧Atomはサポートから外せばよいのに。
しかし、困ったものですね・・・。一応、ライブドアブログの運営さんには問い合わせフォームから連絡しておきました。
(因みに、自分が開発したアプリケーションは⇓)