― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 4 件の記事 ] 
作成者 メッセージ
 記事の件名: RSSフィードでエラー
投稿記事Posted: 2007年11月18日(日) 21:07 
オフライン
Administrator

登録日時: 2005年9月02日(金) 00:59
記事: 1762
気がつくと、珍しくRSSフィードがエラーになっており、
「このフィードにはエラーが含まれています。後でこのフィードの更新が再試行されます。」と表示されています。
Thunderbirdのフォーラムでガシガシとヘッダの内容を貼り付けてあるのが原因でしょうか。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2007年12月04日(火) 13:30 
オフライン
Administrator

登録日時: 2006年11月11日(土) 08:10
記事: 308
ご指摘の通りです & 返信遅くなってすみません。m(_ _)m

RSS フィードの出力ではメッセージ本文は CDATA セクションとして丸ごとエスケープしているため RSS 自体は XML パースエラーにならないのですが、RSS リーダーでは content:encoded の中身を CDATA でのエスケープを外して生の HTML として取り扱います。
なので、CDATA 中に文字化けデータがあるときなどは content:encoded 要素の中身が valid でなくなり、クライアントによってはエラーになります。

出力 RSS は XML 的には Valid なハズです:
http://mozillazine.jp/forums/rss.php?t=6643
# 当該トピックのフィード

文字化けテキスト部はエスケープした上で CDATA で囲むべきなのかなぁと思いつつも、そもそも文字化けしているデータやバイナリデータを扱うのは面倒そうだし、RSS/Atom の仕様としてどうすべきなのかも不明(ちゃんと調べてないだけ(^^;)だから保留しています。

多分 CDATA エスケープ外しても Valid XML になるようにしておくべき何でしょうけど、誰かやってくれると良いなぁモードで放置中です。m(_ _)m


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2007年12月11日(火) 01:27 
オフライン
Administrator

登録日時: 2005年9月02日(金) 00:59
記事: 1762
おお~~~!
会議室を見るまで返信に気付きませんでした。

ありがとうございます。

予想通りだったなら、これはたぶん仕方ないことですね。サニタイズなんて面倒な処理はお願いしません。
# BBSを壊すような事が有ればその時にでも


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2007年12月11日(火) 02:43 
オフライン
Administrator

登録日時: 2006年11月11日(土) 08:10
記事: 308
何も解決してないのにお礼を言われても…(^^;

先日 Atom/RSS などの仕様をちらっとだけ覗いてみましたが、content:encoded が xhtml なのか html なのか txt なのかは指定できるけど、文字化けの有無をどうすべきかなどは記載が見つかりませんでした。

そもそも投稿中の文字化けが原因なのかどうかも確証はないのですが、今のところ原因究明するやる気と時間が足りない感じです。
# 実は最初にコード書いたときに、何かの条件でエラーになる事は気づいていたんですけど、忘れました。(^^;

解決して欲しい人は、問題発生する度に繰り返し文句を言って(バグレポートして)ください。
リクエストが多ければ作業の優先順位が少しは上になります。(^^;


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 4 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[3人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean