ひみつ作戦を遂行中。内容はひみつ。
JIS X 4052 日本語文書の組版指定交換形式を読んだ。
…………………読まなかったことにしよう。
読まなかったことにする前に、いくつか問題点を。
かなり広範にわたって、微妙あるいは大幅に違う。このため処理系のかなりの部分を新たに実装する必要がある。
新たに実装するだけで済めばいいが、中途半端にリソースを再利用できるため、さらに深刻な問題を引き起こしかねない。たとえば、ルビを表現するためにXHTML 1.1 Ruby Annotationに似たものを定義しているが、X4052のそれにはrp要素がない。だが、もしrp要素があれば、XHTML 1.1とリソースを共有するうえで面倒がひとつ減る。このため、非公開の隠し機能として、rp要素のある処理系が作られる可能性が高い(X4052の処理系などというものが作られるとしたら、だが)。このrp要素の有無に似た問題が、規格中のいたるところに埋まっているのだ。
とはいえ、まだ逃げ道がある。処理系にバリデーションを要求し、バリデーションを通らない文書をはじくように要求すれば、ほとんどの隠し機能はふさげる。だが、
X4052が定義しているのは、タグ付きテキストであって、XMLではない。こんなもののバリデータを作ろうと試み、さらにはバリデーションを通らないデータをはじくような勇者がもしいたら、HTMLは今よりもずっと幸せなものになっていたはずだ。
とどめに、
問題の解法としての一般性をまったく感じない。
では、心おきなく、読まなかったことにしよう。