1. すべてのタグには対応する終了タグが必要です
以前の HTML では、<p> や <li> などの多くのタグを閉じるために、対応する </p> や </li> を記述する必要がなくても開くことができました。しかし、これは XHTML では合法ではありません。 XHTML は厳密な構造を必要とし、すべてのタグを閉じる必要があります。ペアになっていない別のタグの場合は、タグの最後に「/」を追加してタグを閉じます。例えば:
<br /><img height="80" alt="Web デザイナー" src="../images/logo_w3cn_200x80.gif" width="200" />
2. すべてのタグ要素と属性の名前は小文字である必要があります。
HTML とは異なり、XHTML では大文字と小文字が区別され、<title> と <TITLE> は異なるタグです。 XHTML では、すべてのタグ名と属性名を小文字にする必要があります。例: <BODY> は <body> と記述する必要があります。大文字と小文字の混合も認識されません。通常、Dreamweaver によって自動的に生成される属性名「onMouseOver」も「onmouseover」に変更する必要があります。
3. すべての XML タグは適切にネストされている必要があります
また、XHTML は厳密な構造を必要とするため、以前は次のようなコードを記述しなければなりませんでした。
<p><b></p></b>
次のように変更する必要があります:
<p><b></b></p>
つまり、層ごとのネストは厳密に対称である必要があります。
4. すべての属性は引用符 "" で囲む必要があります。
HTML では属性値を引用符で囲む必要はありませんが、XHTML では属性値を引用符で囲む必要があります。例えば:
<高さ=80>
次のように変更する必要があります:
<高さ="80">
特殊な場合には、属性値に二重引用符を使用する必要があり、" を使用でき、一重引用符は ' を使用できます。次に例を示します。
<alt="こんにちは"">
5. すべての < および & 特殊記号をエンコードする
タグの一部ではない小なり記号 (<) は、< としてエンコードする必要があります。
ラベルの一部ではない大なり記号 (>) は、> としてエンコードする必要があります。
エンティティの一部ではないアンパサンド (&) は、& としてエンコードする必要があります。
注: 上記の文字の間にスペースは入れません。
6. すべての属性に値を割り当てます。
XHTML では、すべての属性には値が必要であると規定されており、値がない場合は同じ値が繰り返されます。例えば:
<td nowrap> <input type="checkbox" name="shirt" value="medium" selected>
次のように変更する必要があります:
<td nowrap="nowrap"> <input type="checkbox" name="shirt" value="medium" selected="checked">
7. コメント内容に「--」を使用しないでください
「--」は、XHTML コメントの最初と最後にのみ使用できます。つまり、コンテンツ内ではコメントは無効になります。たとえば、次のコードは無効です。
<!--ここにコメント----------ここにコメント-->
内部の点線を等号またはスペースに置き換えます。
<!--ここにコメント============ここにコメント-->
上記の仕様の一部は奇妙に見えるかもしれませんが、それらはすべて、将来のデータの再利用を容易にするために、コードに統一された独自の標準を持たせるように設計されています。