このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

空白問題と内容モデル 1, 2, 3

だいぶ前に『JavaWorld』連載のコラムとして書いたものです(異例に長いコラムだけど)。ほとんど変更はしてなくて、ほぼ原稿そのままです。

「空白問題を解く」というような体裁になってますが、むしろ、空白問題がwell-posedではない疑似問題ではないか、というのが趣旨です。だから、「解く」というよりは、空白問題を「問題」だと捉えてしまうような視点のほうを矯正しようということです。

最後に書いておいた次のようなことが僕の主張:

何にでも通用するような普遍的な空白処理を期待してはいけない。ありもしない理想の方法を求めても徒労に終わる。空白処理は、テキストストリームへの書き出し/テキストストリームからの読み込みのルールに依存して決まる。つまり、応用領域ごとに個別に考えるしかない。

空白問題のように、一見構文の問題に見えるものでも、構文の議論だけではまったく解決できないことがある。結局、適切な解は構文の使用状況に依存するのである。繰り返し強調するが、XML文書の同値性は応用領域に依存する。空白問題が解けないのは、個々の応用領域を無視して、普遍的/絶対的な処理を求めたからだったのだ。応用領域ごとの空白処理(同値性定義の一部)に基づけば、そこにもはやミステリーはない。