削除された内容 追加された内容
編集の要約なし
22行目:
HTML5 は [[Web Hypertext Application Technology Working Group|WHATWG]] によって[[2004年]]に定められた [[Web Applications 1.0]] に [[Web Forms 2.0]] を取り入れたものが [[World Wide Web Consortium|W3C]] の専門委員会に採用され、W3C より[[2008年]][[1月22日]]にドラフト(草案)が発表された。
 
現在、[[2014年]]までの正式勧告を目指して策定が行われている<ref>[http://www.w3.org/html/wiki/FAQs#When_will_HTML5_be_done.3F FAQs - HTML Wiki "When will HTML5 be done?"]</ref>。改訂の主要目的のひとつとして人間にも読解可能でコンピューターやディバイス(ウェブブラウザ、構文解析器など)にも矛盾せず読解されるとともに最新のマルチメディアをサポートする言語に向上することである。HTML5ではHTML 4だけでなくXHTML1やDOM2HTML(特にJavaScript)JavaScript)も加える意向である。
 
== 概要 ==
71行目:
 
==== 処理命令 ====
SGMLを採用していた従来のHTML規格では、文書内に処理命令 (Processing instruction) を記述することができた。実際に用いられている例として、DTDを他の処理系で利用するための "architectural support declaration" が存在する (ISO/IEC 15445)。
 
一方、HTML5仕様におけるHTML構文ではSGMLの処理命令は記述できず、同様の機能も利用できない。XHTML構文であればXMLの処理命令は書ける。
 
==== マーク区間 ====
SGMLを採用していた従来のHTML規格では、マーク区間 (marked section) と呼ばれる仕組みが利用できた。以下に例を挙げる。
 
<code lang="html"><pre>
109行目:
 
==== 空タグ ====
SGMLにおける空タグ (empty tag) とは要素型名などが書かれていない空っぽのタグのことである。従来のHTMLでは空タグの存在を許しており、利用できる場所は限られるが、空開始タグ "<code>&lt;&gt;</code>" と空終了タグ "<code>&lt;/&gt;</code>" が仕様の上では記述できる。一方、HTML5では空タグを利用することはできない。
 
==== 簡略終了タグ ====
SGML規格には、NET(NullNET(Null End Tag、簡略終了タグ) と呼ばれる仕組みが存在する。従来のHTMLでのNETは "/" であり、仕様上では、 "<code>&lt;p&gt;文章&lt;/p&gt;</code>" という記述を "<code>&lt;p/文章/</code>" と書くような記法が許されていた。
 
一方のHTML5に簡略終了タグという仕組みはない。ただし、後述する空要素の開始タグを "<code>&lt;br /&gt;</code>" などと記述する方法は、(従来のSGMLの立場では)NETを利用したものと解釈することはできる。XMLの空要素タグも、SGMLの立場からはNETおよび付属書KのNESTCを利用した記法であると解釈できる。
 
==== 空要素のタグ ====
従来のSGMLおよびHTMLにおける空要素(empty (empty element) は、DTDで内容モデルを空 (EMPTY) と決められた要素のことである(例:br要素)<ref>ただし、単に内容がないだけの要素を空要素と呼ぶこともある。このため、単に内容がない要素との区別のために、SGMLの付属書Kなどでは強制空要素 (mandatorily empty element) という用語も使われる。</ref>従来のHTMLでは、空要素の終了タグを書くことは許されていない<ref>SGML規格に付属書Kが加わる以前には、空要素の終了タグを記述すること自体が禁止されており。また、付属書Kを参照したHTML 4.01やISO/IEC 15445 でも、HTML4以前と同様に空要素の終了タグを記述してはならないこととなった。またいずれのHTML規格でもNETは "/" だった。</ref>。よって例えば、br要素のタグを "<code>&lt;br /&gt;</code>" や "<code>&lt;br&gt;&lt;/br&gt;</code>" のように記述することもできない。
 
HTML5のHTML構文における空要素 (void elements) は、内容を含むことができない要素のことである<ref>原文HTML5仕様 "Void elements can't have any contents (since there's no end tag, no content can be put between the start tag and the end tag)."</ref>。空要素はその開始タグを "<code>&gt;</code>", "<code>/&gt;</code>" のいずれかで閉じることができる。例を挙げると、br要素のタグは "<code>&lt;br&gt;</code>" と記述するほかに、XHTML構文のように "<code>&lt;br /&gt;</code>" と記述することもできる。ただし空要素の終了タグを書くことはできない<ref>原文HTML5仕様 "Void elements only have a start tag; end tags must not be specified for void elements"</ref>。また、このような記法が許されるのは空要素または外部要素 (foreign element) のタグのみで、その他の要素の開始タグは "<code>&gt;</code>" で閉じねばならない。例えば、HTML5のHTML構文では内容を含まないp要素を "<code>&lt;p /&gt;</code>" のように書くことはできない。
 
XML仕様においては、空要素 (empty elements) は内容を含まない要素のことである<ref>原文XML仕様 "An element with no content is said to be empty."</ref>。HTML5のXHTML構文では、空要素は直後に終了タグを伴う開始タグ(例:"<code>&lt;br&gt;&lt;/br&gt;</code>")、あるいは空要素タグ(Empty-Elements。例:"<code>&lt;br /&gt;</code>")のどちらでも表現できる。
 
==== ルート要素のタグ ====