ども、機械です。
Pythonの部屋でDOMの話やってますので、その関連で
ここに質問。
XMLには「整形式のXML」と「妥当なXML」ってのがあ
りますよね。
とりあえず「XMLの最低限度のルールが守られたドキ
ュメント」なら整形式。
DTDをきっちり参照して、構造やデータタイプまでき
っちりと検証してOKなのが「妥当なXML」。
型に厳格なPascalやJavaを書いてた頃は「型を決めな
いなんてとんでもない」と思ってましたが、現在タイプ
ルーズなPythonを書いてると「型なんて、実行形式の最
適化さえ考えなきゃ必要ないじゃん」と思うわけです。
さらに、たとえばHTMLエージェントみたく「本来のル
ールがあってその例外を処理してる」ような処理の仕方
だと、ルーズな記法は処理速度にてきめんに影響してき
ます(HTML準拠だけより、XHTML準拠のほうが処理が早
い)
しかし、DTDがあるのと無いのって、エージェントの
処理速度から考えると、どっちが速いんでしょう?
単純に考えれば、最低限のXML構造だけをパースする
整形式に対して、DTDのルールを検証する場合は、それ
だけ手間がかかりそうな気がします。
しかし、ある程度きっちり決まった構造をあらかじめ
作っておいて、それに放り込んで検証しているなら、も
しかしたらDTDつきのほうが処理が軽いのかもしれませ
ん。
字句解析とかパースとかよくわからない(勉強はして
るんですけどねぇ・・・)ので、知ってる方、おられま
したらご教授願います。
/機械伯爵/
・・・処理系にもよる、とか言われたらそれまでだけ
ど・・・