XHTML
には様々な規則があります。HTML
では許されていた記述法が、XHTML
では厳格化されています。この節では、XHTML
記述における規則について説明します。
XHTML
では要素、属性は小文字で記述します。XHTML
の場合、大文字と小文字は厳密に区別され、a と A は違うものと解釈されます。HTML
の場合には、それほど意識することもなかったのですが、XHTML
に関してはそのように区別されますので注意が必要です。CSS
の記述にも同様ですので、基本的には小文字で書くようにしましょう。HTML
では、属性値となるものに引用符を利用しない場合が許されています。しかし、XHTML
ではすべての属性値について、必ず引用符で囲まなければなりません。HTML <table width=500 cellspacing=0 cellpadding=0> XHTML <table width="500" cellspacing="0" cellpadding="0">
HTML
では通常、空要素は空要素としてそのままですが、XML
文書でもある XHTML
では必ず終了の合図が必要なのです。HTML <col span=2 class="banban> XHTML <col span="2" class="banban" />
XHTML
では、スタイルシートとスクリプトは #PCDATA
でパース (解釈) されます。HTML
では、スタイルシートやスクリプトを直接文書に埋め込む場合、それらに対応していないブラウザのためにコメントで囲みます。<style type="text/css"> <-- スタイルの記述 -->
「 < 」
は、#PCDATA
でパースされるので、そのまま要素の始めと受け取られる危険があります。特にスクリプトでは、&&
という論理積を記述する場合があり、スクリプトと処理される前に実体参照としてパースされ、やはり危険です。CDATA
セクションを設ける方法があります。<script type="text/javascript"> <![CDATA[ 〜 スクリプトの記述 ]]> </script>
CDATA
セクションがそのまま表示されてしまう危険もあります。HTML
ではまったく気にすることがなかったのですが、XHTML
では、最小化された属性についての規則があります。「最小化」とは値を持たない属性のことです。HTML
におけるフォーム内の記述です。<option value="XHTML Lectur" selected>XHTML講座</option>
selected
属性を、XHTML
では、以下のように記述します。
<option value="XHTML Lectur" selected="selected">XHTML講座</option>
XHTML
文書は属性値を空にできません。HTML
では、特定の要素に終了タグの省略が許されているものがあります。tr、th
要素、リストアイテムの li
要素、段落を表す p
要素などは省略されても問題がありませんでした。それは Webブラウザ側で終了タグを補完してくれたからに過ぎません。XHTML
では、すべての要素に終了タグの記述が求められ、省略は許されていません。習慣的に省略されている方には、十分注意してください。XHTML
Lは XML
文書です。必須ではありませんが、XHTML1.1
では文書の先頭で XML
宣言をすることが強く求められています。宣言は、XML
のバージョンと使用する文字符号セットを共に宣言します。特に文字コードが国際符号化文字集合の UTF-16
あるいは UTF-8
以外で、上位のプロトコルでも文字符号が示されていない場合には、必ず XML
宣言を行う必要があります。<?xml version="1.0" encording="Shift_Jis"?>
<? 〜 ?>
この書式は処理命令を表しています。