XHTML1.0への道


移行の必要性

現在公開されているサイトは、HTML4.01準拠という所が多いのではないかと思います。 そしてXHTML1.0は HTML4.01の書き方を少し厳密にしただけの物で、XHTML1.0でなければ出来ない事というのは、ほとんど無いです。 そういう意味で、XHTML1.0に移行する必要性はあまりないと言えます。

2001年 5月に勧告された XHTML1.1ではモジュール化が取り入れられていて、最低限の互換性を維持しつつ User Agentごとに最適なタグセットを用意できるそうです。 現在のようにi-modeやJ-Sky専用ページを作らなくてもよくなるのかな(?)。

移行した理由

差し迫った必要性が無かったにもかかわらず、XHTML1.0へ移行したのは、

移行作業は自動で出来る部分もあるが、手作業で一つ一つの文書を修正せざるを得ない部分も多いです。 サイト内の文書は段々と増えていくものなので、早めに移行したほうが掛かる手間が少なくて済むと思いました。

前述したように、既にXHTML1.1の勧告が行われており、XHTML1.0は最新の規格ではありません。 XHTML1.1ではなく1.0へ移行したのは、1.1からはフレームがサポートされないからです。 将来的にフレームは消えていくのかもしれませんが、今の画面構成を続ける限りは必要なので、当面はXHTML1.0を使っていくことになると思います。

オーサリング・ツールの対応状況

移行にあたっての大きな問題は、使用しているHTMLオーサリング・ツール(ホームページ作成ソフト)が、XHTMLに対応しているかどうかです。 テキストエディタで作成している人には関係ありませんね。 XHTMLに対応していないオーサリング・ツールの場合、HTMLソースを壊してしまう可能性もあるので注意が必要です。

2003年 1月時点で、正式にXHTML対応が明記されているオーサリング・ツールはこれだけです。

メジャーなオーサリング・ツールでは、当サイトでも使用している IBM ホームページ・ビルダーV7は、残念ながらXHTML対応は明記されていません。 いつになったら”正式に”サポートしてくれるのでしょうか。

ホームページ・ビルダーV6は非対応?

XHTML非対応なホームページ・ビルダーV6を使っていたのに、なぜXHTML1.0に移行できたのか? それはV6が非公式ながら、XHTMLに対応しているからです(最新版の修正ファイル(執筆時点では6.0.4)の適用が必要です)。

ホームページ・ビルダーV6でXHTML1.0を使えるようにするには、いくつか設定を行う必要があります。

1. ホームページ・ビルダーを起動して、メニュー”ツール”→”オプション”でダイアログを開きます。 ”一般”タブの中で、”HTMLソースを自動整形する”と”HTML構文エラーを自動修正する”の二つの項目にチェックが入っていることを確認してください。

”一般”タブ

2. ”ファイル”タブに切り替えて、DOCTYPEを以下のように変更します(XHTML 1.0 Transitionalの場合)。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
”ファイル”タブ

3. ”ソース編集”タブの出力文字を、タグ/属性共に小文字にします。

”ソース編集”タブ

あとは

  1. 既存のHTML文書を開く
  2. メニュー”ファイル”→”名前を付けて保存”で、ファイルの種類を”XML形式のHTMLファイル”として保存する
名前を付けて保存ダイアログ

これだけです。 XML宣言の挿入から属性値の引用符まで自動で修正してくれます。 一度こうやって保存すれば、次からはXHTML文書として認識されるので、ファイルの種類を意識する必要はありません。

テキストエディタで作成している場合の移行方法

元のHTML文書がどのように書かれているかによって異なりますが、XHTMLへ移行する場合の大きな修正項目としては以下のようなものがあげられます。

  1. XML宣言の挿入と、文書型宣言の書き換え
  2. タグ(要素タイプ名、属性名)の小文字化
  3. 終了タグの追加と、空要素タグの修正

1.については、テキストエディタで片っ端からコピー&ペーストするのが、単純ではあるが一番早いように思います。 同時にlink要素やmeta要素についても修正してしまえば一石二鳥です。

2.や3.を手作業でやるのは大変です。 DHTML Assistant(Windows版:シェアウェア)には、これらの修正を一括で行う機能があります。 シェアウェアですが、試用期間(30日間)中でもこれらの機能は使うことができます。

タグ操作メニュー

その他の修正点は、Another HTML-lint の結果を参考にコツコツ直していくことになります。