XHTML ファイルとは?
XHTML は、HTML 4.0 の再編成を使用して、XML にマークアップを含むテキスト ベースのファイル形式です。これらのファイルは、Web ブラウザーで開いたり表示したりするのに適しています。 XHTML は、より構造化され、スクリプトが少なく、汎用的になるように設計されました。 XML の既存の機能をすべて使用し、デバイスに依存しません。 XHTML は、一般的に価値のある要素と属性のセットを提供し、スタイル シートと組み合わせた拡張オプションを備えています。属性は、メタデータ属性コレクションから使用されます。 XHTML は、すべての HTML プレゼンテーション要素をスタイル シートに従属させることにより、柔軟性とアクセシビリティを提供します。スタイル シートは、これらの表示要素よりも汎用性があります。 HTML 4.01、HTML5、および XHTML の仕様は、World Wide Web Consortium (W3C) によって動的に開発されています。
XHTML ファイル形式の歴史
XHTML の歴史は、1998 年 12 月に World Wide Web Consortium によってリリースされたドラフト ドキュメントから始まります。このドキュメントは、XHTML 1.0 と呼ばれる仕様である「XML での HTML の再構成」を参照しています。この新しい仕様は、既存の要素または属性を使用して XML で HTML を再構成しました。 1999 年 5 月、W3 コンソーシアムは、HTML 4.0 が XML アプリケーションとして再編成されたことを宣言しました。つまり、XHTML です。 2000 年 1 月 26 日、XHTML 1.0 を定義する最初の仕様が W3C によってリリースされました。さらに 2001 年 5 月 31 日、W3C は XHTML を独立言語として発表し、HTML 5.0 の開発に取り組み始めました。しかし、2005 年に、XHTML から独立した通常の HTML を改善することを目的としたワーキング グループ (WHATWG) が結成されました。最終的に、WHATWG は XHTML 2 と並行して HTML5 の作業を開始しました。
XHTML ファイル形式
XHTML は、HTML 4 を模倣、分類、拡張するさまざまなドキュメント タイプとモジュールのコレクションである形式です。XHTML のファイルは XML ベースであり、XML ベースのユーザー エージェントと連携することを目的としています。 XHTML ファイルは XML に準拠しています。標準の XML ツールを使用して、XHTML ファイルを表示、編集、および検証します。 HTML ドキュメント オブジェクト モデルまたは XML ドキュメント オブジェクト モデル [DOM] に依存するアプリケーションは、XHTML ドキュメントを通じて操作できます。今日 XHTML を選択すると、コンテンツ開発者は、コンテンツの上位互換性または下位互換性を気にすることなく、XML に関連するすべての利点を享受できます。
関連する要素のセットは、XHTML でモジュールを構築します。フォームまたはテーブル モジュールには、Web ページに表示できるさまざまなフォームまたはテーブル要素を含めることができます。モジュール化の目的は、HTML 要素を多数のリンクされた要素のセットに分離することでした。コンテンツ開発者がさまざまなタイプのデバイスのモジュール選択を利用できるようにします。さらに、モジュールを使用すると、ユーザー エージェントは XHTML 標準との一貫性を失うことなく要素を選択できます。 XHTML の解析要件は XML と同じですが、HTML は独自の要件を実践しています。
ドキュメントの適合性
XHTML2 は、XML および XHTML 1.0 の名前空間要素と属性を使用する XHTML 1.0 ドキュメントに準拠する仕様を提供します。 Document Conformance には 2 つのタイプがあります。
厳密適合ドキュメントは、この仕様で定義された必須サービスのみを必要とする XML ベースです。 XHTML ファイルでは、次の基準を満たす必要があります。
- ファイルは、DTD および付録 B で定義されている制約に準拠する必要があります。
- ファイルのベース要素は html でなければなりません。
- ファイルの基本要素には、XHTML 名前空間の宣言が含まれている必要があり、次のように定義する必要があります。
http://www.w3.org/1999/xhtml.
- 基本要素は次のように記述できます。
<html xmlns#"http://www.w3.org/1999/xhtml" xml:lang#"en" lang#"en">
基本要素より前に、DOCTYPE を宣言する必要があり、その公開識別子は 3 つの文書型定義 (DTD) のいずれかを参照する必要があります。システム識別子は、現在のシステム規則に準拠するように変更できます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XML ドキュメントでは、すべてのドキュメントで XML 宣言を指定する必要はありません。ただし、コンテンツ開発者は、すべての XHTML ドキュメントで XML 宣言を使用するように誘惑されます。これらの宣言は、ドキュメントの文字エンコーディングが UTF-8 /16 と異なる場合、または管理プロトコルによってエンコーディングが指定されていない場合に必須です。次の XHTML ドキュメントの例では、XML 宣言を定義しています。
<!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#"en" lang#"en">
<head>
<title>Public Property</title>
</head>
<body>
<p>changed to <a href#"http://sample.com/">sample.com</a>.</p>
</body>
</html>
適合するユーザー エージェントは、次の規則を満たす必要があります。
- XHTML ドキュメントの解析と評価は、XML 1.0 勧告との一貫性を保証するユーザー エージェントによって行われます。
- ユーザー エージェントを検証する場合、XML に従って、参照されている DTD のドキュメントの有効性を確認する必要があります。 XHTML ファイルがユーザー エージェントによって汎用 XML として処理されると、型 ID の機能はフラグメント識別子として認識されます。
ユーザー エージェントが認識されていない要素に遭遇した場合、以下は達成しなければならない必須の基準です。
- その未知の要素の内容を処理する
- 属性とその値を無視する
- デフォルトとして提供される属性の値を使用します。
ユーザー エージェントが、エンティティ参照宣言が以前に処理されていないことに気付いた場合、それは文字 (「&」記号で始まり、セミコロンで終わる) として処理する必要があります。コンテンツ処理中、ユーザー エージェントによって予測可能であるがレンダリングできない文字または文字エンティティ参照は、同様の意味をもたらす代替レンダリングを使用する場合があります。このような場合、レンダリング処理が正常でなかったという事実をユーザーに明らかにする方法でドキュメントを表示する必要があります。空白を処理するために、ユーザー エージェントは CSS 文字 [CSS2] からの定義を参照する必要があります。
XHTML 下位互換性
XHTML 1. 文書の下位互換性は、適切な規則に従えば、HTML 4 ユーザー エージェントに精通しています。 XHTML 1.1 は、Ruby アノテーションを除いて完全に互換性がありますが、HTML 4 ブラウザーでは一般に無視されます。 XHTML 2.0 は比較的互換性が低くなりますが、スクリプトを使用することで問題はある程度解決されています。