[9] [DFN[HTML5]] は、 [[HTML]] の構文の一種で、最もよく使われているものです。 [[HTML5]]
は [[SGML]] 風の構文を持っていますが、 [[SGML]] の[[部分集合]]でも[[超集合]]でもなく、
互換性はありません。
[10] [[HTML5]] に対して、 [[XML]] を構文として採用したものを [[XHTML5]]
と呼びます。 [[XHTML5]] は実際にはほとんど使われていません。
[11] [[HTML5]] 構文や [[XHTML5]] 構文は、どちらも [[HTML5]] 仕様書で定義されています
(紛らわしいですね)。
[12] [[HTML5]] [[文書]]は、 [[HTML]] 仕様書では単に [DFN[[[HTML文書]]]] ([DFN[[[HTML document]]]])
と呼ばれています。
* 仕様書
-[13] [[HTML5]] 仕様書
--
* 媒体型
[14] [[HTML文書]] ([[HTML5]] で記述された[[文書]]) は、[[媒体型]]
[CODE(MIME)@en[[[text/html]]]] として[[札付け]]しなければ[['''なりません''']]
[SRC@en[[[HTML5]]。
* 歴史
** Web Forms 2.0 HTML 構文の構文解析
[1] [[Web Forms 2.0]] は従来の [[HTML]] と
[[XHTML]] の両方の構文を認めています。
この章では、 [[HTML]] 構文の[[構文解析]]について扱います。
[2] 仕様書:
- [[Web Forms 2.0]]
-- [CSECTION@en[2.18. Handling unexpected elements and values]]
[3] '''誤り処理'''
[[Web Forms 2.0]] は、 [[SGML]]
で規定されない曖昧な場合にどう[[構文解析]]するか正確には規定しません。
[[利用者エージェント]]の実装者は、
既存の製品を[[逆工学]]し、適当な動作を模倣[['''するべきです''']]。
[SRC@en[WF2 2.18]]
[5]
[[Web Forms 2.0]] は [[HTML 4]] の拡張として定義されており、
その [[HTML 4]] が [[SGML]] に基づいているので、
>>3 のように規定されているのだと思われます。
しかし、 [[Web Forms 2.0]] の [[HTML]]
[[文書]]は一般に[[妥当]]な [[SGML]]
[[文書]]ではありません ([[DTD]] がないので)。
誤っている[[文書]]は >>4 のように処理するとして、
誤っていない[[文書]]をどう[[構文解析]]するのがいいのかは
[[Web Forms 2.0]] は (わざと) 曖昧にしています。
** HTML5 仕様書による構文解析算法の明確化
[8] [CITE['''['''whatwg''']''' HTML5 Parsing spec first draft ready]] ([TIME[2008-04-02 11:17:11 +09:00]] 版)
* メモ
[6]
[CITE@en[Tag Soup: How Mac IE 5 and Safari handle ]] ([[Henri Sivonen]] 著, [CODE[2005-07-28 02:07:37 +09:00]] 版)
[7]
[CITE[Bug 311366 – should make custom elements able to contain blocks ()]] ([TIME[2007-09-17 12:38:22 +09:00]] 版)