XHTML1.0 Transitional 内容モデル
Updated / Published
<?xml version="1.0" encoding="文字コード"?>XML はデフォルトの文字コードに Unicode の "UTF-8"、または "UTF-16" が設定されているが、それ以外の文字コードを用いる場合は、HTTPレスポンスヘッダにて文字コード情報を設定している場合を除き、必ず当該文書で使う文字コードをその冒頭に XML宣言で追加指定しなければならない。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">DOCTYPE宣言(文書型宣言)によってどんな文書型定義(DTD)に従った文書であるかを示す。XHTML1.0移行型(Transitional)DTD では 厳密型(Strict バリエーション)DTD の内容に加えて、W3C の仕様で「推奨しない」とされる要素や属性も使用することを意味する。
xmlns属性必須html要素にはhead要素に続いてbody要素が順に必ず1個ずつ含まれること
<head>head要素の子要素
<base />- 空要素
<isindex />head要素内に複数のisindex要素を入れるのは HTML互換の UA に好ましくないため1度だけ指定できる- 空要素
<link />- 空要素
<meta />content属性必須- 空要素
<object>-</object>- 他の内容よりも
param要素を先行させるべきparam要素- ブロックレベル要素
- インライン要素
- テキスト
<param />name属性必須- 空要素
<script>-</script>type属性必須- スクリプト(PCDATA)
<style>-</style>type属性必須- スタイルシート(PCDATA)
<title>-</title>head要素内に必ず1個だけ定義- テキストのみ(PCDATA)
</head><body>ブロックレベル要素
<address>-</address>- インライン要素
- テキスト
<blockquote>-</blockquote>- ブロックレベル要素
- インライン要素
- テキスト
<center>-</center>- ブロックレベル要素
- インライン要素
- テキスト
<dir>-</dir>- 1個以上の
li要素<li>-</li>- ブロックレベル要素
- インライン要素
- テキスト
<div>-</div>- ブロックレベル要素
- インライン要素
- テキスト
<dl>-</dl>- 1個以上の
dt要素,dd要素 <fieldset>-</fieldset>- 必ず最初に
legend要素。legend要素の前は空白類文字しか許されないlegend要素- ブロックレベル要素
- インライン要素
- テキスト
<legend>-</legend>- インライン要素
- テキスト
<form>-</form>action属性必須- ブロックレベル要素(
form要素の入れ子は禁止) script要素- インライン要素
- テキスト
- ブロックレベル要素(
<h1-h6>-</h1-h6>- インライン要素
- テキスト
<hr />- 空要素
<isindex />body要素内では何度でも指定できる- 空要素
<menu>-</menu>- 1個以上の
li要素<li>-</li>- ブロックレベル要素
- インライン要素
- テキスト
<noframes>-</noframes>- ブロックレベル要素
- インライン要素
- テキスト
<noscript>-</noscript>- ブロックレベル要素
- インライン要素
- テキスト
<ol>-</ol>- 1個以上の
li要素<li>-</li>- ブロックレベル要素
- インライン要素
- テキスト
<p>-</p>- インライン要素
- テキスト
<pre>-</pre>applet要素,basefont要素,big要素,font要素,img要素,object要素,small要素,sub要素,sup要素は除く- インライン要素
- テキスト
<table>-</table>caption要素が0個、または1個。- 0個以上の
col要素、または 0個以上のcolgroup要素。 thead要素が0個、または1個。tfoot要素が0個、または1個。- 1個以上の
tbody要素、または1個以上のtr要素。
<ul>-</ul>- 1個以上の
li要素<li>-</li>- ブロックレベル要素
- インライン要素
- テキスト
インライン要素
<a>-</a>- インライン要素(
a要素の入れ子は禁止) - テキスト
- インライン要素(
<abbr>-</abbr>- インライン要素
- テキスト
<acronym>-</acronym>- インライン要素
- テキスト
<applet>-</applet>- 他の内容よりも
param要素を先行させるべきparam要素- ブロックレベル要素
- インライン要素
- テキスト
<param />name属性必須- 空要素
<b>-</b>- インライン要素
- テキスト
<basefont>-</basefont>size属性必須- 空要素
<bdo>-</bdo>dir属性必須- インライン要素
- テキスト
<big>-</big>- インライン要素
- テキスト
<br />- 空要素
<button>-</button>a要素,button要素,fieldset要素,form要素,iframe要素,input要素,isindex要素,label要素,select要素,textarea要素を除く- ブロックレベル要素
- インライン要素
- テキスト
<cite>-</cite>- インライン要素
- テキスト
<code>-</code>- インライン要素
- テキスト
<del>-</del>- インライン要素の内容になっている場合、ブロックレベル要素を内容に含ませるのは不適切
- ブロックレベル要素
- インライン要素
- テキスト
<dfn>-</dfn>- インライン要素
- テキスト
<em>-</em>- インライン要素
- テキスト
<font>-</font>- インライン要素
- テキスト
<i>-</i>- インライン要素
- テキスト
<iframe>-</iframe>- ブロックレベル要素
- インライン要素
- テキスト
<img />src属性必須alt属性必須
<input />- 空要素
<ins>-</ins>- インライン要素の内容になっている場合、ブロックレベル要素を内容に含ませるのは不適切
- ブロックレベル要素
- インライン要素
- テキスト
<kbd>-</kbd>- インライン要素
- テキスト
<label>-</label>- インライン要素(
label要素の入れ子は禁止) - テキスト
- インライン要素(
<map>-</map>id属性必須area要素- ブロックレベル要素
<area>-</area>alt属性必須- 空要素
<object>-</object>- 他の内容よりも
param要素を先行させるべきparam要素- ブロックレベル要素
- インライン要素
- テキスト
<param />name属性必須- 空要素
<q>-</q>- インライン要素
- テキスト
<s>-</s>- インライン要素
- テキスト
<samp>-</samp>- インライン要素
- テキスト
<script>-</script>type属性必須- スクリプト(PCDATA)
<select>-</select>- 1個以上の
option要素,optgroup要素 <small>-</small>- インライン要素
- テキスト
<span>-</span>- インライン要素
- テキスト
<strike>-</strike>- インライン要素
- テキスト
<strong>-</strong>- インライン要素
- テキスト
<sub>-</sub>- インライン要素
- テキスト
<sup>-</sup>- インライン要素
- テキスト
<textarea>-</textarea>cols属性必須rows属性必須
<tt>-</tt>- インライン要素
- テキスト
<u>-</u>- インライン要素
- テキスト
<var>-</var>- インライン要素
- テキスト
</body></html>補足事項
- XHTML1.0 の DTD を識別する名前空間(ネームスペース)は
http://www.w3.org/1999/xhtmである - 言語情報は個別に指定がない限り子孫要素へと継承される
- 言語情報は、
xml:lang属性とlang属性の2つに同じ値の言語コードを指定する a要素,applet要素,form要素,iframe要素,img要素,map要素についてはname属性とid属性の両方を同じ値で設定することが認められている