Siena. です。

▼ [ruby-list:35171] < Wakou Aoyama さん

》あ、なるほど。それはごもっとも。ですが、HTML は解析が大変ですし、だからこそ後処理を考慮した XML ができ、そして XHTML ができたわけで、そちらの方へ向かうのが良いだろうと思います。

そうですね。解析は大変です ^^;
解析に関してはもう「枠の外」と考えてしまってます。

普段は、htmlparser + htmlrepair ...(*) を使わせてもらって、
その結果を扱う自作ユーティリティでなんとか処理しています。
今は、これでパースできない HTML 文書は処理を諦めちゃってます ^^;
自分で使う分には (*) の結果を REXML オブジェクトに変換すればいいかな
という事で、次に HTML を扱う時にでも書き足そうかと考えていました。

文書の再利用を考えると面倒で仕方無いので、自分で書く分には
基本的にデータソースは XML、表示用は XHTML としています。
# 気分的には SGML ベースの文書は滅んでしまって欲しい(暴言)くらいで ^^;

》ゆっくりでいいと思いますよ。なんと言っても、まだ XML ライブラリが標準添付になっていないのですしね。

ちょっと考えてみて、オブジェクトの機能的には
次のようなレイヤ分けをして、必要なレベルのものを
require できるようにしてみるのはどうかとか思ってます。

* 省略タグへの対応や要素型定義などの基本機能を追加するパッケージ
    html(?)/baselib.rb
* HTML の子要素をメソッドで生成・追加できるようにするパッケージ
    html/structure.rb : Head#title() とか Body#p() とか
* HTML の文書要素型に特化したメソッドを追加するパッケージ
    html/behavior.rb  : A#get() とか Form#submit() とか

で、上のもの (低水準の機能) から作っていこうかな、と。とりあえず、
最初の版は XTHML とかの事は考えないで、のんびりやってみます ^^;
---
Siena. <mailto:siena / cr.chiba-u.ac.jp>