先日はまった問題について。
XML_Feed_Parser_Atomが時刻情報を取れない - IGINブルネイ-syasudaの日記(MT版)
XML_Feed_Parserがatom0.3に対応していないのが原因ということで。
ライブドア総本山の↓↓↓のatomを見ると、0.3と書いてあります。
http://blog.livedoor.jp/staff/atom.xml
<?xml version="1.0" encoding="UTF-8"?>
<feed version="0.3" xmlns=http://purl.org/atom/ns#
たとえば、↓↓↓↓以下のような開設サイトでも、その名残が見られます。
title要素及び更新日時を示す
updated
要素は必須です。modified
→必須要素の名前を変えるとはねぇ。
私はうまくパースできないrssは全部FeedBurnerに突っ込んでいたFeedBurner厨なので、当時のことをあまり思い出せないのですが。
たぶん0.3というのは途中経過なので、2005年末ごろまでには1.0に対応するべきだったのではないかと思います。
TypePadとかまともにメンテされているものは、1.0というかバージョン表示なしになってますからねぇ。
Feed Templates (フィードテンプレート) - TypePad ビジネスナレッジベース
というわけで、
Livedoorにツッコミメールを出す
のも憚られ、
XML_Feed_Parserが0.3に対応する必要もないと思われ
結局ここで壁に向かってつぶやいて終わりというパターンですな。
先のエントリでも書きましたが、
'modified' => array('Date', 'fail'),
を追加するだけでほぼ対応できますので。
(2011.06.02追記)
XML_Feed_ParserはWarning吐いてますな。
PHP Warning: Atom 0.3 deprecated, using 1.0 parser which won't provide all option
s in /usr/share/php/XML/Feed/Parser.php on line XXX
リンク:
AtomEnabled - Developers - Syndication - Atom Syndication Format Spec
コメント