XHTMLにおける留意事項

ルート要素名は<html>
XHTMLではHTMLと同様<html></html>要素をルート要素とします。他のすべての要素はそのルート要素の要素内容として記述します。

全てのタグ(要素名、属性名)は、小文字で記述する
XHTMLで使用する要素名と属性名は、すべて小文字で記述します。
HTMLでは大文字と小文字は区別されませんが、XHTMLでは大文字と小文字は区別されます。
また、ドキュメントタイプは、<!doctype とならないで、<!DOCTYPE と大文字になります。

属性値は引用符("" '')で囲む
HTMLでは値が数字などの場合は引用符の省略が認められていましたが、XHTMLでは全ての属性値を引用符で囲んで記述します。

HTMLでは、width=100
XHTMLでは、width="100"

終了タグは省略しない
HTMLではタグによっては終了タグを省略することができましたが、XHTMLではタグの省略は出来ません。

HTML
<ul>
<li>リスト
</ul>

XHTMLでは、
<ul>
<li>リスト</li>
</ul>

また、<img src="">や<br>のように、HTMLでは開始タグしか使わないものは、/ の前にスペースを置いて、<img src="" /> <br /> のように記述します。

HTMLでは属性値のみで使えるものもありますが、XHTMLでは属性名と属性値で記述します。

HTML
<input type="radio" checked>

XHTMLでは、
<input type="radio" checked="checked" />


name属性は、id属性に
HTMLでは文書内の特定の位置へのリンクにname属性を使っていましたが、XHTMLでは文書内のリンクにid属性をつかいます。

HTML
<a href="#jump">ジャンプ</a>
....
<a name="jump">ここにジャンプ</a>

XHTMLでは、
<a href="#jump">ジャンプ</a>
....
<a name="jump" id="jump">ここにジャンプ</a>

name属性とid属性を同じ値で記述します。
id属性は、ページ内に重複した値を記述することはできません。
(XHTML1.1では、name属性は廃止されます。)

&は&amp;と記述する
XHTMLでは、&は&amp;と記述します。

HTML
<a href="myscript?name=myname&age=20">

XHTMLでは、
<a href="myscript?name=myname&amp;age=20">


ブラウザの表示モード
ブラウザには、標準モード・互換モードの表示モードがあります。

標準モード
HTMLの文法を正しく解釈するモード。 非推奨タグや属性は使えません。

互換モード
過去のHTMLと互換性を持たせた表示モード。 ブラウザごとに表示が異なる場合があります。

表示モードで何が違うかは、初期のフォントサイズやwidth,heightなどにborder-widthが含まれていたり、含まれなかったりブラウザによって違って表示されます。


HTML4.01
Strict
標準モード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd ">

Transitional
互換モード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
標準モード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd ">

Frameset
互換モード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
標準モード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd ">


XHTML1.0
Strict
標準モード
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">
互換モード
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">

Transitional
標準モード
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
互換モード
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">

Frameset
標準モード
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd ">
互換モード
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd ">


XHTML1.1
標準モード
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd ">
互換モード
<?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 ">


ドキュメントタイプ<!DOCTYPE>
文書型宣言

HTML4.01
3つのDTDがあります。

Strict DTD:厳密な文書型
非推奨要素やフレームは使用することはできません。
標準モード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "href="http://www.w3.org/TR/html4/strict.dtd">


Transitional DTD:非推奨な要素や属性を使用することができます。
HTML記述を比較的自由に行える(廃止予定の要素と属性を使用可能) フレームは使用不可(インラインフ レームは使用可能)
互換モード(識別子を省略)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
標準モード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "href="http://www.w3.org/TR/html4/loose.dtd">


Frameset DTD:Transitional DTDにフレームの使用を追加したもの。
非推奨の要素や属性を使用し、フレームも使用可能。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "href="http://www.w3.org/TR/html4/frameset.dtd">


XHTML1.0
HTML4.01と同じく Strict Transitional Frameset の3つのDTDがあります。

Strict
Strict DTD:厳密な文書型
非推奨要素やフレームは使用不可
標準モード(XML宣言を省略)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
互換モード(XML宣言を記述)
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


Transitional DTD:非推奨な要素や属性を記述可能
標準モード
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
互換モード
XML宣言
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


Frameset DTD:Transitional DTDにフレームの使用を追加したもの。
標準モード
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
互換モード
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">


XHTML1.1
非推奨要素は廃止されています。TransitionalとFramesetは廃止され、Strictのみ。

標準モード
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "href="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
互換モード
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "href="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


HTML4.01とXHTML1.0との主な相違点
大文字・小文字が区別される。
要素名・属性名は小文字で記述しなければならない。
要素は必ず開始タグと終了タグを記述しなければならない。
属性値は引用符("" '')で囲まなければならない。