RSS
の余計なスペースはえぐるように取るべし
ご存知 .Mac Tips 御用達の
けろちゃんが、新しいネタを下さいました。表題のとおりです。詳しくは本文で。
11月16日 追記あり
iBlog 1.4.0 までの RSS のテンプレート FeedPage.txt のオリジナルは例えば
- ブログのタイトル
<title> <![CDATA[<$BlogName$>]]> </title>
- ブログの説明
<description> <![CDATA[<$BlogDescription$>]]> </description>
- エントリのタイトル
<title> <![CDATA[<$EntryTitle$>]]> </title>
- エントリの URL
<link> <![CDATA[[_$DocumentRoot$]/<$EntryLink$>]]> </link>
- エントリの内容
<description> <![CDATA[<$EntryAbstractOrBody$>]]> </description>
というようになっています。
よーく見て下さい。開始タグと <![CDATA[、]]> と終了タグの間にスペースが入っています。これ、とっても変です。スペースを取り除いて次のようにしましょう。
- ブログのタイトル
<title><![CDATA[<$BlogName$>]]></title>
- ブログの説明
<description><![CDATA[<$BlogDescription$>]]></description>
- エントリのタイトル
<title><![CDATA[<$EntryTitle$>]]></title>
- エントリの URL
<link><![CDATA[[_$DocumentRoot$]/<$EntryLink$>]]></link>
- エントリの内容
<description><![CDATA[<$EntryAbstractOrBody$>]]></description>
今まで「RSS の link 要素を CDATA で囲むのはやめませんか」や「Bulkfeeds の Similarity Search に iBlog を対応させる」で link 要素の中の <![CDATA[ ]]> は取ってしまえと書いてきましたが、もしかするとこのスペースを取り去るだけでよくなるかもしれません。
けろちゃん、試してもらえますか?
幾つかのサイトを観察したところ、FireFox 1.0 のライブブックマーク機能でうまく表示できるのは次のようになっています。
|
値にCDATA |
CDATA 前後のスペース |
ライブブックマークの状態 |
| link 要素 |
ある |
ある |
エントリを取得できない |
| ない |
エントリを取得できる |
| ない |
- |
| title 要素 |
ある |
ある |
エントリのタイトルを取得できない |
| ない |
エントリのタイトルを取得できる |
| ない |
- |
11月16日 追記
実例がなかったので不明
としましたが実験してわかりました。link 要素の値を CDATA としたとき、開始/終了タグのと値の狭間にスペースを入れないでおけばライブブックマークでエントリを取得できます。
Posted: 23:50
|
Comment
|
Trackback
以下、類似エントリです。