HTMLとXHTMLの「書式の違い」の続きとして、「要素名と属性名は必ず小文字で」「属性値は必ず引用符で囲む」「空要素の書式」「タグは省略できない」「タグは整形式(well-formed)で」「属性は略記できない」「name属性とid属性」「空白文字の取り扱い」「その他の違い」について見ていこう。

6. 要素名と属性名は必ず小文字で

 HTMLでは要素・属性を大文字で書いても小文字で書いても(あるいは両者の混合でも)構わないが、XHTMLでは大文字と小文字は区別される。XHTMLでは文書型定義(Document Type Definition: DTD)上、要素名と属性名は小文字で定義されているため、すべて小文字で書く。

 CSSのセレクタについても、たとえば「P」ではなく「p」、「DIV」ではなく「div」と小文字で書く必要がある点に注意しよう。

要素名と属性名は必ず小文字で
<a href="http://www.cybergarden.net/">サイバーガーデン</a>

 なお、文書型定義とは、HTMLやXHTML、XML文書を作成する際に従うべき文法や、要素、属性、属性値などを定義したものだ。文書は必ずDTDに従って記述する必要がある。

7. 属性値は必ず引用符で囲む

 HTMLでは場合によっては属性値を引用符(「"」または「'」)で囲んでも囲まなくてもよいが、XHTMLでは必ず囲むと決められている。

属性値を必ず引用符で囲む
<p class="desc">説明文</p>

 なお、属性値のなかの引用符には、属性値に使用した引用符と異なるものを使う点に注意しよう。たとえば属性値を「"」で囲んでいる場合、値のなかでは「'」を使う。

属性値のなかの引用符は、属性値に使用した引用符と異なるものを使う
<img src="images/button.gif" alt="ボタン" onmouseover="this.src='images/
button_on.gif'" onmouseout="this.src='images/
button.gif'" width="152" height="25" />