5. DTDを意識しよう

まずは、XHTMLのDTDを意識してみよう。XHTMLにもいくつかのバージョンが存在するが、 本ページで使用するのは、XHTML 1.0と呼ばれるものだ。

先の「test.html」をXHTML 1.0 Strict DTD に対応させるためには、 下のソースのように強調部分を追加する。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>とにかく作ろう</title>
</head>
<body>
<p>初めてのWebページ</p>
</body>
</html>

XML宣言

XHTMLは、XMLをベースとしたHTMLである。 そのため、1行目に「これはXML文書ですよ」という宣言を記述する。

<?xml version="1.0" encoding="UTF-8"?>

このとき注意することはecoding="UTF-8"の「UTF-8」の部分である。 ここには、エンコーディング形式を指定する。 エンコーディングは、テキストエディタで作成したときの保存文字コードのことだ。 つまり、テキストエディタでHTMLファイルを作成する場合は、 どのような文字コードを使用しているのか、常に意識する必要がある。 以下に、代表的な文字コードと、それを表すエンコーディング文字列を上げておく。

UTF-8(Unicode)コード
1文字を可変長のバイト列に変換する方式。 「UTF-8」あるいは「utf-8」と記述する。
UTF-16(Unicode)コード
2バイト文字の範囲はそのまま表現し、2バイトでは足りない部分は4バイトで表現する方式。 「UTF-16」あるいは「utf-16」と記述する。
JISコード
JIS規格によって規定されている文字コード方式。 「ISO-2022-JP」あるいは「iso-2022-jp」と記述する。
Shift(シフト) JISコード
Microsoft社によって策定された文字コード方式。 「SHIFT_JIS」あるいは「Shift_JIS」、 「shift_jis」と記述する。
日本語EUCコード
日本語UNIXシステム諮問委員会の提案に基づいて1985年にAT&T社が定めた方式。 「EUC-JP」あるいは「euc-jp」と記述する。

DOCTYPE宣言

修正した「test.html」の2行目から4行目が使用する文法、すなわちDTDの指定をする部分になる。

<!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

この部分をDOCTYPE宣言と言い、ここで使用するDTDを宣言する。 DTDが3種類あることは前に言ったが、それぞれ記述する形式は決まっている。

Strict
<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Transitional
<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Frameset
<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

属性の指定

要素を表現するためにタグを使用する訳だが、 その要素に対する補助情報を与えるものが属性である。 属性は、開始タグにのみ記述できる。また、記述できる属性の種類、 必ず書かなければならない属性、省略できる属性などの区別もすべてDTDに基づいている。

タグへの属性の書き方は次のようになる。

<要素名 属性1 属性2・・・>

このとき要素名と属性の間、属性を複数記述する場合は、その間を1つ以上の空白で区切る

次に属性そのものは次のような書き方になる。

属性名="属性値"

注意することは、属性名と属性値は等号(=)で結び、属性値は必ず引用符(")で囲まれることだ。

html要素の属性

html要素にも複数の属性があるが、「test.html」では、3種類の属性を使用している。

xmlns="http://www.w3.org/1999/xhtml"
xmlns属性は、名前空間と呼ばれるもので、 XML固有のものである。XHTMLの場合には記述するが、 省略も可能だ。なお、HTMLの場合には、記述しない。
xml:lang="ja"
xml:lang属性は、言語コードを指定する。我々は日本語を使用するので、 「ja」を指定する。これもXML固有のもので、HTMLの場合には記述しない。
lang="ja"
この属性もxml:lang属性と同じ働きをする。通常、XHTMLの場合には記述しなくても良いのだが、 現状では、HTMLとの互換性を考慮して記述する。すなわち、HTMLの場合には記述する属性である。

ページの先頭に戻る


Copyright © 2006 御隠居 (滄洲). All Rights Reserved.