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
属性の両方を同じ値で設定することが認められている