8. XHTMLをHTMLにしてみよう
これまでXHTMLを中心に説明してきたが、無料ホームページスペースなどでは、 広告表示の部分が勝手に追加されて表示されてしまうことが多い。 このとき追加部分がXHTMLの記述になっていないものが大半である。 そこで、ここではXHTMLをHTMLに修正する方法を示す。
HTMLにもいろいろなバージョンが存在するが、 ここではHTML 4.01の最も厳格なDTDであるStrictに修正することとする。 なお、StrictでDTDのチェックを行い、 実際にアップロードして表示したページをもう一度チェックし、 そこで不具合が生じるようであれば、 DOCTYPE宣言をTransitionalに変更するだけでほとんどの場合、 対応できるので覚えておこう。
変更するXHTMLファイルのサンプル
<?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>
<meta name="description" xml:lang="ja" lang="ja"
content="御隠居のホームページ作成法で使用するサンプルページです。" />
<meta name="keywords" xml:lang="ja" lang="ja"
content="御隠居,ホームページ,Webページ,HTML,XHTML,CSS,W3C" />
<meta name="author" xml:lang="ja" lang="ja" content="御隠居" />
<meta name="copyright" xml:lang="ja" lang="ja"
content="Copyright (C) 御隠居" />
</head>
<body>
<p>初めてのWebページ</p>
</body>
</html>
コメント
XHTML、HTML共通でコメントを記述することができる。 コメントは、注釈のことで、単なるただし書きでありブラウザ上には表示されない。 コメントは、以下の書式で記述する。
<!-- ここにコメントを記述する -->
このとき注意することは、コメント部分に「--」を記述しないことだ。 要は、2つ以上の連続したマイナス記号を記述しないように注意しよう。
XML宣言は不要
HTMLは、当然ながらXML文書ではないので、XML宣言は不要となる。 また、DTDもHTMLのものを使用するので、 ここではXML宣言とDOCTYPE宣言をコメントアウトしておこう。
<!-- ?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用のDTDを追加する
HTML 4.01にもXHTMLと同様に3種類のDOCTYPE宣言がある。
- Strict
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- Transitional
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- Frameset
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
ここでは、Strictを使用するので、以下のように修正する。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/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" -->
XML固有の属性を削除する
XML固有の属性を削除する。対象となるものは、xmlns属性とxml:lang属性だ。 サンプルの関連する部分をコメントアウトして、新しく書き直してみると以下のようになる。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/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 lang="ja">
<!-- 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>
<meta name="description" lang="ja"
content="御隠居のホームページ作成法で使用するサンプルページです。" />
<meta name="keywords" lang="ja"
content="御隠居,ホームページ,Webページ,HTML,XHTML,CSS,W3C" />
<meta name="author" lang="ja" content="御隠居" />
<meta name="copyright" lang="ja"
content="Copyright (C) 御隠居" />
<!-- meta name="description" xml:lang="ja" lang="ja"
content="御隠居のホームページ作成法で使用するサンプルページです。" / -->
<!-- meta name="keywords" xml:lang="ja" lang="ja"
content="御隠居,ホームページ,Webページ,HTML,XHTML,CSS,W3C" / -->
<!-- meta name="author" xml:lang="ja" lang="ja" content="御隠居" / -->
<!-- meta name="copyright" xml:lang="ja" lang="ja"
content="Copyright (C) 御隠居" / -->
</head>
<body>
<p>初めてのWebページ</p>
</body>
</html>
空要素のタグ修正
XMLでは空要素のタグの終わりが/>で終わるが、HTMLでは、 単に>のみで終わる。つまりXML的な解釈をすれば、 開始タグのみを記述していることになる。
これですべての修正が終了し、HTML4.01に基づいたHTMLファイルになった。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/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 lang="ja">
<!-- 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>
<meta name="description" lang="ja"
content="御隠居のホームページ作成法で使用するサンプルページです。" >
<meta name="keywords" lang="ja"
content="御隠居,ホームページ,Webページ,HTML,XHTML,CSS,W3C" >
<meta name="author" lang="ja" content="御隠居" >
<meta name="copyright" lang="ja"
content="Copyright (C) 御隠居" >
<!-- meta name="description" xml:lang="ja" lang="ja"
content="御隠居のホームページ作成法で使用するサンプルページです。" / -->
<!-- meta name="keywords" xml:lang="ja" lang="ja"
content="御隠居,ホームページ,Webページ,HTML,XHTML,CSS,W3C" / -->
<!-- meta name="author" xml:lang="ja" lang="ja" content="御隠居" / -->
<!-- meta name="copyright" xml:lang="ja" lang="ja"
content="Copyright (C) 御隠居" / -->
</head>
<body>
<p>初めてのWebページ</p>
</body>
</html>