HTML/XHTML1.0
XHTML 1.0: The Extensible HyperText Markup Language
[編集]XHTML 1.0は、HTML 4をXML 1.0として再構築したもので、構文的に厳密なHTMLを目指して設計されました。XHTML 1.0は、W3Cによって2000年1月26日に最初に勧告され、2002年8月1日に改訂されました。その後、2018年3月27日に廃止され、HTML5に置き換えられました。
背景
[編集]XHTML 1.0は、HTML 4.01の要素と属性をそのままXML 1.0形式に適合させたものです。XMLはSGMLを簡素化したマークアップ言語であり、より厳密な構文規則を持っています。このため、XHTML 1.0はHTMLよりも形式的な整合性を重視し、より厳密な文書記述を可能にしました。
XHTML 1.0の特長
[編集]XHTML 1.0の主な特長は以下の通りです:
- XML互換性: XHTML文書はXMLパーサーで解析可能。
- 厳密な構文: 要素は必ず正しくネストされ、すべてのタグは閉じられる必要があります。
- ケース感度: 要素名と属性名はすべて小文字で記述。
- 自己完結型タグ: 空要素(例:
<img>
)はスラッシュ(/
)を付けて閉じます(例:<img src="image.jpg" alt="Example" />
)。
文書型(DOCTYPE)
[編集]XHTML 1.0では、以下の3種類の文書型が提供されました:
Strict DTD
[編集]厳格に構造化された文書を対象とします。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Transitional DTD
[編集]古いHTML要素(例:<font>
)や属性を許容します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Frameset DTD
[編集]フレームを使用する文書に適しています。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.0の構文ルール
[編集]XHTML文書を正しく記述するには、以下の構文ルールに従う必要があります:
正しいタグのネスト
[編集]すべてのタグは正しくネストされなければなりません。
<p><strong>正しい例:</strong> <em>テキスト</em></p> <!-- 正しくない例: --> <p><strong>正しくない例: <em>テキスト</strong></em></p>
必須属性の明示
[編集]いくつかの要素には、必須属性があります。
例:<img>
要素にはsrc
属性とalt
属性が必要です。
空要素の閉じ方
[編集]空要素はスラッシュを使って閉じる必要があります。
<img src="image.jpg" alt="Example" />
DOCTYPE宣言
[編集]XHTML文書は必ずDOCTYPE宣言を含む必要があります。
XHTMLとHTML5
[編集]XHTML 1.0は、より厳密な構文を提供しましたが、その厳密さがユーザビリティを損ねる場合がありました。また、HTML5の登場により、以下のような理由でXHTMLの役割は縮小しました:
- HTML5はSGMLに依存せず、より簡潔な構文を採用。
- HTML5はXHTMLの厳密性と柔軟性を統合。
- HTML5ではブラウザ間の互換性が向上。
HTML5のDOCTYPE宣言は非常に簡潔で、XHTMLの複雑さを解消しました:
<!DOCTYPE html>
XHTMLの廃止
[編集]W3Cは2018年3月27日をもってXHTML 1.0を廃止し、HTML5を推奨しています。HTML5はXHTMLの構文ルールの多くを引き継ぎつつ、より簡単な記述を可能にしました。