XMLの混合内容と空白処理がなかったら、いかに事情は単純であったことか。
というようなことを、少し前に川俣さん、山本さんと会ったときに話しました。
これは、「そうなればいいな」ってことでは断じてありませんからね、念のため。
事情が単純になるのはいいことですが、過剰な単純化はいけません。それに、非自明なことが実は面白いってこともありますしね。
と、断りをした上で、混合内容がない世界がどれだけ単純になるかというと: XMLツリー構造のテキストノードは不要になります。属性ノードaに対するa.getValue()で属性値(の文字列)が取れるのと同様に、要素eへのe.getValue()でテキスト内容が取れることにしておけば、それで十分。
要素内容テキストにも正規化(空白処理を含む)が定義されていれば、属性と子要素を区別する必要はほとんどありません。なんて単純なんだ。
単純に事が進む状況にいるなら、あえて混合内容や空白処理に頭を突っ込んで悩み苦しむ必要はないでしょう。が、“有意な空白を含む混合内容”が本質的な役割を果たす状況もあるのは事実ですから、その存在を無視するのはよろしくない、ダメですね。