ここでは,従来の HTML,および XHTML 1.0 をご存じの方のために,XHTML 1.1 との違いをまとめておく。
まず大きな違いは,XHTML 1.1 は XML に準じた書き方をしなければならないという点。この XML の書き方で,XHTML 1.1 に対して要請されているもの(またはそのように書くことが薦められるもの)は,
<
... />
”という形の空要素タグがある<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11/dtd">
”html
要素の開始タグに,xmlns
属性“xmlns="http://www.w3.org/1999/xhtml"
”を書き加えるまた,HTML 4 には,
の 3 種類があったが,XHTML 1.1 は“厳格な HTML 4”に相当するものしかない。したがって,文書の視覚的装飾は XHTML ではできず,スタイルシートを利用することになる。また,フレームも利用できない。
ハイパーリンク先を参照するとき,ウィンドウを指定する target
属性は,厳格な HTML 4 には存在しておらず,XHTML 1.1 にも盛り込まれていない。
そのほか,要素や属性などについて HTML 4 との相違点をあげておく。
従来の HTML と XHTML の違いについては,本サイトのチュートリアル Passport to XHTML 1.0(ただし,XHTML 1.0 準拠)も参照されたい。
XHTML 1.0 との大きな違いのひとつに,HTML 4 との違いと同様,
とあったものが,“厳格な XHTML 1.0”に相当するものしかないということである。
DOCTYPE 宣言の指定は,“<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11/dtd">
”となっている。
そのほかの相違点は,
a
,form
,img
,map
要素の name
属性は削除されており,これは id
属性で代用するlang
属性は削除されており,xml:lang
属性を代わりに使うimg
要素の usemap
属性は,従来 URI を与えていたが,XHTML 1.1 ではイメージマップを定義している(map
)要素の id
属性の値を指定するなどである。
(特に HTML 4 から)XHTML 1.1 に移行すると,HTML に関わるほかのデータも XHTML にあわせて記述しなければならなくなるものがある。
たとえば,カスケーディングスタイルシートでは,適用の条件を HTML の要素の種類名で指定するものがあるが,XHTML に対して適用させるときは XHTML の要素の種類名の書き方,すなわち“すべて小文字”にしなければならない。
ほかにも,スクリプトで DOM(ドキュメントオブジェクトモデル)を参照するときなどにもその違いが影響を及ぼすことがある。