XHTML 1.1 文書の text/html
での提供は SHOULD NOT であって MUST NOT ではない
というのはその通りです。前提に色々と個人的な思想があって、もっぱらそれに拠った感情論的な書き込みになってしまったので、厳密性を大分欠いていますね (申し訳ない)。
個人的な思想というのは、端的に言うと「そもそも text/html の XHTML 1.1 文書が SHOULD NOT とされているのは互換性の確保のためなのに、『後方互換のために XHTML 1.1 を text/html
で提供する』というのでは本末転倒ではないか」というようなことです。
もう少し書くと、こんなことも考えています。
text/html
で提供したいなら HTML 互換の XHTML 1.0 か、HTML 4.01 など、application/xhtml+xml
で提供したいなら HTML 以外の各種 XHTML を使えばよい。text/html
で XHTML 1.1 を用いるのはナンセンスに思える。なぜ XHTML 1.0 を拒否して XHTML 1.1 にする必要があるのか。両者の差異は基本的には HTML との互換性の有無だけである。そもそも HTML との互換性を考慮するために text/html
を選択したのではなかったのか。text/html
としては SHOULD NOT だ、と言っているように思える。ただし、僕は「さしあたって」XHTML Media Types を思想的な前提としたからこのように考えたに過ぎず、XHTML Media Types それ自体が絶対的に優れていると思っているわけではありません。そもそもの XHTML Media Types に対しての反論の余地があることも否めませんし、もっと他の方法での互換性を確保を考えることも重要だとは思います。
従って、「XHTML Media Types の考え方より、この方が理想的ではないか」という別の手法を考える人がいれば、僕の意見はその人の意見とは当然食い違うでしょうし、僕がその人の意見を否定する要素が特にないということも当然ありうると思います。
# しかし、そういった異見を両立させるわけにはいきませんから、畢竟、どのように足並みを揃えるのか、というあまりにも当たり前な問題に話は集約される、と。
Geocities のリニューアルに伴って挿入広告のコードが変わってしまったので、惰性で HTML for Geocities を書き直そうと思って、大分はまってしまった。
新しい挿入広告の一部に、... </html><!-- text below generated by server. PLEASE REMOVE --></object></layer></div></span></style></noscript></table></script></applet> ...
というような、対応する開始タグのない終了タグの列が出てくる。始め、これを isweb の <td></form></td>
と同様の方法で解消しようと思ったのだが、この方法ではうまく行かない。
問題になったのは、</object>
, </table>
というタグの中にある "b"
の文字である。詳しくは SuikaWiki の B 列の項を参照していただきたいのだが、要するに、仕様上短縮参照区切り子には B
という文字を含めることができないようなのである。
まあ、はまってしまった原因は、もっぱらこの B sequence の機能を失念していたために、エラーの出る理由になかなか気付かなかったというところにあるのだが、気付いた後も対処方法を思いつくことができず、結局別の方法を考えることになってしまった。
はじめは NAMECASE GENERAL NO
にして適宜要素型を宣言し直し、かつ利用者側でも文字種をある程度統一してもらう、というようなことも考えたのだが、これは面倒だし解りづらい。結局 </object>
と </table>
はあくまでも終了タグとして扱い、その前に適宜対応する開始タグを補完してよしとした。
# この副作用として、html の終了タグが必須になり、かつ </html >
のように tagc の前に空白文字を入れることができなくなってしまったが、このくらいの制約は仕方ないと思うことにしよう。
ruby も使いたいし MIME も text/html にしたい、という要望は理解できるし、確かに現状ではこれと言った問題も起きないだろうけれども、結局それをやっていると何時になっても先方互換が確保できないだろうし、HTML と XHTML の分別もぐだぐだになってしまうのではないか、と僕は思うのです。
けれども、「先方互換が確保できない」とか「HTML と XHTML の分別がぐだぐだになる」とかいった危惧には、これといった根拠があるわけではありません。ですから、「MIME を text/html にして ruby (XHTML 1.1) を使うのを諦めるか、ruby を使うなら MIME も application/xhtml+xml にするかすべき」ということまでは W3C Note (それも草案に過ぎないけれども) に沿った主張として記述し得ても、それ以上のことは何ら主張し得ないわけで。云々。
要するに、規範的な制約の何ら存在しないところがこの問題の問題たる所以であるからして、いかなる主張も絶対に不可とは言いかねると同時に、いかなる主張も絶対的に肯定することは不可能なわけです。だったら「自分の意見」など書かねば良いわけですが、その辺はまあお察し下さい。
で、それが解っているなら「自分の意見」など書かなければ良かったわけですが、たまには自分の意見も言ってみたかったわけです。うーん。