[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]] 版)