RDF

rdf:RDF 要素 (RDF/XML)

仕様書

属性

[43] xml:langxml:base名前空間属性などを除き、 基本的に属性は認められていません >>40

内容

[42] rdf:RDF 要素内容は、0個以上節点要素です。 前後や間に XMLの空白も挿入できます。 >>40

文脈

[1] RDF/XMLrdf:RDF 要素が陽に認められている場所は、

[29] 例示により特に想定されていることがわかる箇所は、

[41] なお rdf:RDF 要素を省略し、 節点要素を直接使うことも認められています。


[44] 現実的には、 RSS 1.0 の一部として用いられる場合と PDF 内で XMP として用いられる場合を除き、 既に RDF/XML はほとんど用いられていないと思われます。

rdf:RDF 要素 (RSS 1.0)

[7] rdf:RDF 要素は、RSS 1.0 文書根要素です。

[26]

要素名
rdf:RDF (“RDF名前空間の”「RDF (文書)」より) (>>11)
文脈
RSS 1.0 文書根要素として (>>9)
内容モデル
channel, item など (>>18)
属性
名前空間属性 (>>13)

仕様書

文脈

[9] RSS 1.0 文書根要素rdf:RDF 要素でなければなりません >>8

[10] この要素は当時の RDF (現在の RDF/XML) 仕様への適合性のため、 また RSS 0.9 との互換性のために必要でした。 RDF に基づかない RSS 0.91RSS 2.0、あるいは新しい RDF/XML 仕様に基づく RSS 1.1 では除去されています。

要素名

[11] 名前空間接頭辞rdf: とすることは規定の一部である (normative) 考える (consider) ことが勧められています (advised) 。 また、 RSS 0.9 と厳密に後方互換であることを願う場合は rdf: としなければなりません (must) >>8

[12] このようにわけのわからない規定になっているのは、名前空間接頭辞を自由に決定できるはずの XML名前空間仕様との不整合を避けたかったのでしょう。

[16] RSS 0.9 に限らず、新しい実装でもXML名前空間を正しく処理しないものがあるので、 現実には必ず rdf: である必要があります。

属性

[13] 次の2つの名前空間属性を指定しなければなりません >>8

[17] RDF/XMLXML名前空間としてはここで既定名前空間を指定しなければならない必然性はないわけですが、すべての利用者エージェントXML名前空間を正しく実装しているわけでもないので、 互換性を考えると妥当な話です。

[25] xml:lang 属性によってフィード全体の言語が記述されることもよくあります。

内容モデル

[18] rdf:RDF 要素は次の各子要素を任意の順序で持ちます >>8

[23] これ以外の要素を含めてもいいのかなどは明確に規定されていません。

[24] 現実には空のチャンネルを表す RSS も存在し、その場合 item は一つも含まれないことになります。

RSS 1.0 の判別

[45] RSS 1.0RDF/XML でもあるというのが元々の“設定” でしたが、現実的には RSS 1.0RDF として扱うのは困難です。 実装は XML文書が与えられた時、 RSS 1.0 かどうか判定する必要が出てきます。

[56] 要素要素RSS 1.0 rdf:RDF要素 (RSS 1.0 rdf:RDF element) であるとは、 次のことをいいます >>63

[53] MIME Sniffingrules for distinguishing if a resource is a feed or HTML では、 文書要素らしきものとして rdf:RDF 要素があり、 RDF名前空間RSS 1.0名前空間名前空間属性が指定されている時、 application/rss+xml を返します。

[54] RSS 1.0 も参照。

[50] RSS 1.0 であると判別できたときは、フィードとして処理するべきです。

[57] RSS 1.0 であると判断できなかったときは、 RDF として処理するべきです。 RDF に対応していない時は、他の未対応のファイル形式の場合と同様に (ダウンロードなどとして) 処理するべきです。