html5コンテンツ・モデル

8
コンテンツ・モデルとは、HTML5で新たに導入された概念です。要素ごとに目的に応じたグループ分けがな されており、そのカテゴリに属する要素にはどんなコンテンツ(要素およびテキスト)を含めることができ るのかを定義したものです。 <!DOCTYPE html> 必須 必須 必須 必須。公式のDTDはない。 <html>(省略可) <head>(省略可) </head>(省略可) <body>(省略可) スクリプトが無効な場合:0個以上の link要素, meta要素, style要素 スクリプトが有効な場合:テキスト src属性がある場合: 空、もしくは著作権情報やAPI 情報といったスクリプトの説明文 src属性がない場合: JavaScriptのコード等( text/javascript以外を用いるのであれば、 type属性は必須 必須 必須 必須) CSSのコード等( text/css以外を用いるのであれば、 type属性は必須 必須 必須 必須) テキストのみ 必須要素であり、必ず1個だけ定義 必須要素であり、必ず1個だけ定義 必須要素であり、必ず1個だけ定義 必須要素であり、必ず1個だけ定義 トランスペアレント(ただし、インタラクティブ・コンテンツに該当する要素を除く) フロー・コンテンツ(ただし、ヘッディング・コンテンツとセクショニング・コンテンツにも 該当する要素, address要素, header要素, footer要素を除く) フロー・コンテンツ フロー・コンテンツ src属性がある場合: トランスペアレント(ただし、 video要素, audio要素を除く) src属性がない場合: 1個以上の source要素 フレージング・コンテンツ <base /> <command /> <link /> <meta /> <noscript>-</noscript> <script>-</script> <style>-</style> <title>-</title> <a>-</a> <address>-</address> <article>-</article> <aside>-</aside> <audio>-</audio> <source /> <b>-</b> コンテンツ・モデル - W3G HTML5 References http://w3g.jp/html5/content_models 1 / 8 2010/08/15 11:54

Upload: crampon

Post on 21-May-2015

760 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: HTML5コンテンツ・モデル

コンテンツ・モデルとは、HTML5で新たに導入された概念です。要素ごとに目的に応じたグループ分けがな

されており、そのカテゴリに属する要素にはどんなコンテンツ(要素およびテキスト)を含めることができ

るのかを定義したものです。

<!DOCTYPE html>

必須必須必須必須。公式のDTDはない。

<html>(省略可)

<head>(省略可)

</head>(省略可)

<body>(省略可)

スクリプトが無効な場合:0個以上のlink要素, meta要素, style要素

スクリプトが有効な場合:テキスト

src属性がある場合:

空、もしくは著作権情報やAPI 情報といったスクリプトの説明文

src属性がない場合:

JavaScriptのコード等(text/javascript以外を用いるのであれば、type属性は必須必須必須必須)

CSSのコード等(text/css以外を用いるのであれば、type属性は必須必須必須必須)

テキストのみ

必須要素であり、必ず1個だけ定義必須要素であり、必ず1個だけ定義必須要素であり、必ず1個だけ定義必須要素であり、必ず1個だけ定義

トランスペアレント(ただし、インタラクティブ・コンテンツに該当する要素を除く)

フロー・コンテンツ(ただし、ヘッディング・コンテンツとセクショニング・コンテンツにも

該当する要素, address要素, header要素, footer要素を除く)

フロー・コンテンツ

フロー・コンテンツ

src属性がある場合:

トランスペアレント(ただし、video要素, audio要素を除く)

src属性がない場合:

1個以上のsource要素

フレージング・コンテンツ

<base />

<command />

<link />

<meta />

<noscript>-</noscript>

<script>-</script>

<style>-</style>

<title>-</title>

<a>-</a>

<address>-</address>

<article>-</article>

<aside>-</aside>

<audio>-</audio>

<source />

<b>-</b>

コンテンツ・モデル - W3G HTML5 References http://w3g.jp/html5/content_models

1 / 8 2010/08/15 11:54

Page 2: HTML5コンテンツ・モデル

フレージング・コンテンツ

フロー・コンテンツ

フレージング・コンテンツ(ただし、インタラクティブ・コンテンツにも該当する要素を除

く)

トランスペアレント

フレージング・コンテンツ

フレージング・コンテンツ

[フレージング・コンテンツ] [0個以上のoption要素]

トランスペアレント

最初に1つのsummary要素1.

summary要素の直後(兄弟要素関係)にフロー・コンテンツ2.

フレージング・コンテンツ

フレージング・コンテンツ(ただし、dfn要素を除く)

フロー・コンテンツ

1個以上のdt要素, dd要素

フレージング・コンテンツ

フロー・コンテンツ

フレージング・コンテンツ

最初に1個のlegend要素1.

legend要素の直後(兄弟要素関係)にフロー・コンテンツ2.

フレージング・コンテンツ

最初に1個のfigcaption要素、その直後にフロー・コンテンツ

またはフロー・コンテンツの後に1つのfigcaption要素

またはフロー・コンテンツ

フロー・コンテンツ

フロー・コンテンツ(ただし、 header要素, footer要素を除く)

フロー・コンテンツ(ただし、form要素を除く)

フレージング・コンテンツ

フロー・コンテンツ(ただし、 header要素, footer要素を除く)

1個以上のh1, h2, h3, h4, h5, h6要素

空要素

フレージング・コンテンツ

テキストのみ

トランスペアレント

フレージング・コンテンツ

フレージング・コンテンツ(ただし、label要素自身と、そのラベル内容と関係のない

button, keygen, input, meter, output, progress, select, textarea要素を除く)

<bdo>-</bdo>

<blockquote>-</blockquote>

<br />

<button>-</button>

<canvas>-</canvas>

<cite>-</cite>

<code>-</code>

<command />

<datalist>-</datalist>

<del>-</del>

<details>-</details>

<summary>-</summary>

<dfn>-</dfn>

<div>-</div>

<dl>-</dl>

<dt>-</dt>

<dd>-</dd>

<em>-</em>

<embed />

<fieldset>-</fieldset>

<legend>-</legend>

<figure>-</figure>

<figcaption>-</figcaption>

<footer>-</footer>

<form>-</form>

<h1-h6>-</h1-h6>

<header>-</header>

<hgroup>-</hgroup>

<hr />

<i>-</i>

<iframe>-</iframe>

<img />

<input />

<ins>-</ins>

<kbd>-</kbd>

<keygen />

<label>-</label>

コンテンツ・モデル - W3G HTML5 References http://w3g.jp/html5/content_models

2 / 8 2010/08/15 11:54

Page 3: HTML5コンテンツ・モデル

トランスペアレント

フレージング・コンテンツ

インライン MathMLMathematical Markup Language

の要素

0個以上の li要素、またはフロー・コンテンツ

フレージング・コンテンツ(ただし、meter要素を除く)

フロー・コンテンツ

トランスペアレント(ただし、noscript要素を除く)

0個以上のparam要素に続き、トランスペアレント(ただし、フロー・コンテンツが入る場合

は、最初にparam要素、その後にフロー・コンテンツが続く)

0個以上の li要素

フロー・コンテンツ

フレージング・コンテンツ

フレージング・コンテンツ

フレージング・コンテンツ

フレージング・コンテンツ(ただし、progress要素を除く)

フレージング・コンテンツ

次のどちらかのセットを1個以上

フレージング・コンテンツ(主にテキスト)の後に、1個のrt要素を並べたセット

または、rp, rt, rp要素の順で並べたセット

フレージング・コンテンツ

フレージング・コンテンツ

フレージング・コンテンツ

src属性がある場合:

空、もしくは著作権情報やAPI 情報といったスクリプトの説明文

src属性がない場合:

JavaScriptのコード等(text/javascript以外を用いるのであれば、type属性は必須必須必須必須)

フロー・コンテンツ(章・節・項を表す対のヘッディング・コンテンツを必ず伴うこと)

0個以上のoption要素, optgroup要素

テキストのみ

label属性必須、0個以上のoption要素

テキストのみ

フレージング・コンテンツ

フレージング・コンテンツ

フレージング・コンテンツ

CSSのコード等(scoped属性必須、text/css以外を用いるのであればtype属性は必須必須必須必須)

フレージング・コンテンツ

フレージング・コンテンツ

インライン SVGScalable Vector Graphics

の要素

caption要素が0個、または1個1.

0個以上のcol要素、または 0個以上のcolgroup要素2.

thead要素が0個、または1個3.

<map>-</map>

<area />

<mark>-</mark>

<math>-</math>

<menu>-</menu>

<meter>-</meter>

<nav>-</nav>

<noscript>-</noscript>

<object>-</object>

<param />

<ol>-</ol>

<li>-</li>

<output>-</output>

<p>-</p>

<pre>-</pre>

<progress>-</progress>

<q>-</q>

<ruby>-</ruby>

<rp>-</rp>

<rt>-</rt>

<samp>-</samp>

<script>-</script>

<section>-</section>

<select>-</select>

<option>-</option>

<optgroup>-</optgroup>

<option>-</option>

<small>-</small>

<span>-</span>

<strong>-</strong>

<style>-</style>

<sub>-</sub>

<sup>-</sup>

<svg>-</svg>

<table>-</table>

コンテンツ・モデル - W3G HTML5 References http://w3g.jp/html5/content_models

3 / 8 2010/08/15 11:54

Page 4: HTML5コンテンツ・モデル

tfoot要素が0個、または1個4.

1個以上のtbody要素、または1個以上のtr要素5.

フロー・コンテンツ(ただし、table要素を除く)

span属性がある場合:空

span属性がある場合:0個以上のcol要素

0個以上のtr要素

0個以上のth要素

フレージング・コンテンツ

0個以上のtr要素

0個以上のtd要素, th要素

フレージング・コンテンツ

フロー・コンテンツ

0個以上のtr要素

0個以上のtd要素, th要素

フレージング・コンテンツ

フロー・コンテンツ

0個以上のtd要素, th要素

フレージング・コンテンツ

フロー・コンテンツ

テキストのみ

フレージング・コンテンツ(ただし、time要素を除く)

0個以上のli要素

フロー・コンテンツ

フレージング・コンテンツ

src属性がある場合:

トランスペアレント(ただし、video要素, audio要素を除く)

src属性がない場合:

1個以上のsource要素に続き、トランスペアレント(ただし、video要素, audio要素を除く)

テキストノードのこと

フロー・コンテンツ

フロー・コンテンツ

フロー・コンテンツ

フロー・コンテンツ(章・節・項を表す対のヘッディング・コンテンツを必ず伴うこと)

<caption>-</caption>

<col />

<colgroup>-</colgroup>

<col />

<thead>-</thead>

<tr>-</tr>

<th>-</th>

<tfoot>-</tfoot>

<tr>-</tr>

<th>-</th>

<td>-</td>

<tbody>-</tbody>

<tr>-</tr>

<th>-</th>

<td>-</td>

<tr>-</tr>

<th>-</th>

<td>-</td>

<textarea>-</textarea>

<time>-</time>

<ul>-</ul>

<li>-</li>

<var>-</var>

<video>-</video>

<source />

<wbr />

テキスト

<article>-</article>

<aside>-</aside>

<nav>-</nav>

<section>-</section>

<h1-h6>-</h1-h6>

コンテンツ・モデル - W3G HTML5 References http://w3g.jp/html5/content_models

4 / 8 2010/08/15 11:54

Page 5: HTML5コンテンツ・モデル

フレージング・コンテンツ

1個以上のh1-h6要素

子孫要素にフレージング・コンテンツしか含んでいない場合に限る、コンテンツ・モデルは

フレージング・コンテンツ(ただし、インタラクティブ・コンテンツに該当する要素を除く)

フレージング・コンテンツ

src属性がある場合:

フレージング・コンテンツ(ただし、video要素, audio要素を除く)

src属性がない場合:

1個以上のsource要素

フレージング・コンテンツ

フレージング・コンテンツ

フレージング・コンテンツ(ただし、インタラクティブ・コンテンツにも該当する要素を除

く)

フレージング・コンテンツ

フレージング・コンテンツ

フレージング・コンテンツ

子孫要素にフレージング・コンテンツしか含んでいない場合に限る、コンテンツ・モデルは

フレージング・コンテンツ

最初に1つのsummary要素1.

summary要素の直後(兄弟要素関係)にフレージング・コンテンツ2.

フレージング・コンテンツ

フレージング・コンテンツ(ただし、dfn要素を除く)

フレージング・コンテンツ

フレージング・コンテンツ

テキストのみ

子孫要素にフレージング・コンテンツしか含んでいない場合に限る、コンテンツ・モデルは

フレージング・コンテンツ

フレージング・コンテンツ

フレージング・コンテンツ(ただし、label要素自身と、そのラベル内容と関係のない

button, keygen, input, meter, output, progress, select, textarea要素を除く)

子孫要素にフレージング・コンテンツしか含んでいない場合に限る、コンテンツ・モデルは

フレージング・コンテンツ

フレージング・コンテンツ

インラインMathMLの要素

<hgroup>-</hgroup>

<a>-</a>

<abbr>-</abbr>

<audio>-</audio>

<source />

<b>-</b>

<bdo>-</bdo>

<br />

<button>-</button>

<canvas>-</canvas>

<cite>-</cite>

<code>-</code>

<command />

<del>-</del>

<details>-</details>

<summary>-</summary>

<dfn>-</dfn>

<em>-</em>

<embed />

<i>-</i>

<iframe>-</iframe>

<img />

<input />

<ins>-</ins>

<kbd>-</kbd>

<keygen />

<label>-</label>

<map>-</map>

<area />

<mark>-</mark>

<math>-</math>

コンテンツ・モデル - W3G HTML5 References http://w3g.jp/html5/content_models

5 / 8 2010/08/15 11:54

Page 6: HTML5コンテンツ・モデル

フレージング・コンテンツ(ただし、meter要素を除く)

フレージング・コンテンツ(ただし、noscript要素を除く)

0個以上のparam要素に続き、フレージング・コンテンツ

フレージング・コンテンツ

フレージング・コンテンツ(ただし、progress要素を除く)

フレージング・コンテンツ

次のどちらかのセットを1個以上

フレージング・コンテンツ(主にテキスト)の後に、1個のrt要素を並べたセット

または、rp, rt, rp要素の順で並べたセット

フレージング・コンテンツ

フレージング・コンテンツ

フレージング・コンテンツ

src属性がある場合:

空、もしくは著作権情報やAPI 情報といったスクリプトの説明文

src属性がない場合:

JavaScriptのコード等(text/javascript以外を用いるのであれば、type属性は必須必須必須必須)

0個以上のoption要素, optgroup要素

テキストのみ

label属性必須、0個以上のoption要素

テキストのみ

フレージング・コンテンツ

フレージング・コンテンツ

フレージング・コンテンツ

CSSのコード等(scoped属性必須、text/css以外を用いるのであればtype属性は必須必須必須必須)

フレージング・コンテンツ

フレージング・コンテンツ

インラインSVGの要素

テキストのみ

フレージング・コンテンツ(ただし、time要素を除く)

フレージング・コンテンツ

src属性がある場合:

フレージング・コンテンツ(ただし、video要素, audio要素を除く)

src属性がない場合:

1個以上のsource要素に続き、フレージング・コンテンツ(ただし、video要素, audio要素

を除く)

テキストノードのこと

src属性がある場合:

トランスペアレント(ただし、video要素, audio要素を除く)

<meter>-</meter>

<noscript>-</noscript>

<object>-</object>

<param />

<output>-</output>

<progress>-</progress>

<q>-</q>

<ruby>-</ruby>

<rp>-</rp>

<rt>-</rt>

<samp>-</samp>

<script>-</script>

<select>-</select>

<option>-</option>

<optgroup>-</optgroup>

<option>-</option>

<small>-</small>

<span>-</span>

<strong>-</strong>

<style>-</style>

<sub>-</sub>

<sup>-</sup>

<svg>-</svg>

<textarea>-</textarea>

<time>-</time>

<var>-</var>

<video>-</video>

<source />

<wbr />

テキスト

<audio>-</audio>

コンテンツ・モデル - W3G HTML5 References http://w3g.jp/html5/content_models

6 / 8 2010/08/15 11:54

Page 7: HTML5コンテンツ・モデル

src属性がない場合:

1個以上のsource要素

トランスペアレント

テキストのみ

インラインMathMLの要素

0個以上のparam要素に続き、トランスペアレント(ただし、フロー・コンテンツが入る場合

は、最初にparam要素、その後にフロー・コンテンツが続く)

インラインSVGの要素

src属性がある場合:

トランスペアレント(ただし、video要素, audio要素を除く)

src属性がない場合:

1個以上のsource要素に続き、トランスペアレント(ただし、video要素, audio要素を除く)

トランスペアレント(ただし、インタラクティブ・コンテンツに該当する要素を除く)

controls属性が指定された場合に限る、コンテンツ・モデルは

src属性がある場合:

トランスペアレント(ただし、video要素, audio要素を除く)

src属性がない場合:

1個以上のsource要素

フレージング・コンテンツ(ただし、 インタラクティブ・コンテンツにも該当する要素を除

く)

最初に1つのsummary要素1.

summary要素の直後(兄弟要素関係)にフロー・コンテンツ2.

フレージング・コンテンツ

テキストのみ

usemap属性が指定された場合に限る、コンテンツ・モデルは空

type属性が"hidden"でない場合に限る、コンテンツ・モデルは空

フレージング・コンテンツ(ただし、label要素自身と、そのラベル内容と関係のない

button, keygen, input, meter, output, progress, select, textarea要素を除く)

usemap属性が指定された場合に限る、コンテンツ・モデルは

0個以上のparam要素に続き、トランスペアレント(ただし、フロー・コンテンツが入る場合

は、最初にparam要素、その後にフロー・コンテンツが続く)

type属性が"toolbar"でない場合に限る、

コンテンツ・モデルは0個以上のli要素、またはフロー・コンテンツ

<source />

<canvas>-</canvas>

<embed />

<iframe>-</iframe>

<img />

<math>-</math>

<object>-</object>

<param />

<svg>-</svg>

<video>-</video>

<source />

<a>-</a>

<audio>-</audio>

<source />

<button>-</button>

<details>-</details>

<summary>-</summary>

<embed />

<iframe>-</iframe>

<img />

<input />

<keygen />

<label>-</label>

<object>-</object>

<param />

<menu />

コンテンツ・モデル - W3G HTML5 References http://w3g.jp/html5/content_models

7 / 8 2010/08/15 11:54

Page 8: HTML5コンテンツ・モデル

</body>(省略可)

</html>(省略可)

上田 遼(Ryo Ueda) [email protected]

2010年8月13日

2010年8月13日

HTML5

0個以上のoption要素, optgroup要素

テキストのみ

label属性必須、0個以上のoption要素

テキストのみ

テキストのみ

controls属性が指定された場合に限る、コンテンツ・モデルは

src属性がある場合:

トランスペアレント(ただし、video要素, audio要素を除く)

src属性がない場合:

1個以上のsource要素に続き、トランスペアレント(ただし、video要素, audio要素を除く)

一部の要素にはトランスペアレントというコンテンツ・モデルが定義されています。トランスペアレント

は、コンテンツ・モデルとして透過という意味であり、親要素のコンテンツ・モデルを継承します。親要

素がフロー・コンテンツで、フロー・コンテンツを含むことができるコンテンツ・モデルであれば、同じ

ようにフロー・コンテンツを含むことができます。親要素がフレージング・コンテンツしか含めない場合

は、同じようにフレージング・コンテンツしか含むことができません。

終了タグをもたない空要素については便宜上わかりやすいように 、最後の区切り子の手前に半角スペース

を空けてから続けてスラッシュ(/)を付け足していますが、HTML5のHTMLシリアライゼーションにおいては

あってもなくてもどちらでも良いです。XHTMLシリアライゼーションでは必須です。

W3GWorld Wide Web Guide

HTML HTML5 コンテンツ・モデル

<select>-</select>

<option>-</option>

<optgroup>-</optgroup>

<option>-</option>

<textarea>-</textarea>

<video>-</video>

<source />

コンテンツ・モデル - W3G HTML5 References http://w3g.jp/html5/content_models

8 / 8 2010/08/15 11:54