2010
1/20

「HTML 5 ― HTML 4 からの変更点」を読み解く:2 構文

「HTML 5 ― HTML 4 からの変更点」(以下「テキスト」)を読み解くシリーズ第二弾。この章、冒頭から混乱しそうなことが書いてあります。

HTML 5 では、広く使われている HTML 4 や XHTML 1 と互換性のある HTML 構文を採用しています。
(中略)
HTML 5 で使用できるもうひとつの構文は XML です。この構文は XHTML 1 文書および、その実装と互換性をもちます。


「HTML5文書は、HTMLかまたはXMLのどちらかの書き方で記述することができる」ということですね。HTML5文書をHTML構文で記述する場合とXML構文で記述する場合の相違点としては、おそらく下記のようなことではないでしょうか。

HTML5文書をHTML構文で記述する場合と

XML構文で記述する場合の主な相違点(私見)

HTML構文の場合 XML構文の場合
XML宣言 不要(XML文書ではないので) 文字コードがUTF-8かUTF-16以外の場合は必要
Content-type text/html application/xhtml+xml
または
application/xml
DOCTYPE宣言 必要(※1) 不要(※2)
タグ要素の大文字・小文字 区別しない。(※3) 区別する。(※4)
一部タグでの終了タグの省略 (※5) 不可(※6)
※1
HTML 5 Working Draftの9.1.1 The DOCTYPEの項目に“A DOCTYPE is a mostly useless, but required, header.(DOCTYPEは役には立たないが、必要なヘッダーである。)”という記述があります。
※2
HTML 5 Working Draftの10.1 Writing XHTML documentsの項目に“XML documents may contain a DOCTYPE if desired, but this is not required to conform to this specification.(XML文書には、欲するならばDOCTYPEを含む事ができます。ただ、この(HTML5の)仕様に準拠するために必要なものではありません。)”という記述があります。
※3
テキストの2.2 DOCTYPE“HTML 構文では、大文字と小文字を区別しません。”と明記されています。
※4
明記されてる箇所を探し出せなかったんですけど、xmlですから、大文字と小文字は区別するんだと思うんですが・・・。
※5
HTML 5 Working Draftの9.1.2.4 Optional tagsには、開始タグや終了タグを省略できる要素が列記されています。
※6
タグ要素の大文字・小文字同様、省略できないと明記されている文書を見つけられなかったんですが、xml文書である以上、閉じタグの省略なんてできませんよね・・・。

・・・HTML構文とXML構文の違いについて考えてたら長文になってしまいました。以下、本章の各項について。

2.1 文字エンコーディング

文字コードの指定についてですね。HTML構文でmetaを使って文字コード指定する場合、これまでの

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

という長たらしい書き方ではなく、

<meta charset="UTF-8">

という非常にシンプルな書き方になりました。助かりますねー。

2.2 DOCTYPE

文字コード指定同様、DOCTYPE宣言も非常にシンプルに。これまでは

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

という非常に長たらしかった上、DTDの種類によって書き分ける必要がありましたが、HTML5では

<!DOCTYPE html>

という非常に短いものでOKということになっています。

2.3 MathML と SVG

2.4 そのほか

割愛。

コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URL

コメントする