以前、weblogUpdates.pingは「更新した!」ということしかわからないので、これを元に最新記事を拾おうとかすると面倒極まりないとかいう話をmiyagawaさんがしていたわけですが、海の向こうではRSS Pingというメタ・データ付きで更新通知を送る規格が考えられているようです。
RSS Ping 1.0の方はExampleを見れば一目瞭然なように、
をパラメータとしてHTTP GETでpingサーバーにリクエストしてやることにより更新通知をするというものみたいです。オプションとして、タグや最新記事のコピーが含まれるXML(最新記事のみを格納したRSS 1.0/2.0やAtom 1.0)のURLを送信することも可能とか。
ドラフト段階のRSS Ping 2.0では、HTTP GETではなく最新記事のみを格納したRSS 1.0/2.0やAtom 1.0を下位に持つrss_ping
をルートとしたXMLをHTTP POSTで送ってやることにより更新通知をするというものみたいです。他に更新通知スパム対策に認証の仕組みなんかも定義されるようです。
ひとつ前のエントリ、「Sam Cassellサヨウナラ」を例にとってRSS Ping 2.0の仕様に沿った送信するXMLを作るとすると、
<rss_ping version=2>
<site_name>hail2u.net - Weblog</site_name>
<site_uri>http://hail2u.net/blog/</site_uri>
<feed_uri type="RSS 2.0">http://feeds.feedburner.com/hail2u/blog</feed_uri>
<payload type="RSS 1.0 fragment"
encoding="UTF-8"
xmlns="http://purl.org/rss/1.0/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<item rdf:about="http://hail2u.net/blog/sports/good-bye_sam_cassell.html">
<title>Sam Cassellサヨウナラ</title>
<link>http://hail2u.net/blog/sports/good-bye_sam_cassell.html</link>
<description>昨シーズンは怪我とフロントとの確執などで思うように実力を発揮できず、Wolvesがプレーオフ出場を逃した戦犯扱いされたSam Cassellがトレードされました。キュートな離れ目をもう見れないかと思うと悲しいですね(心を込めて)。</description>
<dc:creator>Kyo Nagashima (mailto:kyo@hail2u.net)</dc:creator>
<dc:subject>Sports</dc:subject>
<dc:ate>2005-08-16T05:09:17+09:00</dc:ate>
</item>
</payload>
</rss_ping>
こんな感じっぽい(ExamplesがRSS 1.0にwebmaster
要素とかあったりとかちょっとおかしいので勘)。payload
要素のtype
属性にfragmentを含むと、RSS 1.0のchannel
要素やAtom 1.0のfeed
要素を記述しなくてもOKとか(なんか場当たり的)。あまり考えずに実装できそうではありますね(blosxomなんかだとflavourと簡単なプラグインだけでいけたりするかも)。
通知する情報自体はフィードで提供する情報とほぼ等価なので、最新記事のみを格納したRSS 2.0やAtom 1.0を丸投げとかで良いような気がする。
いずれにせよ単なる更新通知にしか使えないweblogUpdates.pingよりもパワフルではあると思うので、こういった規格にリプレースされていくと面白いかも。