Jintrick.netagenda2002年09月アーカイブ → 2002年09月20日

rss:channel要素のrdf:about属性

The {resource} URL of the channel element's rdf:about attribute must be unique with respect to any other rdf:about attributes in the RSS document and is a URI which identifies the channel. Most commonly, this is either the URL of the homepage being described or a URL where the RSS file can be found

RDF Site Summary (RSS) 1.0 より

そういういい加減なことじゃあ困る。どちらかにして貰いたい。RSSファイルそのもののURLなのか、概要を表現されたサイトのURLなのか。実際、両方のケースが存在するのでちょっとした不利益を被ってしまった。

試作した「RSS aggetator」は:

  1. RSSリソースのURLをリストにしたXMLファイルを設定ファイルとして
  2. 最初にそのXMLファイルを解析、各リソースのDOMツリーを取得し
  3. (MS用語でいうところの)「データアイランド(XML要素)」に格納しておく
  4. 以後の各種操作は全てその「データアイランド」のDOMツリーにアクセスして解決

ところが、その「データアイランド」にアクセスして得られる情報の中に、RSSそのものを指すURIが全く含まれていないケースが発生する。rss:channel要素のrdf:about属性に、RSS自身のURLが記述されていない場合、DOMツリーからはもうRSS自身のURLを取り出すことができないのだ。スラッシュドット ジャパンのRSS (英語)然り、dive into markのRSS (英語)然り。

何が嫌かって、対象となるリソースへのアクセスを、DOMツリーで全て解決できない点。それにXML的にもどうだろう。rss:channel要素内のrss:link要素が解決してくれる主要データを、何でわざわざ「メタのメタ」rdf:about属性に再び記述しなければならないのだろうか。ナンセンス。そんなメタ情報は要らない。

RDF的には、about属性にRSSファイル自身のURLを記述する方こそナンセンスのようにも思えるので仕方ないのかとも思ったのだけど、RSSファイルの「コンテンツ」は何かといったらそれは各rss:item要素であって、rss:channel要素は、HTMLのhead要素に近い。RSSファイル自身のメタ情報だ。

The channel element contains metadata describing the channel itself, ..

RDF Site Summary (RSS) 1.0 より

その属性は、メタ情報のメタ情報という位置付けになるはず。つまりこの場合のrdf:about属性は、「このメタ情報は何についてのメタ情報なのか」を意味付けすべきだ。

以上より、たとえ仕様書の定義が一意でないにしろ、W3CのRSS (英語)やThe Web KanzakiのRSSのように、rss:channel要素のrdf:about属性には、RSSファイル自身のURLを記述するのがより自然であるといえる。

追記

注:追記の内容を書き忘れたが、後にサイトマップ、RDF/XML (agenda)にてその事に言及しているため忘れたままにしてある。


webmaster@jintrick.net
公開: 2002年09月20日
カテゴリ: DOM ,他のXML周り ,意見交換, 批判等