XHTML基本

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" />
このように、要素の最後に1つの半角スペース後にスラッシュ”/” を記述します。半角スペースを置く理由は古いブラウザにも対応するためといわれています。
CSSとスクリプトの扱い
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では、すべての要素に終了タグの記述が求められ、省略は許されていません。習慣的に省略されている方には、十分注意してください。
XML宣言
XHTMLLは XML文書です。必須ではありませんが、XHTML1.1 では文書の先頭で XML宣言をすることが強く求められています。宣言は、XMLのバージョンと使用する文字符号セットを共に宣言します。特に文字コードが国際符号化文字集合の UTF-16 あるいは UTF-8 以外で、上位のプロトコルでも文字符号が示されていない場合には、必ず XML宣言を行う必要があります。
XML宣言の記述
 <?xml version="1.0" encording="Shift_Jis"?>
<? 〜 ?> この書式は処理命令を表しています。


This Page is HTML4.01 Valid! 初版公開日 2002年12月22日   最新更新日 2004年3月17日
Copyright(C)2002〜 2004 banban@scollabo.com