履歴もしくは日誌
2003 年 10 月の履歴(もしくは日誌)
2003 年 10 月
10 月 20 日 自転車の楽しみ
TrackBack と RSS について
TrackBack Ping の送信先の情報などを RDF として HTML/XHTML の中に埋込むということが TrackBack の仕様にあるわけです.
が,しかし,Movable Type という Weblog ツールでは, RDF を XHTML の中にコメントとして埋込んでいます.これはあまりかっこいいやり方ではないなって思うのです.
ではどうすればいいかと言われても,ぼくが技術的に解決できるようなアイディアを持っているわけではありません.
とりあえず,自分のところでは TrackBack の情報を RDF として記述して XHTML の中に埋込むことは見合わせています.
RDF なら RSS 1.0 の中に埋込めば自然だろうとぼくは思ったのですが,すでに RSS の拡張モジュールとして trackback モジュールがあったわけです.
さっそく自分でも試してみたわけです.それはいつからだったか.
それからそれから.
ここでは各記事について TrackBack の関係を RSS 1.0 の形式で記述する方法が検討されています.ぼくは trackback モジュールとの関係なんかを考えながら記事を読み進めて行ったのですが,ページの最後のコメントのところに,いしだなおとさんのコメントがあり:
【受信したTrackBack PingをあらわすRSS要素】 同じくtrackbackモジュールで、「trackback:about」という要素が定義されていて、それが相当するもののようです。 まるで普及していませんが、おのひろきさんのところのRSS では採用されていらっしゃるようです。
なんて書いてあってびっくりしました.自分の名前が出てくるとは思わなかったんで.
で,びっくりしたついでに,良く読み返してみると受信したTrackBack PingをあらわすRSS要素
とありました.それの必要性はよく分かります.よく分かりますが,それを実装するのは,ぼくのところでは難しそうだなって思いました.さて? ぼくのところではどうなっていただろうとふと思ったのです.
以下,接頭辞 trackback は http://madskills.com/public/xml/rss/module/trackback/ という名前空間に関連付けられているとします.接頭辞 semblog は http://www.semblog.org/ns/semblog/0.1/ という名前空間に関連付けられているとします.
trackback:about 要素は,受信したTrackBack PingをあらわすRSS要素なのですが,ぼくは勘違いして,TrackBack Ping の送信先を trackback:about 要素として記述してた?
いや,仕様をよく読むと,やっぱりその記事で言及して TrackBack Ping を送信した先を trackback:about に書くのではないでしょうか?
semblog:in の例を見てみましたが,item 要素の rdf:about 属性と RSS の link の内容と semblog:in の内容が同じになるようですが,冗長な感じがします.
提案されている仕様と違うけど RSS 1.0 の中で item 要素の中に以下のように書けると良いのではないでしょうか:
<item rdf:about="http://www.semblog.org/i2k/archives/000210.html"> <link>http://www.semblog.org/i2k/archives/000210.html</link> <title>semblog-dev: RSS拡張の試み</title> <semblog:in> <item rdf:resource="http://onohiroki.cycling.jp/index-log200310.html#d20031020n2"> <title>TrackBack と RSS について</title> </item> </semblog:in> </item>
もしくは
<item rdf:about="http://www.semblog.org/i2k/archives/000210.html"> <link>http://www.semblog.org/i2k/archives/000210.html</link> <title>semblog-dev: RSS拡張の試み</title> <semblog:in rdf:resource="http://onohiroki.cycling.jp/index-log200310.html#d20031020n2"/> </item>
どうでしょう?
あと,ある記事が受け取った TrackBack を RSS にするというのは trackback スタンドアロン実装の CGI に RSS 0.91 形式のファイルを生成する機能があります.それが「semblog-dev: RSS 拡張の試み」での例と同じことをしていると思うのですが,trackback スタンドアロン実装の CGI のは RSS 0.91 ですから特に新しい語彙を定義しているわけではないです.
Web サイトの RSS 1.0 の中である記事を記述する時に,その記事について受け取った TrackBack を記述した別ファイルの RSS を指し示す方法があると便利かも.
<item rdf:about="http://onohiroki.cycling.jp/index-log200310.html#d20031020n2"> <link>http://onohiroki.cycling.jp/index-log200310.html#d20031020n2</link> <title>semblog-dev: RSS拡張の試み</title> <rdfs:seeAlso rdf:resource="http://onohiroki.cycling.jp/tb/tb_rss/weblog_d20031020n2.xml"/> </item>
あと RDF として考えたら,
<semblog:in>http://onohiroki.cycling.jp/index-log200310.html#d20031020n2</semblog:in>
という書き方よりも
<semblog:in rdf:resource="http://onohiroki.cycling.jp/index-log200310.html#d20031020n2" />
のほうが良いのだろうと思います.
後になってから,一部で rdf:about を rdf:resource に書き換えました.
[ 上に戻る]