- ベストアンサー
XHTMLのXML宣言
XHTMLで、XML宣言は必ず記述しなければならないのでしょうか? 「XML宣言なし」の場合、互換モードになると書いてあったので互換モードにする場合は逆にXML宣言を記述してはいけないということでしょうか? 回答よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>XHTMLで、XML宣言は必ず記述しなければならないのでしょうか? XML宣言が必要な場合 ・XHTMLの場合 ※ただし、文字コードUTF-8、UTF-16の場合や、サーバー側が HTTPヘッダなどで文字コードを送信する仕組みになっている 場合は不要 となってはいますが、 書いてる人もいるし書いてない人もいます。書かない方がいいという人もいるし、書かなきゃいけない、という人もいます。 >「XML宣言なし」の場合、互換モードになると書いてあったので 逆です。 WINIE6において、DOCTYPE宣言の前に何か(XML宣言)が「ある」場合 です。 「DOCTYPEスイッチ」で検索してみてください。 そういえば、IE7では以前ご質問のあったXML宣言絡みのバグは、本来起きないはずです。 XML宣言を書いてIE6と同じようにIE7でも後方互換モードになるなら、 http://blog.drry.jp/2006/02/25/ie7-b2-xhtml こちらに書いてあることが参考になるかもしれません。
その他の回答 (2)
- Muller3
- ベストアンサー率81% (800/979)
>どっちがいいのか分かりませんね。 いろんな解釈と価値判断があるから仕方ないです。 規格や勧告に従うことを是とするなら、その範囲内で表現を実現しなければいけません。 表現を実現することを最優先にするなら、規格や勧告に従わないこともあり得ます。勧告に忠実でも、表示するブラウザが意図通り表示してくれなければ話にならない、という人もいるでしょう。 判断するための価値基準は人によって様々です。 現状、正しい方法は、随時自分で判断するしかありません。こういう問題は人に聞けば殆どアンケートに近くなります。 なぜこういうことになっているかは、WEB標準の背景(ブラウザの歴史)を知ることで理解できるようになりますが、ここで説明するのは困難です。 自分で判断できるようになるために、まず基本的なことを知る必要があります。 「過去の変遷とともにWeb標準について考える」 http://www.mdn.co.jp/content/view/3945/55/ 登録しないと読めないと思いますが、読んでみることをお勧めします。 他の記事もいろいろ読んでみるといいかもしれません。
お礼
う~ん。なるほど。いろんな解釈と価値判断ですか。 そうですね。いろいろ調べてみる必要がありそうですね。 ありがとうございました。
- J_LO
- ベストアンサー率37% (3/8)
自分は付けてますが互換モードになってしまうため、どうしても不都合が生じCSSハックしてます。 よく見る参考書には現時点では付けない方が無難と書いてありました。 大抵のサーバーはXHTMLでもHTMLとして処理してしまうためXML宣言は必要ないとのことです。 すべてのブラウザが互換モードになるわけではありません。IEの限られたバージョンです。 やはりXML宣言しないで作った方が苦労しなくて済むと思います。 自分は情報不足の状態でXML宣言+XHTML1.1で作ってしまいましたが幾つか悩みながら作りました。 今更削除してCSSを修正するのは面倒なのでそのままにしてます。
お礼
>よく見る参考書には現時点では付けない方が無難と書いてありました。 そうなんですか。まだXML宣言を記述するのは早いんですかね。HTMLとして処理してしまうなら意味がないですね。 ありがとうございました。
お礼
>書いてる人もいるし書いてない人もいます。書かない方がいいという人もいるし、書かなきゃいけない、という人もいます。 う~ん。どっちがいいのか分かりませんね。 ありがとうございます。URLは大変参考になりました。半角スペースの入れ方に問題があったようです。皆さんが言われるようにバグは解消しました。 ありがとうございました。