※質問するときは、フォーラムの利用について [投稿する前にお読みください] に目を通し、OS の種類や Thunderbird のバージョンといった使用環境についての最低限の情報を書き添えるか、投稿用テンプレート の利用をお勧めします。
横から失礼します。
あまり理論的なことは知らないため、体験したことのある範囲での話になりますが......。
ご存知のようにフィードの代表的なフォーマットには RSS と Atom があり、RSS は 1.0 と 2.0 で仕様が異なります。
「RSS配信」という言葉を、文字通り RSS フォーマットの意味でおっしゃっているのか、一般的なフィード(Feed)の代名詞としておっしゃっているのかで違いが出てきますから、もし当方の理解が間違っていたらすみません。
Cai さんが書きました:
HTML の base 要素のような起点を指定するものが RSS にもあればいいのですが。
Atom では xml:base が指定でき、これを基準に各エントリのリンクを明示的に "相対 URL" で記述できます。
Thunderbird 12.0.1 で Atom 形式のフィードを購読した場合、xml:base の指定と "相対 URL" の構造を解釈して各エントリを正しく表示してくれます。
おおまかにいうと次のような感じです。
<Atom の場合>
(例:共通の前提)
エントリの URL = http://hogeblog.ne.jp/entry8.html
Atom の URL = http://feed.hogeblog.ne.jp/atom.xml
atom.xml 内の記述
(例:1)
<feed xml:base="http://hogeblog.ne.jp" />
<link href="/entry8.html" />
↓ Thunderbird で読み込んだとき次のように解釈される。
http://hogeblog.ne.jp/entry8.html → 参照可
一方、xml:base を指定しないで各エントリを相対 URL で記述した場合、その Atom ファイルがある URL を基準に相対 URL を解釈します。
(例:2)
―― xml:base なし ――
<link href="/entry8.html" />
↓ Thunderbird で読み込んだとき次のように解釈される。
http://feed.hogeblog.ne.jp/entry8.html → 参照不可
<RSS の場合>
現状では、RSS で xml:base に相当する属性はなかったと思います(たぶん...)。
RSS 内の "相対 URL" の解釈は、一般的には RSS ファイルの置かれた URL が基準になるはずですが、実際の動作は各フィードリーダーに依存すると思われます。
とくに、RSS を自動生成するようなサービスで、ベースを定義しないままリンクを機械的に "相対 URL" にしてしまうような場合、不適切な結果をもたらすケースがあるかもしれません。
(補足)
一般に "URL" といった場合、<scheme>:<scheme-specific-part> の構文を意味しています。つまり "絶対 URL" のことです。
"相対 URL" は、基準となる URL を明確に定義できる階層構造の下でのみ意味を持ちます。基準をどこに置けばいいのか階層性にあいまいさがある状態では、"相対 URL" は正しく機能しないケースが出てきます。tomita さんが書きました:
とあるサイトのRSS配信で <link> 先が相対URLで記述されているのがあり、このフィードの内容をThunderBirdで参照することができませんでした。
すべてのリンクが RSS ファイルの URL をベースに持つなら、フィードリーダーによっては "相対 URL" を(結果的に)正しく解釈するものがあるのかもしれませんが、あくまでリーダーのふるまいに依拠したフィード配信ということになるのではないでしょうか。
フィードのフォーマットの違いで変わってくる部分もありますし、その記述が正確かどうか、正確だとしてそれを解釈する Thunderbird の動作は適切なのか …… 、いずれにせよ kiki さんがおっしゃるように当該フィードの内容がわからないことには先へ進めませんね。
雑駁ですが以上です。不正確な点や間違いがあったらツッコミお願いします。
[size=100][color=blue]※質問するときは、[url=http://forums.mozillazine.jp/viewtopic.php?p=19321]フォーラムの利用について [投稿する前にお読みください][/url] に目を通し、OS の種類や Thunderbird のバージョンといった使用環境についての最低限の情報を書き添えるか、[url=http://forums.mozillazine.jp/viewtopic.php?p=19321#17986]投稿用テンプレート[/url] の利用をお勧めします。[/color][/size]
横から失礼します。
あまり理論的なことは知らないため、体験したことのある範囲での話になりますが......。
ご存知のようにフィードの代表的なフォーマットには RSS と Atom があり、RSS は 1.0 と 2.0 で仕様が異なります。
「RSS配信」という言葉を、文字通り RSS フォーマットの意味でおっしゃっているのか、一般的なフィード(Feed)の代名詞としておっしゃっているのかで違いが出てきますから、もし当方の理解が間違っていたらすみません。
[quote="Cai"]HTML の base 要素のような起点を指定するものが RSS にもあればいいのですが。[/quote]
Atom では xml:base が指定でき、これを基準に各エントリのリンクを明示的に "相対 URL" で記述できます。
Thunderbird 12.0.1 で Atom 形式のフィードを購読した場合、xml:base の指定と "相対 URL" の構造を解釈して各エントリを正しく表示してくれます。
おおまかにいうと次のような感じです。
<Atom の場合>
(例:共通の前提)
エントリの URL = http://hogeblog.ne.jp/entry8.html
Atom の URL = http://feed.hogeblog.ne.jp/atom.xml
atom.xml 内の記述
(例:1)
<feed xml:base="http://hogeblog.ne.jp" />
<link href="/entry8.html" />
↓ Thunderbird で読み込んだとき次のように解釈される。
http://hogeblog.ne.jp/entry8.html → 参照可
一方、xml:base を指定しないで各エントリを相対 URL で記述した場合、その Atom ファイルがある URL を基準に相対 URL を解釈します。
(例:2)
―― xml:base なし ――
<link href="/entry8.html" />
↓ Thunderbird で読み込んだとき次のように解釈される。
http://feed.hogeblog.ne.jp/entry8.html → 参照不可
<RSS の場合>
現状では、RSS で xml:base に相当する属性はなかったと思います(たぶん...)。
RSS 内の "相対 URL" の解釈は、一般的には RSS ファイルの置かれた URL が基準になるはずですが、実際の動作は各フィードリーダーに依存すると思われます。
とくに、RSS を自動生成するようなサービスで、ベースを定義しないままリンクを機械的に "相対 URL" にしてしまうような場合、不適切な結果をもたらすケースがあるかもしれません。
(補足)
[size=100]一般に "URL" といった場合、<scheme>:<scheme-specific-part> の構文を意味しています。つまり "絶対 URL" のことです。
"相対 URL" は、基準となる URL を明確に定義できる階層構造の下でのみ意味を持ちます。基準をどこに置けばいいのか階層性にあいまいさがある状態では、"相対 URL" は正しく機能しないケースが出てきます。[/size]
[quote="tomita"] とあるサイトのRSS配信で <link> 先が相対URLで記述されているのがあり、このフィードの内容をThunderBirdで参照することができませんでした。[/quote]
すべてのリンクが RSS ファイルの URL をベースに持つなら、フィードリーダーによっては "相対 URL" を(結果的に)正しく解釈するものがあるのかもしれませんが、あくまでリーダーのふるまいに依拠したフィード配信ということになるのではないでしょうか。
フィードのフォーマットの違いで変わってくる部分もありますし、その記述が正確かどうか、正確だとしてそれを解釈する Thunderbird の動作は適切なのか …… 、いずれにせよ kiki さんがおっしゃるように当該フィードの内容がわからないことには先へ進めませんね。
雑駁ですが以上です。不正確な点や間違いがあったらツッコミお願いします。