XHTMLと文書型宣言について

文書型宣言について説明する前にHTMLXHTMLとは何か、簡単に説明します。

HTMLXHTMLについて

HTMLとは、HyperText Markup Language(ハイパーテキスト・マークアップ・ランゲージ)の頭文字をとったもの。つまり、電子文書(ハイパーテキスト)に目印をつける(マークアップする)ための文法(ランゲージ)のこと。

HTMLは、もともとSGML(Standard Generalized Markup Language)というマークアップ言語。しかしSGMLはさまざまな欠点があったため、新しい規格であるXML(Extensible Markup Language)を策定。HTMLXMLで再構築した規格がXHTMLとなる。

HTMLXHTMLとの違い

XHTMLHTMLと以下の点で異なる。

文頭にXML宣言(<?xml?>で始まる)をしなければならない。
ただしIE 6.0では常に互換モードで表示。
要素名と属性は必ず小文字で書く
HTMLでは大文字も認められたが、XHTMLでは小文字で表記しなければならない。
空要素には終了タグをつけること
<br />のように半角スペースとスラッシュをつけなければならない。
属性値には必ず引用符をつける
旧来のHTMLでは、条件によっては引用符を省略することができたが、<p class="main">のように必ず引用符をつけなければならない。
外部スクリプト/スタイルシートを使う
HTMLのコメントは「<!--」から「-->」もしくは「//-->」内に記述されるが、XMLに対応したブラウザだと内容が無視される場合がある。しかし「<!--」から「-->」もしくは「//-->」を省略すると、旧式のブラウザではソースを全て表示してしまうので外部化する方がよい。
属性値の中の「&」は「&amp;」と書く
CGIURIを記述する際は注意。

文書型宣言

文書型宣言とはその文書がどのようなXHTMLのバージョンで作成されているのかを表します。ちなみに文書型宣言はタグとは異なります。大文字・小文字の区別は正しくしましょう。

XHTML 1.0

HTML 4.01をXML化したもので、「Strict」「Transitional」「Flameset」の3つの文書があります。

XHTML 1.0 Strict
非推奨要素・属性、フレームは一切認められていない。非常に厳格なマークアップ言語。W3Cで推奨されているタイプ。
<?xml version="1.0" encoding="文字コード"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
非推奨要素や属性が使用可能。ただしフレームは一切認められていない。
<?xml version="1.0" encoding="文字コード"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
フレーム要素が使用可能。
<?xml version="1.0" encoding="文字コード"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1

XHTML 1.0策定後、関連する機能のモジュール(テキスト、リスト、画像等)に分割する作業が行われた。それに加え、新しいモジュールの定義方法やそれらを組み合わせて新しい文書型を定義した仕様が「XHTMLのモジュール化」。 このモジュールを組み合わせてXHTML 1.0 Strictを再現し、ルビ要素が追加された。

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

XHTML ベーシック

XHTML 1.1をコンパクトにしたもの。携帯端末向けマークアップ言語。パソコンでも利用可能。

<?xml version="1.0" encoding="文字コード"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" 
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

まとめ

文書型宣言のバージョンによって使える要素・属性が異なるので、必ず文書型宣言はしましょう。

結局どのバージョンのXHTMLを使えばよいのか迷うところです。現在(2006年4月)の段階ではXHTML 1.0 Strict が推奨されています。しかし正しいマークアップを行っていればXHTML 1.0 Transitional でも問題ありません。

XHTML 1.0 Strict をベースにしたXHTML 1.1 ではいけないのかというと、MIMEタイプ(application/xhtml+xml)が旧式のユーザーエージェントに対応していない場合があるからです。排除勧告されているMIMEタイプ(text/html)の使用がXHTML 1.0 で認められています。ですので現段階では、無理に最新のXHTML 1.1を使う必要はないです。

また、こだわる方もいらっしゃるかもしれませんが、必ずしも全ページの文書型宣言を統一しなければならないわけではありません。

2006-04-29 11:30 | (X)HTML

Page Top