もう皆さんご存知だとは思いますが、念のためメモっときます。
以前はHTML文書の文字コードがUTF-8もしくはUTF-16以外の場合はXML宣言が必要とありましたが、HTML1.0の仕様書第2版でこの条件がゆるくなりました。先にあげた文字コード以外で、上位レベルプロトコルによって文字コードが判断できない場合に必要となっています。
ところでなんで急にこのような話になったかというとこのXML宣言をすることで大きな問題が起きるからです。XML宣言があるとIE6やOpera7.0
では後方互換モードなってしまうのです。つまりわざわざCSSハックを使用する機会を増やすことになるのです。またMac
IE4.5より前のバージョンではソースがそのまま表示されたり、ファイルとしてダウンロードされるなどの現象が起きてしまいます。
この様な手間をコーディングの始めの段階で気付けばいいのですが、途中で気付いたりすると最悪です。一番初めにチェックしておけば何の不安もなくコーディングに励めます。
ちなみにIE6ではXML宣言に限らず、DOCTYPE宣言の前に何かあるだけで後方互換モードになってしまいます。あとXML宣言は下記のようなものです。
HTML
[html]
<?xml version="1.0" encoding="UTF-8"?>
[/html]