初心者のためのホームページ作り 第35号

Web作成支援

メールマガジン「初心者のためのホームページ作り」でお伝えした内容を、「復習」の意味で掲載しています。テキストのみのマガジンと違って、実際のサンプルや画像を交えて解説していますので、理解が深まると思います。なお、疑問点や分からない点がありましたら、遠慮なく メールにてご質問ください。

今週<第35号>マガジンのおさらい

                   毎週金曜日配信 What's New 2003/1/17
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
 今週の課題 ■ 初めてのXHTML講座 第2回

XHTMLのお約束事

XHTML( Extensible HyperText Markup Language )とは、 HTML4.01 を XML( Extensible Markup Language )で再構築された言語です。つまり、XHTMLは XMLのサブセットとして適合した立派な XML文書です。そのため、作成に関わる規則や作法はすべて XMLに準拠します。

XHTMLは、HTMLと次の点で大きく異なっています。


XHTMLの基本データ形式

HTML同様に、XHTML(XML)でも、以下のような基本データ形式が定められています。
CDATA
文字データ (Character data) 改行、タブは、スペースに置き換えらる
実体参照はそのまま実体参照として使用できる
#PCDATA
解析対象の文字データ (Processed character data)
実体参照は実体参照符合に置き換えられなければならない
つまり、& は & として記述しなければならない
ID
文書内一意識別子 (A document-unique identifier)
IDREF
文書内一意識別子の参照 (A reference to a document-unique identifier)
IDREFS
スペースで区切って設定した複数の IDREF
(A space-separated list of references to document-unique identifiers)
MMTOKEN
アルファベット(A-Z a-z)、数字(0-9)、ハイフン(-)、 アンダースコア(_)、
コロン(:)、ピリオド(.)のみで構成された文字列
(A name composed of only name tokens as defined in XML 1.0 [XML])
MMTOKENS
スペースで区切って複数設定した MMTOKEN の値
(One or more white space separated NMTOKEN values)

PageTop


XHTMLで決められた「お約束事」の詳細です。

XHTMLは小文字で記述する

XMLでは、大文字と小文字が厳格に区別されています。それは XHTMLでも同様に扱われます。そのため aA は違うものと判断します。

XHTMLでは、要素・属性は小文字で記述しなければなりません。

終了タグは省略できない

HTMLでは、終了タグが省略できる要素が多く存在します。終了タグを省略した場合、ブラウザ側で次の要素の出現時に、終了タグを自動的に補完してくれました。しかし、XML文書では、必ずしも Webブラウザを利用するとは限りません。他の XMLを解釈する XMLパーサなどでは、終了タグの省略を許していないため、必ず記述しなければなりません。

空要素の扱い

HTMLでの空要素とは、終了タグを持たない要素のことで、br、img、col、input など多く存在します。しかし、XMLでは、Webブラウザだけの使用にとどまりません。他の XMLパーサを利用することが多いため、空要素にもそれなりの扱いが求められています。

空要素では、その行末に半角スペース+スラッシュを必ず記述しなければなりません。

<img src="hana.png" width="200" height="150" alt="Flower" />

属性値の引用符

HTMLでは、属性の値がアルファベットのみ、数字のみの場合には引用符の記述を省略しても問題ありませんでした。しかし、XHTMLでは、データはすべて #PCDATAとされているために、必ず引用符を用いなければなりません。
HTML   <img src="hana.png" width=200 height=150 alt=Flower>
XHTML  <img src="hana.png" width="200" height="150" alt="Flower" />

HTMLで癖になっている方は、今から属性値に引用符で囲むように心がけるようにしましょう。

属性値の最小化

XHTMLでは値を持たない属性にも、必ず値を持たせなければなりません。HTMLでは、フォームの構成要素に属性値をもたない属性が少なくありません。この属性の最小化を許さないために、属性名と同じ属性値を記述する必要があります。
<option selected="selected">
該当する属性名は以下の12個のみです。(XHTML1.0 の場合)

compact、checked、disabled、defer、declare、ismap、multiple、noshade、nowrap、noresize、selected、readonly

ただし、古いブラウザの中には、このような記述では正しく解釈できなくなる恐れがあります。XHTMLの仕様書にはこの問題に対する解決法は述べていないのですが、HTML4/4.01 に対応したブラウザであれば問題にならない、と書かれています。

要素の入れ子の対応

HTMLでは、タグの入れ子を間違って記述しても、ブラウザ側で補って表示してくれましたが、XHTMLでは許してくれません。XHTMLでは 「well-formed」 という文書の状態である必要があり、タグの入れ子の順序を間違えてはいけません。
×  <p>タグの入れ子は <em>正しく記述</p>する</em>
○  <p>タグの入れ子は <em>正しく記述</em>する</p>

スクリプト、スタイルシートの記述

XHTMLのデータ記述は #PCDATAとして扱われます。HTMLでは、JavaScript や CSSを文書中に埋め込む場合、対応していないブラウザへの配慮として、コメントタグ(<!-- 〜 -->)を利用して記述しますが、#PCDATAでは、< や >、& などは実体参照として扱われる関係で文書中に記述することができません。
<script type="text/javascript">
  <!--
          実体参照を含むスクリプトの記述
  --//>
</script>
この問題を解決するために、CDセクションを設ける手段がありますが、多くのブラウザで対応していないため現実的ではありません。

スクリプトやスタイルシートを外部に置く方法が強く推奨されています。

XML宣言

XHTMLは XML文書です。そのために、文書の冒頭で XML宣言を記述するように強く求められています。
<?xml version="1.0" encoding="Shift_Jis"?>
HTMLから見れば見慣れない構文ですが、XHTMLが XML文書であることの証明でもあります。ただし、記述する文字コードが、国際化符号の UTF-16UTF-8 であれば、省略することも可能ですが、なるべく記述するようにしましょう。

なお、文字コードを指定する記述に、大文字と小文字の区別はありません。

XHTML1.1 では見栄えの記述を分離する

XHTML1.0 Transitional では、HTMLの非推奨要素・属性が利用できましたが、XHTML1.1 ではすべて廃棄されています。そのため、文書構造から見栄えを特定する要素や属性は一切使うことができません。
×  <body bgcolor="#ffffcc" text="black" link="blue" vlink="purple">
×  <font size="3" color="red">
XML、XHTMLでは文書を論理的な構造化フォーマットで記述することが求められています。見栄えを特定する場合には、すべてスタイルシートを用いなければなりません。

XHTMLを作成することはそう難しいことではありません。上記にある数々の基本を身に付ければ、すぐにでも XHTMLを作ることができます。XHTMLは上記にある基本的なこと以上に、様々な拡張機能が備わっています。講座では、その「拡張された機能」について詳しく解説する予定です。

XHTML文書サンプル   (詳しい XHTMLの記述は今週のマガジンを参照してください。)



Valid XHTML 1.1! このページは XHTML1.1 で作成しています
Copyright(C) 2002-2003 banban@scollabo.com