トップ > スキル : Web > XHTML知識

Web

HTMLとXHTML

コーディングとは、プログラミング言語を用いてプログラムのソースコードを記述する作業です。(IT用辞典バイナリより)
ここでのプログラミング言語とは、HTML言語とCSSになります。ちなみにソースコードとは、プログラミング言語の記述仕様に従って記述された文書のことです。現在主流となりつつあるのがXHTML言語です。HTMLとXHTMLについて説明をいたします。

HTMLとは

HTML(HyperText Markup Language)は、ホームページ(Webページ)を作るために開発された言語で、現在公開されているホームページはHTML言語で作られています。日本語読みをすると「ハイパーテキスト マークアップ ランゲージ」です。

一つ一つ分解すると、ハイパーテキストとはハイパーリンクを埋め込むことが可能な高機能なテキスト(文書)のことです。ホームページを見たとき、文字(テキスト)に下線が付いていて、その上でクリックすると別ページにジャンプできる仕組みをハイパーリンク(単にリンクとも呼びます)といいます。

また、ハイパーテキストは、ページ同士のリンクだけでなく、写真などの画像・動画・音声などのデータなどもリンクで埋め込めることができます。要するにHTMLは、情報同士を関連付けて、情報を整理・統合することができる特徴を持っているハイパーテキスト機能を利用することになります。

次にマークアップ(Markup)は、「目印」を付けるという意味になります。Webページ内の内容(文書)の各部分が、どのような役割を持っているかを示すために、その役割を果たすための目印を付けていきます。1つのページ内で、タイトル、見出し、段落、表、リストなどはどの部分であるというような目印をつけることができます。

なぜ目印を付けることが必要であるかは、その部分がページ内でどのような役割をしているのかを明確にすることで、コンピュータ自身がそのページの構造を理解できるようにするためです。ページ構造をしっかりと明示すれば検索エンジンが巡回してきた時、Webページの構造を把握して情報を収集しやすくなり、ブラウザがページ内の各役割の意味を理解して閲覧しやすく表示することも可能となります。

要するに、HTMLはページ内の各部分に役割を持たせることに注意を払いながら記述していく言語になります。

XHTMLとは

XHTML(Extensible HyperText Markup Language)は、HTMLをXMLの文法で再定義された言語です。HTMLでは曖昧さが存在しており、ルーズな書き方でも許されたのですが、現代社会において規則性を明確にして統一したWebサイトの構築を図ろうという動きでXHTMLが生まれました。

今までのHTMLは、ページ構造とデザインを一緒にして1つのページ内に記述することが多く、コンピュータがどこがどの役割であるかを理解できなかったり、ブラウザの種類によって表示が崩れてしまう現象が起こったりしていました。これらの不具合を解消するために、文書ページとデザインのためのページを分離して、なるべくWebページをシンプルにしようとする目的などを考慮されたものがXHTMLになります。もちろん、それだけの理由ではありませんが。

HTMLとXHTMLのどちらにもメリットやデメリットはあります。しかし、将来的にHTML言語は使われなくなり、XHTMLに取って代わることは間違いないです。但し、XHTMLはHTMLのサブセットみたいな役割として作られたので、大体の約束事は同じです。既にHTMLを知っている方は素直にXHTMLを受け入れることは可能です。違いはHTMLよりXHTMLの方が、より厳密化された記述をする必要があり、推奨されないものを使わないように配慮する必要があります。将来性を考えて、ここではXHTMLの説明を行うことにしますが、いろいろな用語が出てきます。その用語も一つの知識としてしっかりと習得されることをお勧めします。

HTMLとXHTMLのバージョン

HTMLには、1.0、2.0、2.x、3.0、3.2、4.0、4.01があります。現在の標準的なHTMLは、4.01バージョンの仕様となっています。

XHTMLには、1.0と1.1があり、HTML4.01との互換性からするとXHTML4.0バージョンを使っていれば、問題ないといわれています。もちろん、XHTML1.1でも良いのですが、現状から見てブラウザによっては対応していなことを考慮すれば、1.0の方で記述したほうが無難だといえます。


HTML4.01とXHTML1.0にはそれぞれ3つのタイプ(型)があります。以下の表を参照してください。

Strict HTML4.01バージョンに厳密に従って記述する
Transitional HTML4.01Strictで使えない要素・属性が使える。フレームは、インラインフレームのみ使える。また、HTML4.01以前のバージョンとの互換性がある。
Frameset HTML4.01Transitionalに更に融通を聞かせ、フレームが利用できるようにしたもの。

Strictタイプはもっとも厳密な記述を行うことを目的をしています。フレームを使用することは禁止され、今まで使えた要素も使えなくなっているものが多いです。

Transitionalタイプは移行型ともいわれ、すべての要素を使えるので、昔作成したWebページをこのタイプで記述することが容易となります。ただ、フレームは使えません。(インラインフレームは可)

Framesetは、Transitionalタイプに加えて、フレームを使えます。フレームを使ったレイアウトにしたい場合は、このタイプを使いますが、あまりフレームを使ったWebページは良くないと言われています。

文書型宣言(DOCTYPE宣言)

HTML言語を使って記述するためには、どのような形式で記述するかを指定することが必要です。このため、HTML文書の最初に<!DOCTYPE…>というタグを記述することが必要となります。「タグ」の説明は後述します。

文書がどのような仕様に基づいて記述したかを示すもので、省略はできません。HTML4.01の仕様では、次の3種類があります。

HTML4.01厳密型DTD

正式な4.01のみを使用した文書の宣言です。文書構造のみ記述することを前提としているので、レイアウトやデザインはスタイルシートを使用します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">


HTML4.01移行型DTD

以前のバージョンであるHTML3.2のタグもそのまま利用したい場合に宣言します。しかし、現在非推奨の要素が将来は廃止されてしまう可能性があるので注意が必要です。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">


HTML4.01フレーム設定型DTD

フレームを使用したWebページを作成する際の宣言となります。フレームに関する文書以外は、「移行型」で文書宣言を行います。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">


XHTML1.0厳密型DTD

正式な1.0のみで厳密に記述する時に宣言します。

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


XHTML1.0移行型DTD

HTML4.01の移行型と同じような考え方になります。

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


XHTMLフレーム設定型DTD

HTML4.01フレーム設定型と同じ考え方になります。

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

【HTMLとXHTML】