[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: sb-rss.el



At Sun, 15 Jun 2003 08:35:17 +0900,
NAKAJIMA Mikio <minakaji@namazu.org> wrote:
 
>   sb-cnet-rss.el の date, message-id の作り方が生きていなかったので、
> 少し手を入れさせていただきました。
> (snip)
> 後で変更点について、じっくり書きます。

(1)shimbun-rss-get-date を shimbun-rss-process-date と改名し、(国島さ
   んに教えてもらった "Dublin Core" というキーワードから
   http://www.w3.org/TR/NOTE-datetime で説明している ISO 8601 にたどり
   ついたので) ISO 8601 format の文字列を MUA で利用する Date format
   に加工するメソッドを sb-rss.el の中に入れました。

   ISO 8601 に対応していない RSS の場合は各 backend でその処理のため
   に shimbun-rss-process-date メソッドを書きます。

   あら? http://mag.autumn.org/ の RSS の中にある

      <date xmlns="http://purl.org/dc/elements/1.1/">2003-06-13T15:10:33Z</date>

   の秒の後ろの Z って何だ?

(2)sb-rss.el の shimbun-get-headers 中で、message-id の重複を調べるよ
   うにしました。catch and throw で一気に処理を止めてしまわないのは、
   XML 処理した記事 list が必ずしも新しいもの順に並んでいると確信が持
   てなかったためです。

(3)sb-rss.el の shimbun-get-headers 中で、shimbun-rss-build-message-id
   を呼ぶようにしました。message-id だけは各 backend の中でメソッドを
   呼んで、それぞれ unique なものになるようにするしかないのではないで
   しょうか?

(4)必ずしも XML の中で author や creator が宣言されていないようで、そ
   ういう場合に nobody になってしまうので、from を得るために、最後に
   shimbun-from-address を呼ぶようにしました。

(5)(2)と矛盾するようですが、自分が見た範囲では、記事は新しいもの順に並
   んでいるので、 shimbun-get-headers の最後で headers を nreverse す
   るようにしました。これで日付の新しい記事の記事番号に、より大きい番
   号が振られます (古いもの順に並んでいる RSS があれば、その専用
   backend で shimbun-get-headers :after method-qualifier 付きで宣言し
   て headers を再度 nreverse できる?)。

xml.el は、

(let (v)
  (dolist (c '(#x00B7 #x02D0 #x02D1 #x0387 #x0640 #x0E46 #x0EC6 #x3005
		      #x3031 #x3032 #x3033 #x3034 #x3035 #x309D #x309E #x30FC
		      #x30FD #x30FE))
    (setq v (cons (decode-char 'ucs c) v)))
  v)

が

(nil nil nil nil nil nil nil nil nil nil nil nil ...)

になってしまうために、modify-syntax-entry の引数に nil が渡ってしまい
エラーになるのでした。decode-char を別途提供してくれている Mule-UCS と
ぶつかってるんだな、きっと。Mule-UCS の Mule-UCS-current を再度入れて
試したんですが、やはり駄目だったので (RSS で UTF-8 を扱う以上 Mule-UCS
を使わないわけにもゆきませんし)、xml.el の該当の部分をコメントにして、
site-lisp に入れて動かしています。

Attachment: xml.el.diff
Description: Binary data

-- 
中島幹夫 <minakaji@namazu.org>
home: http://www.asahi-net.or.jp/~gy2m-nkjm
diary: http://slashdot.jp/journal.pl?op=display&uid=5767