XHTML 1.1 を XML として公開するための文書型定義

>>Delta: 2008年12月 より。

来年は>>DeltaもXHTMLもどき(XML宣言省略)にしようかと企んでいます。

カスパさんのところを読み返して思ったのですが、 XHTML 文書を書く人って、なるべく XML 宣言を省略しようとするのですよ。 XML 文書なのだから XML 宣言したほうがいいと思うのは、 XHTML 文書と他の XML 文書を組み合わせて新たな可能性を見出そうとする人のわがまま? 何はともあれ、 XML 宣言はあったほうがいいと思うのです。

で、考えてみたところ、 IE でも XML 宣言ありで問題ないんじゃない? というのが個人的な考え。 XHTML などという、 HTML 文書に酷似し、なおかつ IE が対応していないメディア型 (application/xhtml+xml) を選ぶから IE で不都合が生じるわけであって、 XHTMLXML のひとつだという大前提に立ち返れば、別にメディア型を汎用の XML にしてしまえばいいわけです。当サイトで IE 向けに application/xml として送出しているのはその考えがあるからです。

汎用の XML 文書なら、 HTML ではない新しい文書ということになりますから、文書型定義 (DTD) も要らなかったりするわけで。あ、 XHTML の要素型を使いたいなら XHTML 用の文書型定義を指定しておいてもいいと思いますよ。その際は当サイトのように、 IE 向けに若干手を加えた文書型定義が必要になりますが。というわけで、当サイトで使っている、 IEXML 文書として XHTML を読ませるための文書型定義の場所を以下に示しておきます。 XHTML 文書を XML として使いたいかたはどうぞ。文書型宣言の例にならって、この URI を直接指定してもいいですし、自分のサーバーにダウンロードして使ってもいいでしょう。一応、ダウンロードできるようにしておきましたが。

IE 向け XHTML 1.1 用文書型定義: http://4mat.jp/xhtml11

文書型宣言の例: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://4mat.jp/xhtml11">

多分、これがあれば XML 宣言を省略したりせずに XHTML 文書を公開できるようになると思いますよ。

タグ: DTD 文書型定義, XHTML, XHTML 1.1, XML