作者: 機械伯爵
日時: 2003/10/28(14:05)
 ども、機械です。

 Pythonの部屋でDOMの話やってますので、その関連で
ここに質問。

 XMLには「整形式のXML」と「妥当なXML」ってのがあ
りますよね。

 とりあえず「XMLの最低限度のルールが守られたドキ
ュメント」なら整形式。

 DTDをきっちり参照して、構造やデータタイプまでき
っちりと検証してOKなのが「妥当なXML」。

 型に厳格なPascalやJavaを書いてた頃は「型を決めな
いなんてとんでもない」と思ってましたが、現在タイプ
ルーズなPythonを書いてると「型なんて、実行形式の最
適化さえ考えなきゃ必要ないじゃん」と思うわけです。

 さらに、たとえばHTMLエージェントみたく「本来のル
ールがあってその例外を処理してる」ような処理の仕方
だと、ルーズな記法は処理速度にてきめんに影響してき
ます(HTML準拠だけより、XHTML準拠のほうが処理が早
い)

 しかし、DTDがあるのと無いのって、エージェントの
処理速度から考えると、どっちが速いんでしょう?

 単純に考えれば、最低限のXML構造だけをパースする
整形式に対して、DTDのルールを検証する場合は、それ
だけ手間がかかりそうな気がします。

 しかし、ある程度きっちり決まった構造をあらかじめ
作っておいて、それに放り込んで検証しているなら、も
しかしたらDTDつきのほうが処理が軽いのかもしれませ
ん。

 字句解析とかパースとかよくわからない(勉強はして
るんですけどねぇ・・・)ので、知ってる方、おられま
したらご教授願います。

                  /機械伯爵/

 ・・・処理系にもよる、とか言われたらそれまでだけ
ど・・・