補足:XHTMLを使う場合の注意点

■XML宣言を書くとIE6で困る

XHTMLを使う場合は、文法上、DOCTYPE宣言よりも前に「XML宣言」と呼ばれる記述が必要です。 ところが、IE6では、DOCTYPE宣言の前に余計な記述があると、DOCTYPE宣言を無視してしまいます。 (Mac版のIE5や、Windows版でもIE7は問題ありません。)

XML宣言を1行目に記述したXHTML1.1のDOCTYPE宣言は、以下のようなものです。(文字コードがSHIFT-JISの場合)

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

先頭にXML宣言を書いてしまうと、IE6ではDOCTYPE宣言を無視してしまうため、「互換モード」で表示されてしまいます。 ですから、(IE6でも標準モードで描画させたければ)XHTMLを使う場合はXML宣言を省略して、以下のように記述しましょう。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

■文字コードがUTF-8なら文法的にも省略できる

XHTMLファイルの文字コードが「UTF-8」の場合は、XML宣言を省略できることになっています。 ですから、文字コードをUTF-8にしてXHTMLを記述した上でXML宣言を省略するなら、 文法的にも問題なく、IE6でも問題のないXHTMLになります。

■文字コードがそれ以外でも、実質問題にはならない

文法上はともかく、実際にはXML宣言を省略しても、「標準モードで描画させる」という点に関しては問題ありません。 文字コードがSHIFT-JISなXHTMLでXML宣言を省略しても、どのブラウザも「標準モード」で描画してくれます。 ですから、XHTMLを使う場合は、どんな場合でもXML宣言を省略しておくという方法もあります。

XHTMLのDOCTYPE宣言

XHTML 1.1 以外のDOCTYPE宣言でも、標準モードで描画されます。 たとえば、以下のようなものが使えます。

●XHTML 1.0 Strict

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

●XHTML 1.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

●XHTML Basic 1.0

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

XHTML Basicは、携帯端末向けのXHTMLです。 PC上のブラウザでも、標準モードで描画されます。 携帯端末上でどのように表示されるかは、各端末のブラウザによって異なります。
携帯端末向けページなら、IE6で表示させる必要はあまりないでしょうから、DOCTYPE宣言の前にXML宣言を書いておいた方が良いかもしれません。

XML宣言は、文字コードがSHIFT-JISコードなら

<?xml version="1.0" encoding="Shift_JIS"?>

 

と記述します。EUCコードなら

<?xml version="1.0" encoding="EUC-JP"?>

と記述します。JISコードなら

<?xml version="1.0" encoding="ISO-2022-JP"?>

と記述し、UTF-8なら(省略可能ですが)

<?xml version="1.0" encoding="UTF-8"?>

と記述します。
XHTML 1.1の場合でも、XML宣言のversion属性の値には上記のように「1.0」と書きます。 (XHTMLとしてのバージョンとXMLとしてのバージョンは別なため。)

<< 記事2ページ目に戻る
<< 記事3ページ目に戻る





■All Aboutで「お金」について、アンケートを実施中です!
回答いただいた内容をAll About記事企画の参考にさせていただきます
※2021/7/1~2021/7/31まで

・【誰でも回答可】「毎月の家計についてのアンケート」に回答する
抽選で10名にAmazonギフト券1000円分プレゼント

※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。