- 2009年1月28日 12:59
- 仕事のこと
Firefox でちょん切れるです。IE に至ってはパースエラー。
とあるプロジェクトで吐いた RSS がどうも調子が悪い。
その RSS はこんな感じの。
4つ目の item の「Emacs の Tramp こんなに便利とは - ひげぽん OSとか作っちゃうかMona-」から下がちょん切れてる。ソースを見ても確かに20件あるのに5つ目の item の「mixi Engineers’ Blog » DBMによるテーブルデータベース その弐」以降の item が表示されない。
4つ目の item
<item rdf:about="http://d.hatena.ne.jp/higepon/20090126/1232937495">
<title> Emacs の Tramp こんなに便利とは - ひげぽん OSとか作っちゃうかMona-</title>
<link>http://d.hatena.ne.jp/higepon/20090126/1232937495</link>
<description>便利だ。</description>
<content:encoded>便利だ。</content:encoded>
<dc:date>2009-01-27T03:05:52</dc:date>
<dc:subject>emacs</dc:subject>
<dc:subject>TIPS</dc:subject>
<dc:subject>ssh</dc:subject>
<dc:subject>Tramp</dc:subject>
</item>
5つ目の item
<item rdf:about="http://alpha.mixi.co.jp/blog/?p=292">
<title>mixi Engineers’ Blog » DBMによるテーブルデータベース その弐</title>
<link>http://alpha.mixi.co.jp/blog/?p=292</link>
<description></description>
<content:encoded></content:encoded>
<dc:date>2009-01-27T03:04:22</dc:date>
<dc:subject>mixi</dc:subject>
<dc:subject>mikio</dc:subject>
<dc:subject>DBM</dc:subject>
<dc:subject>TokyoCabinet</dc:subject>
</item>
RSS のソースをのぞくと気になるところを発見。mixi Engineers' Blog の ’ と » が非常に怪しい。以前、 HTML をパースして title タグを取ろうとしたときも「うぐぅ」って言っていたような気もする。きっと今回もそれが原因だと思う。
グーグルさんで調べてみると RSS(XML) で使用できる実体参照は
- &(&)
- <(<)
- >(>)
- '(')
- "(")
mixi Engineers' Blog の » は RSS(XML) では使用することができないので今回僕が吐いた RSS がちょん切れてしまって「うぐぅ」となっているのだろうと思います。
文字参照の ’ の方も多分使用できないのだと思います。
うぐぅ。
上記の使用できる実体参照・文字参照はあくまでデフォルトでということで、’ と » が定義された DTD を読み込めばよいそうです。
ということで、今回読み込んだ DTD はこれ。
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
その DTD を読み込んだ RSS がこれ。
途中でちょん切れることなく表示されていますよね?XML のソースを見ると
<item rdf:about="http://alpha.mixi.co.jp/blog/?p=292">
<title>mixi Engineers’ Blog » DBMによるテーブルデータベース その弐</title>
<link>http://alpha.mixi.co.jp/blog/?p=292</link>
<description></description>
<content:encoded></content:encoded>
<dc:date>2009-01-27T03:04:22</dc:date>
<dc:subject>mixi</dc:subject>
<dc:subject>mikio</dc:subject>
<dc:subject>DBM</dc:subject>
<dc:subject&>TokyoCabinet</dc:subject>
</item>
’ と » のままですね。ちゃんと参照されているみたいです。
めでたし、めでたしと言いたいところだけれども、はてブなんかの RSS のソースを見ると ’ は ’ に、» は » になっていますが RSS を吐く際にアプリ側で変換しているのでしょうか?
この場合、常套手段って何なんでしょう?XML だと言っているのに XHMLT の DTD を読み込むのは間違っている気がしてならない。RSS2.0 の場合はどうなのだろうか?Atom の場合は?
うぬぅ。
そうそう、僕の MT には記事を書いている途中に記事の「公開状態」がこっそり「公開」になる新機能が着いています。書いている途中に記事を保存するとうっかり PING を送信してしまいます。
その更新扱いにされている自分の記事をRSSリーダー越し眺めているときってS目線で見ればいいのかM目線で見ればいいのか複雑な気持ちになります。
追記:
W3C の RSS の構文チャックするとダメよダメダメダメ星人って言われる。
- Newer: Moose と Mouse と QueueQ4M(0.00017)
- Older: 30手前の男の子の年の越し方
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://hibinokoto.jp/mt/mt-tb.cgi/307
- Listed below are links to weblogs that reference
- 文字実体参照(実体参照)•数値文字参照(文字参照)を RSS1.0 で表示する from 日々のこと