出張で東京へ移動。が、本来、今晩あるはずだった予定は 深夜2時にキャンセルになってしまう。
で、少々時間に余裕ができたので東京オフィスで1.8.5のリリース作業。 作業そのものは手順通り(スクリプトも作ってるし)なんだが、 失敗しちゃいけないと思うと、確認とか、精神的プレッシャーとか。
お金をもらっているわけでもない、 誰が喜んでくれるわけでもないのにやってらんない。 むしろ、アレだ。開発側は淡々と開発を行い、 ディストリビュータが適当なタイミングでパッケージにするというので、 どうだろうか。
どうだろうか、っていっても、きっと誰も賛成してくれないし、 手をあげてもくれないに決まってるんだけど。
などと、不毛なことばかりを考えながらリリース。
リリース後、サイボウズラボへ移動。LL Ring前夜祭というかたちで おしゃべり会に参加。
オープンソースマガジン10月号の第二特集のpart 1を仰せつかった。 しかし、「最前線」とはおおげさなタイトルだ。
LispとかMLとか、あまり知られてない言語を中心に、 そこからどう技術移転が行われてきたか、とかいうような話。 私の文章をウォッチしている人なら「どこかで読んだな」と思うかもしれない。
こういう趣味に走れる文章は、楽しいけど、それでも締切はしんどい。 特に次の日のLL Ringのスライドを用意する必要がある場合にはなおさらだ。
サイボウズラボで竹迫さんたちと話していたネタ。
RSSとかだとdescriptionにHTMLが埋めこまれるので、 well-formedでないXMLが日々大量に生成されている。 最近のPerl業界ではそのようなwell-formedでさえないXML(のようなもの)を ハンドリングすることが話題になっている、と。
それだと先日の「XMLのメリット」全否定のような気がする。
とはいえ、HTMLだからdescriptionの内容全部エスケープするわけにもいかないような気もするし。 「いっそ、コメントに入れるか」という話も出たが、 それだと少なくともRSSではないよね。次世代RSSはそうするべきか。
そういえば、XMLにはTeXのverbのようなものはないよね。
リリース作業、お疲れ様でした m(__)m。今回はテストのお手伝いも出来なくてすいませんでした。次回は頑張ります。
HTMLが埋め込まれているから well-formed でなくなるのではなく、正しくエスケープされてないからですよね。人気のブログツールやサイトでは、ちゃんとエスケープされていて well-formed になってるように見えますが、どの辺で well-formed でない XML が大量生産されているのでしょうか?
「verbのようなもの」として、CDATA セクションがありますね。普通は エスケープした HTML にするか、CDATA にいれるか、well-formed な XHTML 断片にするか、かと。
広義 RSS でも新しい Atom では HTML を埋め込む指定ができるようになっています。http://www.ietf.org/rfc/rfc4287.txt の 3.1.1.2.
まぁ、肯定的に取るならば、ルーズなプログラムが壊れたXML を出力しても、それなりに扱う余地が残っている、というのも XML のメリットなのでしょう。
nhさん、
たとえば、ここが使っているtDiaryはエスケープしてませんね。
ちゃんと調べてないのですが、それなりに存在してそうな気がします。
成瀬さん、
うーん、実際にその部分を読むとMUST escapeって書いてありますから、そのまま埋め込めるわけではないんですね(当たり前か)。
壊れたXMLもそれなりに扱う余地はあるのは確かですが、DOMのレベルではwell-formedでないものを扱えないのが残念ですね。いや、こっちも当たり前ですが。
実装者がXMLを解ってないだけでしょうね。Parser側でそういうXMLっぽい何かを許容する実装を行うか否かは悩ましいところですねぇ……。仰るように『「XMLのメリット」全否定』につながりますし。
tDiary の RSS でも description は html タグが全て除かれたものになっているはずです。html が含まれるのは content:encoded ですが、ここは CDATA に入っているので xml としては valid になっていると思いますし、feed を生成する blog ツール類ではそうした実装のものが多いと思います。
ちなみに http://www.w3.org/RDF/Validator/ に入れてみましたが valid のようですよ。
おお、確かにCDATAになってますね。
良く確認せず間違いを流布してしまったかな。
すみません。
……という話を追いかけるために、ツッコミ入りfeedも配信してくれないですかねぇ:-)
makerss.rbをリリースするときは、ちゃんとvalidatorを通すように心がけています。最近は機能の低いvalidatorがあって、そういうのは無視してますけど。
そういえば、不正なXML/HTMLもパース可能なParserとして、最近(といっても2ヶ月前ですが)、MYCOMでShaniXmlParserというのが紹介されてましたね。
http://journal.mycom.co.jp/news/2006/07/11/342.html
もし、この手の不正なXMLもパースできるParserライブラリが一般的になってしまうと、HTMLと同じような状況(不正なXMLをなんとかパースできないと話にならない)がRSSに限らず、一般的に起きてしまうのではないかと心配です。
たださん、
コメント入りはcomments.rdfで配布してます。
みずしまさん、
不正なXMLを無視するわけにはいかず、しかし、拒絶しなければXMLの利点を失ってしまうというジレンマですね。どう解決すればよいんでしょう。
tDiaryは優秀でしたが(事実誤認してごめんなさい、たださん)、しかし、trackbackいただいた
http://d.hatena.ne.jp/atsushieno/20060904/p3
とか読むと、well-formedでないXMLはやっぱり日々生産されてそうですね。
どうしたもんだか。
あれま >comments.rdf
RSS Auto Discoveryが間違っているので、誰も気づいてないと思われます。
makerss.rb の無指定時の処理がまずいかなぁという気がしたので、makerss.rb を修正して RSS Auto Discovery が正しくなるようにしました。あとでパッチをなげます>たださん。
たださんの考えと違うのは解っているんですが、私はコメントには責任持てないんで、積極的に配布したくないんですよ。 欲しい人にはさしあげますが。