HTMLとXHTMLの違い
HTMLとは、文書をネット上に発信する共通言語のことで、最新はHTML4.01です
そして、HTMLをxml文法で再定義したものがXHTMLでHTMLに比べて文法が厳密になっています。現在では、HTMLに代わり、XHTMLがほぼ主流となっています。
HTMLとXHTMLは似通ってる、というより、普通に使う分にはほとんど変わりはないので、旧来のHTMLの手法が使えます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML lang="ja">
<HEAD>
<META HTTP-EQUIV=content-type CONTENT="text/html; CHARSET=UTF-8" />
<TITLE>ホームページ</TITLE>
</HEAD>
<BODY>
<P>welcome 私のホームページ
<HR>
</BODY>
</HTML>
<?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>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>ホームページ</title>
</head>
<body>
<p>welcome 私のホームページ</p>
<hr />
</body>
</html>
HTMLとXHTMLの違いを説明する前に、こういった解説をする上でよく出てくるソース、タグ、要素 という言葉について正しい使いわけを示しておきます。
ソースとは、ホームページの元となるもので、上にあるように、表からは見えず、HTML言語で羅列された全体をさします。
タグとソース、タグと要素はごっちゃに使われることが多いですが、正しくは下のようにはっきりと区別されています。
タグとは、<> で囲まれた単体のことで、<font size="4"> をfontタグ、もっと正確に言うなら、font開始タグ </font>をfont終了タグと言います。
そして要素とは、タグによって挟まれてひとつのセットになったものを指して言うものであり、正しく言うと、font要素と言います。
タグの中には、終了タグがなく、単独で使われるもの、 <img> <link> <hr> があります。このようなものを空要素と呼びます。
以上のことを踏まえたうえで、HTMLとXHTMLの違いをまとめてみました。
| HTML | XTHML |
|---|---|
| <?xml version="1.0" encoding="UTF-8"?> | |
|
XHTMLはXMLの文法に基づいて再定義したもので、先頭に記述することが推奨されてます。 「version="1.0"」は、バージョン情報です。1.0にしておけば問題ありません。 「encoding="UTF-8"」は、文字です。日本語の場合は UTF-8、EUC-JP、Shift-JIS の何れかになります。 | |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
DOCTYPE宣言(または、文書型宣言)と呼ばれるものです。XHTMLには複数のバージョンがあるため、その文書がどのバージョン・定義(DTD)に基づいて記述されているか示すために必ず必要なものです。
DTDの内容は、以下の通り分けられています。
●Strict (厳密型) 非推奨要素・属性を使用せず、厳密な文法によりWebページを作成します。 ●Transitional (移行型) 非推奨要素・属性を使用、互換性の高いWebページを作成します。 ●Frameset (フレーム使用型) フレームを使用してWebページを作成します。 | |
| <HTML lang="ja"> | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> |
|
HTMLは言語コードだけを指定します。XHTMLでは(xmlns="http://www.w3.org/1999/xhtml")、名前空間というものをを指定します。
また、XHTMLの場合は言語コードをxml:lang属性で指定しますが、後方互換を考慮してlang属性でも同じ値を指定します。 | |
| <HTML><BODY> | <xhtml><body> |
| HTMLでタグを書く場合、大文字、小文字どちらでも可能です。XHTMLはタグは小文字で書かなくてはいけません。
| |
| <P>welcome 私のホームページ <HR> | <p>welcome 私のホームページ</p> <hr /> |
| HTNLでは </p></li> など、終了タグを省いても良い要素があります。XHTMLでは省くことはできません。
また、XHTMLで空要素を使う場合は、最後に半角スペースをとり、スラッシュで閉じます。→ <hr /> | |
こうした基本的違いを踏まえていれば、旧来のHTML方式で作られているテンプレートでも、XHTML に簡単に直すことができます。
ネット上にはホームページを作るためのテンプレートが配布されています。わざわざ、1からタグを学ばなくとも、無料配布のテンプレートを利用しながら、タグや要素の使い方えお覚えていきましょう。
少し慣れたら、テンプレートを改造してみたりすると、かなり詳しくなれます。