<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1.0</anchor> の違いは、 XHTML 1.0 勧告に書いてありますが、
そこに載っていない細かな違いもあったりします。 XHTML 1.0 <abbr>FE<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">First Edition</title></abbr> 
と <abbr>SE<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Second Edition</title></abbr> 
でも違いがいくつかありまして、そのうちの多くは HTML 4
により近づけるためのものです。</p><p>XHTML 1.0 仕様書は旧来の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">具象構文</anchor>から <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> 
への移行に伴う大きな変更点をつらつらと述べていますが、
細かな変更点は (意図しているのか間違いなのかわからないものも含めて)
明記されていなかったりもします。ということで、 HTML 4 DTD
と XHTML 1.0 DTD の違いを調べてみました。 SE で HTML 4
式に復元している部分もある都合上、 FE から SE での変更点もあわせてまとめています。</p><p>(というわけで、この文章は、 HTML 4 から XHTML 1.0 
でおおまかにどう変わったのかを知りたい方のお役には立ちません。
その辺は W3C の仕様書がわかりやすく解説していますから、そちらをお読みください。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end>
以降の検証で使用する DTD は、次の場所から入手できます。
Transitional/Frameset や FE/SE
の別に触れずに XHTML 1.0 という場合は、両方の DTD 
で差がないことをあらわすとします。</p><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4.01</anchor> Transitional/Frameset DTD
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd</anchor-external></li><li>XHTML 1.0 (FE) Transitional DTD
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd</anchor-external></li><li>XHTML 1.0 (FE) Frameset DTD
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-frameset.dtd" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-frameset.dtd</anchor-external></li><li>XHTML 1.0 SE Transitional DTD
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-transitional.dtd" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-transitional.dtd</anchor-external></li><li>XHTML 1.0 SE Frameset DTD
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-frameset.dtd" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-frameset.dtd</anchor-external></li></ul><p>なお、ここでは、実際上問題となる変更だけを取り上げています。
さほど影響のない引数実体の増減や DTD 
中の宣言の順序など編集上の問題程度の変更は一々取り上げません。</p><section><h1>データ型</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> [%LanguageCode]
引数実体 <code class="SGML">LanguageCode</code> は <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NAME</anchor></code>
から <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NMTOKEN</anchor></code> になりました。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> に <code class="SGML">NAME</code> がないため。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> [%FrameTarget]
引数実体 <code class="SGML">FrameTarget</code> は <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATA</anchor></code>
から <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NMTOKEN</anchor></code> になりました。
(後述の通り、 <code class="HTMLa">name</code> 属性の型もあわせて変化しています。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> [%Number]
HTML 4 で属性の型が <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NUMBER</anchor></code> とされていたところは悉く
XHTML 1.0 では <code class="XML">%Number;</code> に置き換えられています。
XHTML 1.0 の引数実体 <code>Number</code> の実体値は <code class="XML">CDATA</code> です。
(<code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NMTOKEN</anchor></code> の方が元の宣言に近いと思うのですが...)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> [%UriList]
引数実体 <code class="SGML">UriList</code> が XHTML 1.0 で追加されました。
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">object</anchor></code> 要素の
<code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">archive</anchor></code> 属性の宣言が <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATA</anchor></code>
から <code class="XML">%UriList;</code> に変更されています。
(展開すれば結局 <code class="XML">CDATA</code> で変わりありませんが。)</p></section><section><h1>属性</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> [@xml:lang]
属性集合 <code>%i18n</code> に <code class="XML">xml:lang    %LanguageCode; #IMPLIED</code>
が加わりました。
(要素型 <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">html</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">head</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">title</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">meta</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">font</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">map</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isindex</anchor></code>,
属性集合 <code>%attrs</code> が影響を受けます。
属性集合 <code>%attrs</code> を通して要素型 <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">link</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">noscript</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">noframes</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">body</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">div</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">p</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">h1</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">h2</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">h3</anchor></code>, 
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">h4</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">h5</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">h6</anchor></code>, 
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ul</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ol</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">menu</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">dir</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">li</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">dl</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">dt</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">dd</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">address</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">hr</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pre</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">blockquote</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">center</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ins</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">del</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">a</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">span</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">em</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strong</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">dfn</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">code</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">samp</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">kbd</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">var</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cite</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">abbr</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">acronym</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">q</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">sub</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">sup</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tt</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">i</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">b</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">big</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">small</anchor>], <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">u</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">s</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strike</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">object</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">img</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">area</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">form</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">label</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">input</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">select</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">optgroup</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">option</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">textarea</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fieldset</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">legend</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">button</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">table</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">caption</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">colgroup</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">col</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">thead</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tbody</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tfoot</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tr</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">th</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">td</anchor></code> が影響を受けます。)</code></p><p>また、 <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">bdo</anchor></code> 要素型にも属性 
<code class="XML">xml:lang    %LanguageCode; #IMPLIED</code> が追加されています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> [@data*]
引数実体 <code class="SGML">HTML.Reserved</code> が <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">INCLUDE</anchor></code>
の時有効だった属性集合 <code>%reserved</code> がなくなりました。</p><p>つまり、 HTML 4 で予約とされていた
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE</anchor> 拡張の <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">data<var xmlns="http://www.w3.org/1999/xhtml">*</var></anchor></code> 系属性は XHTML 1.0
では使えません。
(要素型 <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">div</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">span</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">object</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">input</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">select</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">textarea</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">button</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">table</anchor></code> が影響を受けます。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> [table/@datapagesize]
<code class="HTMLe">table</code> 要素型で HTML 4 の時には予約されていた
<code class="HTMLa">datapagesize</code> 属性が XHTML 1.0 にはありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> [html/@xmlns]
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">html</anchor></code> 要素型に属性
<code class="XML">xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'</code>
が加わりました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> [html/@version]
<code class="HTMLe">html</code> 要素型の属性 <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">version</anchor></code>
は削除されました。
(<code class="XMLa">xmlns</code> があるのでお役御免ということでしょうか。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> [@id]
XHTML 1.0 SE で、
要素型 <code class="HTMLe">html</code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">head</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">title</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">base</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">meta</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">script</anchor></code>
に属性 <code class="XML">id          ID             #IMPLIED</code>
が追加されました。</p><p><code class="HTMLe">style</code> 要素については、仕様書に
<code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml-stylesheet</anchor></code> 処理指令から参照する例が載っています
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2002/REC-xhtml1-20020801/xhtml1-diff.html#C_14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/2002/REC-xhtml1-20020801/xhtml1-diff.html#C_14</anchor-external>。
(これに使うために <code class="HTMLe">style</code> に追加されて、
他の要素型にもついでに追加したのでしょう。)</p><p>仕様書初版訂正票 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/2000/01/REC-xhtml1-20000126-errata/" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/2000/01/REC-xhtml1-20000126-errata/</anchor-external> に 
<q>Changes include the <code class="HTMLa">id</code> attribute on all elements, which was missing in some elements.</q>
と言及がありました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> [@xml:space]
要素型 <code class="HTMLe">style</code>, <code class="HTMLe">script</code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pre</anchor></code>
に属性 <code class="XML">xml:space   (preserve)     #FIXED 'preserve'</code>
が追加されました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> [script/@event, script/@for]
HTML 4 の <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">script</anchor></code> 要素型で予約されていた属性
<code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">event</anchor></code> および <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">for</anchor></code>
は XHTML 1.0 にはありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> [meta/@name, meta/@http-equiv の型]
<code class="HTMLe">meta</code> 要素型の <code class="HTMLa">name</code> 属性および
<code class="HTMLa">http-equiv</code> 属性の型は、 HTML 4
では <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NAME</anchor></code> でしたが、 XHTML 1.0 では
<code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATA</anchor></code> です。
(<code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NMTOKEN</anchor></code> の方が HTML 4 に近いはず。
<code class="HTMLa">name</code> はともかく、 <code class="HTMLa">http-equiv</code>
で文字種を拡大する必要性は考えられませんが...)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> [a/@name, object/@name, iframe/@name, applet/@name, img/@name, form/@name, frame/@name, map/@name]
要素型 <code class="HTMLe">a</code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">object</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">iframe</anchor></code>, <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">applet</anchor></code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">img</anchor></code>, <code class="HTMLe">form</code>,
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">frame</anchor></code> の <code class="HTMLa">name</code>
属性の型は、 HTML 4 では <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATA</anchor></code> でしたが、
XHTML 1.0 では <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NMTOKEN</anchor></code> です。
(<code class="HTMLe">frame</code> 要素型は Frameset DTD にのみ存在。)</p><p><code class="HTMLe">map</code> 要素の <code class="HTMLa">name</code> 属性は
HTML 4 と XHTML 1.0 Transitional DTD では <code class="SGML">CDATA</code>
で、 XHTML 1.0 Strict DTD と Frameset DTD では <code class="XML">NMTOKEN</code> です。
(Transitional DTD の修正し忘れか。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> [bdo/@{%events}]
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">bdo</anchor></code> 要素型に属性集合 <code>%events</code>
が追加されています。
(属性 <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onclick</anchor></code>, <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ondblclick</anchor></code>,
<code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onmousedown</anchor></code>, <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onmouseup</anchor></code>,
<code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onmouseover</anchor></code>, <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onmousemove</anchor></code>,
<code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onmouseout</anchor></code>, <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onkeypress</anchor></code>,
<code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onkeydown</anchor></code>, <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onkeyup</anchor></code>
が追加されました。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> [img/@border]
<code class="HTMLe">img</code> 要素型の <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">border</anchor></code>
属性の型は HTML 4 と XHTML 1.0 Frameset では <code class="SGML">%<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Pixels</anchor>;</code>
ですが、 XHTML 1.0 Transitional では <code class="XML">%<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Length</anchor>;</code> です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> [map/@{%attrs}]
<code class="HTMLe">map</code> 要素型の属性のうち、 HTML 4 では属性集合
<code>%attrs</code> で宣言されていたものは XHTML 1.0
では展開されて属性集合 <code>%i18n</code> および <code>%events</code>
ならびに属性 <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">id</anchor></code>, <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">class</anchor></code>,
<code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">style</anchor></code>, <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">title</anchor></code>
で宣言しています。</p><p><code class="HTMLe">map</code> 要素型の <code class="HTMLa">id</code>
属性は必須になりました。 (これが展開の理由。
本当は XML では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性定義</anchor>の重複で最初のものが使われるのを利用すればこんなことしなくても済みますけどもね。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> [input/@ismap]
<code class="HTMLe">input</code> 要素の <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ismap</anchor></code>
属性が HTML 4 にはありますが、 XHTML 1.0
にはありません (漏れ?)。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <cite xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">XHTML2 Working Group Teleconference -- 16 Sep 2009</cite> (<time xmlns="http://www.w3.org/1999/xhtml">2009-09-16 23:43:23 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/2009/09/16-xhtml-minutes.html#item04" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/2009/09/16-xhtml-minutes.html#item04</anchor-external><ul xmlns="http://www.w3.org/1999/xhtml"><li>Steven: ... do you remember if this was deliberate?</li><li>Shane: I don't
... my gut feeling is that it's an omission</li></ul></comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> [(th | td)/(@width | @height)]
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">th</anchor></code> 要素型および <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">td</anchor></code> 要素型の
<code class="HTMLa">width</code> 属性および <code class="HTMLa">height</code> 属性の型は、
次の表のようになっています。</p><table><tbody><tr><td>DTD</td><td>Transitional</td><td>Frameset</td></tr><tr><td>HTML 4.01</td><td colspan="2"><code class="SGML">%Length;</code></td></tr><tr><td>XHTML 1.0 FE</td><td><code class="XML">%Pixels;</code></td><td><code class="XML">%Pixels;</code></td></tr><tr><td>XHTML 1.0 SE</td><td><code class="XML">%Length;</code></td><td><code class="XML">%Pixels;</code></td></tr></tbody></table><p>XHTML 1.0 SE で HTML 4.01 にあわせようとして、 Frameset DTD
を修正し忘れたのではないでしょうか。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> [@align=justify]
XHTML 1.0 の属性 <code>%TextAlign</code> (HTML 4 では <code>%align</code>)
の型が FE では <code class="XML">(left|center|right)</code> でしたが、
SE (と HTML 4) では <code class="XML">(left|center|right|justify)</code> です。
FE ではもれていたのを復活させただけでしょう。</p><p>この変更が影響する要素型は、 <code class="HTMLe">div</code>,
<code class="HTMLe">p</code>, <code class="HTMLe">h1</code>, <code class="HTMLe">h2</code>,
<code class="HTMLe">h3</code>, <code class="HTMLe">h4</code>, <code class="HTMLe">h5</code>, <code class="HTMLe">h6</code>
です。</p></section><section><h1>内容模型</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> [要素級]
要素級の変遷は次の通りです。</p><table><tbody><tr><td>要素型</td><td>HTML 4.01</td><td>XHTML 1.0 FE</td><td>XHTML 1.0 SE</td></tr><tr><td><code class="HTMLe">em</code></td><td><code>%phrase</code></td><td><code>%phrase</code></td><td><code>%phrase.basic</code></td></tr><tr><td><code class="HTMLe">strong</code></td><td><code>%phrase</code></td><td><code>%phrase</code></td><td><code>%phrase.basic</code></td></tr><tr><td><code class="HTMLe">dfn</code></td><td><code>%phrase</code></td><td><code>%phrase</code></td><td><code>%phrase.basic</code></td></tr><tr><td><code class="HTMLe">code</code></td><td><code>%phrase</code></td><td><code>%phrase</code></td><td><code>%phrase.basic</code></td></tr><tr><td><code class="HTMLe">samp</code></td><td><code>%phrase</code></td><td><code>%phrase</code></td><td><code>%phrase.basic</code></td></tr><tr><td><code class="HTMLe">kbd</code></td><td><code>%phrase</code></td><td><code>%phrase</code></td><td><code>%phrase.basic</code></td></tr><tr><td><code class="HTMLe">var</code></td><td><code>%phrase</code></td><td><code>%phrase</code></td><td><code>%phrase.basic</code></td></tr><tr><td><code class="HTMLe">cite</code></td><td><code>%phrase</code></td><td><code>%phrase</code></td><td><code>%phrase.basic</code></td></tr><tr><td><code class="HTMLe">abbr</code></td><td><code>%phrase</code></td><td><code>%phrase</code></td><td><code>%phrase.basic</code></td></tr><tr><td><code class="HTMLe">acronym</code></td><td><code>%phrase</code></td><td><code>%phrase</code></td><td><code>%phrase.basic</code></td></tr><tr><td><em><code class="HTMLe">q</code></em></td><td><code>%special</code></td><td><code>%phrase</code></td><td><code>%phrase.basic</code></td></tr><tr><td><em><code class="HTMLe">sub</code></em></td><td><code>%special</code></td><td><code>%phrase</code></td><td><code>%phrase.extra</code></td></tr><tr><td><em><code class="HTMLe">sup</code></em></td><td><code>%special</code></td><td><code>%phrase</code></td><td><code>%phrase.extra</code></td></tr><tr><td><code class="HTMLe">tt</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle.basic</code></td></tr><tr><td><code class="HTMLe">i</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle.basic</code></td></tr><tr><td><code class="HTMLe">b</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle.basic</code></td></tr><tr><td><code class="HTMLe">u</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle.basic</code></td></tr><tr><td><code class="HTMLe">s</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle.basic</code></td></tr><tr><td><code class="HTMLe">strike</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle.basic</code></td></tr><tr><td><code class="HTMLe">big</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle.extra</code></td></tr><tr><td><code class="HTMLe">small</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle.extra</code></td></tr><tr><td><em><code class="HTMLe">font</code></em></td><td><code>%special</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle.extra</code></td></tr><tr><td><em><code class="HTMLe">basefont</code></em></td><td><code>%special</code></td><td><code>%fontstyle</code></td><td><code>%fontstyle.extra</code></td></tr><tr><td><code class="HTMLe">span</code></td><td><code>%special</code></td><td><code>%special</code></td><td><code>%special.basic</code></td></tr><tr><td><code class="HTMLe">bdo</code></td><td><code>%special</code></td><td><code>%special</code></td><td><code>%special.basic</code></td></tr><tr><td><code class="HTMLe">br</code></td><td><code>%special</code></td><td><code>%special</code></td><td><code>%special.basic</code></td></tr><tr><td><code class="HTMLe">object</code></td><td><code>%special</code></td><td><code>%special</code></td><td><code>%special.extra</code></td></tr><tr><td><code class="HTMLe">applet</code></td><td><code>%special</code></td><td><code>%special</code></td><td><code>%special.extra</code></td></tr><tr><td><code class="HTMLe">img</code></td><td><code>%special</code></td><td><code>%special</code></td><td><code>%special.extra</code></td></tr><tr><td><code class="HTMLe">map</code></td><td><code>%special</code></td><td><code>%special</code></td><td><code>%special.extra</code></td></tr><tr><td><code class="HTMLe">iframe</code></td><td><code>%special</code></td><td><code>%special</code></td><td><code>%special.extra</code></td></tr><tr><td><code class="HTMLe">input</code></td><td><code>%formctrl</code></td><td><code>%inline.forms</code></td><td><code>%inline.forms</code></td></tr><tr><td><code class="HTMLe">select</code></td><td><code>%formctrl</code></td><td><code>%inline.forms</code></td><td><code>%inline.forms</code></td></tr><tr><td><code class="HTMLe">textarea</code></td><td><code>%formctrl</code></td><td><code>%inline.forms</code></td><td><code>%inline.forms</code></td></tr><tr><td><code class="HTMLe">label</code></td><td><code>%formctrl</code></td><td><code>%inline.forms</code></td><td><code>%inline.forms</code></td></tr><tr><td><code class="HTMLe">button</code></td><td><code>%formctrl</code></td><td><code>%inline.forms</code></td><td><code>%inline.forms</code></td></tr><tr><td><em><code class="HTMLe">a</code></em></td><td><code>%special</code></td><td><code>%inline</code></td><td><code>%inline</code></td></tr><tr><td><code>%phrase</code></td><td><code>%inline</code></td><td><code>%inline</code></td><td><code>%inline</code></td></tr><tr><td><code>%phrase.basic</code></td><td>−</td><td>−</td><td><code>%phrase</code></td></tr><tr><td><code>%phrase.extra</code></td><td>−</td><td>−</td><td><code>%phrase</code></td></tr><tr><td><code>%fontstyle</code></td><td><code>%inline</code></td><td><code>%inline</code></td><td><code>%inline</code></td></tr><tr><td><code>%fontstyle.basic</code></td><td>−</td><td>−</td><td><code>%fontstyle</code></td></tr><tr><td><code>%fontstyle.extra</code></td><td>−</td><td>−</td><td><code>%fontstyle</code></td></tr><tr><td><code>%special</code></td><td><code>%inline</code></td><td><code>%inline</code></td><td><code>%inline</code></td></tr><tr><td><code>%special.basic</code></td><td>−</td><td>−</td><td><code>%special</code></td></tr><tr><td><code>%special.extra</code></td><td>−</td><td>−</td><td><code>%special</code></td></tr><tr><td><code>%formctrl</code></td><td><code>%inline</code></td><td>−</td><td>−</td></tr><tr><td><code>%inline.forms</code></td><td>−</td><td><code>%inline</code></td><td><code>%inline</code></td></tr><tr><td><code>%inline</code></td><td><code>%flow</code></td><td><code>%Inline</code>, <code>%Flow</code></td><td><code>%Inline</code>, <code>%Flow</code></td></tr><tr><td><code>%Inline</code></td><td>−</td><td></td><td></td></tr><tr><td><code class="SGML">#PCDATA</code></td><td><code>%inline</code></td><td><code>%Inline</code>, <code>%Flow</code></td><td><code>%Inline</code>, <code>%Flow</code></td></tr></tbody></table><table><tbody><tr><td>要素型</td><td>HTML 4.01</td><td>XHTML 1.0 FE</td><td>XHTML 1.0 SE</td></tr><tr><td><code class="HTMLe">p</code></td><td><code>%block</code></td><td><code>%block</code></td><td><code>%block</code></td></tr><tr><td><code class="HTMLe">div</code></td><td><code>%block</code></td><td><code>%block</code></td><td><code>%block</code></td></tr><tr><td><code class="HTMLe">fieldset</code></td><td><code>%block</code></td><td><code>%block</code></td><td><code>%block</code></td></tr><tr><td><code class="HTMLe">table</code></td><td><code>%block</code></td><td><code>%block</code></td><td><code>%block</code></td></tr><tr><td><code class="HTMLe">isindex</code></td><td><code>%block</code></td><td><code>%block</code></td><td><code>%block</code></td></tr><tr><td><em><code class="HTMLe">pre</code></em></td><td><code>%preformatted</code></td><td><code>%blocktext</code></td><td><code>%blocktext</code></td></tr><tr><td><code class="HTMLe">blockquote</code></td><td><code>%block</code></td><td><code>%blocktext</code></td><td><code>%blocktext</code></td></tr><tr><td><code class="HTMLe">address</code></td><td><code>%block</code></td><td><code>%blocktext</code></td><td><code>%blocktext</code></td></tr><tr><td><code class="HTMLe">center</code></td><td><code>%block</code></td><td><code>%blocktext</code></td><td><code>%blocktext</code></td></tr><tr><td><code class="HTMLe">noframes</code></td><td><code>%block</code></td><td><code>%blocktext</code><sup>注</sup></td><td><code>%blocktext</code><sup>注</sup></td></tr><tr><td><code class="HTMLe">hr</code></td><td><code>%block</code></td><td><code>%blocktext</code></td><td><code>%blocktext</code></td></tr><tr><td><code class="HTMLe">ul</code></td><td><code>%list</code></td><td><code>%lists</code></td><td><code>%lists</code></td></tr><tr><td><code class="HTMLe">ol</code></td><td><code>%list</code></td><td><code>%lists</code></td><td><code>%lists</code></td></tr><tr><td><code class="HTMLe">dir</code></td><td><code>%list</code></td><td><code>%lists</code></td><td><code>%lists</code></td></tr><tr><td><code class="HTMLe">menu</code></td><td><code>%list</code></td><td><code>%lists</code></td><td><code>%lists</code></td></tr><tr><td><em><code class="HTMLe">dl</code></em></td><td><code>%block</code></td><td><code>%lists</code></td><td><code>%lists</code></td></tr><tr><td><code class="HTMLe">h1</code></td><td><code>%heading</code></td><td><code>%heading</code></td><td><code>%heading</code></td></tr><tr><td><code class="HTMLe">h2</code></td><td><code>%heading</code></td><td><code>%heading</code></td><td><code>%heading</code></td></tr><tr><td><code class="HTMLe">h3</code></td><td><code>%heading</code></td><td><code>%heading</code></td><td><code>%heading</code></td></tr><tr><td><code class="HTMLe">h4</code></td><td><code>%heading</code></td><td><code>%heading</code></td><td><code>%heading</code></td></tr><tr><td><code class="HTMLe">h5</code></td><td><code>%heading</code></td><td><code>%heading</code></td><td><code>%heading</code></td></tr><tr><td><code class="HTMLe">h6</code></td><td><code>%heading</code></td><td><code>%heading</code></td><td><code>%heading</code></td></tr><tr><td><code class="HTMLe">form</code></td><td><code>%block</code></td><td><code>%Block</code>, <code>%Flow</code></td><td><code>%Block</code>, <code>%Flow</code></td></tr><tr><td><code>%heading</code></td><td><code>%block</code></td><td><code>%block</code></td><td><code>%block</code></td></tr><tr><td><code>%list</code></td><td><code>%block</code></td><td>−</td><td>−</td></tr><tr><td><code>%lists</code></td><td>−</td><td><code>%block</code></td><td><code>%block</code></td></tr><tr><td><code>%blocktext</code></td><td>−</td><td><code>%block</code></td><td><code>%block</code></td></tr><tr><td><code>%preformatted</code></td><td><code>%block</code></td><td>−</td><td>−</td></tr><tr><td><code>%block</code></td><td><code>%flow</code></td><td><code>%Block</code>, <code>%Flow</code></td><td><code>%Block</code>, <code>%Flow</code></td></tr><tr><td><code>%Block</code></td><td>−</td><td></td><td></td></tr></tbody></table><p>注: <code class="HTMLe">noframes</code> 要素型は XHTML 1.0 Frameset DTD
では <code>%blocktext</code> に含まれません。</p><table><tbody><tr><td>要素型</td><td>HTML 4.01</td><td>XHTML 1.0 FE</td><td>XHTML 1.0 SE</td></tr><tr><td><em><code class="HTMLe">ins</code></em></td><td><code class="HTMLe">body</code></td><td><code>%misc</code></td><td><code>%misc.inline</code></td></tr><tr><td><em><code class="HTMLe">del</code></em></td><td><code class="HTMLe">body</code></td><td><code>%misc</code></td><td><code>%misc.inline</code></td></tr><tr><td><em><code class="HTMLe">script</code></em></td><td><em><code>%special</code></em></td><td><code>%misc</code></td><td><code>%misc.inline</code></td></tr><tr><td><em><code class="HTMLe">noscript</code></em></td><td><code>%block</code></td><td><code>%misc</code></td><td><code>%misc</code></td></tr><tr><td><em><code>%misc</code></em></td><td>−</td><td><code>%Inline</code>, <code>%Block</code>, <code>%Flow</code></td><td><code>%Block</code>, <code>%Flow</code></td></tr><tr><td><code>%misc.inline</code></td><td>−</td><td>−</td><td><code>%misc</code>, <code>%Inline</code></td></tr><tr><td><code>%flow</code></td><td></td><td>−</td><td>−</td></tr><tr><td><code>%Flow</code></td><td>−</td><td></td><td></td></tr></tbody></table><p><code class="HTMLe">ins</code> と <code class="HTMLe">del</code> は、 HTML 4 DTD
では <code class="HTMLe">body</code> への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">添加要素</anchor>となっていましたが、
XML DTD ではこれは表現できないので、 XHTML 1.0 DTD では
<code>%misc</code> に入っています。
(HTML 4 DTD では <code class="HTMLe">ul</code> 
などで両要素型が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">除外要素</anchor>になっていない問題がありましたが、
XHTML 1.0 DTD では本来の意図通りになっています。)</p><p><code>%special</code> ⊂ <code>%inline</code> の要素であった <code class="HTMLe">script</code>
は <code>%misc.inline</code> ⊂ <code>%misc</code> ⊂ <code>%Inline</code>, <code>%Block</code> 
に移動していますが、 Transitional で影響が出るのは <code class="HTMLe">map</code>
だけです。 Strict では更に <code class="HTMLe">noscript</code> にも影響が及びます。
HTML 4 では <code class="HTMLe">script</code> が子供として認められませんでしたが、
XHTML 1.0 では認められます。</p><p><code class="HTMLe">noscript</code> 要素の属する <code>%misc</code> は XHTML 1.0 FE
では <code>%Inline</code> に含まれていましたが、 SE では含まれていません。
HTML 4 では <code class="HTMLe">noscript</code> はブロック水準要素でしたから、
SE の方が正しい処置です。
FE で誤って <code class="HTMLe">noscript</code> が認められていた要素型は次の通り:
<code class="HTMLe">a</code>, <code class="HTMLe">button</code>, <code class="HTMLe">p</code>,
<code class="HTMLe">h1</code>, <code class="HTMLe">h2</code>, <code class="HTMLe">h3</code>,
<code class="HTMLe">h4</code>, <code class="HTMLe">h5</code>, <code class="HTMLe">h6</code>,
<code class="HTMLe">dt</code>, <code class="HTMLe">span</code>, <code class="HTMLe">bdo</code>,
<code class="HTMLe">em</code>, <code class="HTMLe">strong</code>, <code class="HTMLe">dfn</code>,
<code class="HTMLe">code</code>, <code class="HTMLe">samp</code>, <code class="HTMLe">kbd</code>,
<code class="HTMLe">var</code>, <code class="HTMLe">cite</code>, <code class="HTMLe">abbr</code>,
<code class="HTMLe">acornym</code>, <code class="HTMLe">q</code>, <code class="HTMLe">sub</code>,
<code class="HTMLe">sup</code>, <code class="HTMLe">tt</code>, <code class="HTMLe">i</code>,
<code class="HTMLe">b</code>, <code class="HTMLe">u</code>, <code class="HTMLe">s</code>,
<code class="HTMLe">strike</code>, <code class="HTMLe">big</code>, <code class="HTMLe">small</code>,
<code class="HTMLe">font</code>, <code class="HTMLe">label</code>, <code class="HTMLe">legend</code>,
<code class="HTMLe">caption</code>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> [head]
<code class="HTMLe">head</code> 要素の内容模型は、 HTML 4 では
<code class="SGML">&lt;!ENTITY % head.content &quot;TITLE &amp; ISINDEX? &amp; BASE?&quot;&gt;</code>,
<code class="SGML">&lt;!ENTITY % head.misc &quot;SCRIPT|STYLE|META|LINK|OBJECT&quot; -- repeatable head elements --&gt;</code>
を踏まえて
<code class="SGML">(%head.content;) +(%head.misc;)</code> でした。</p><p>XHTML 1.0 では、 
<code class="XML">&lt;!ENTITY % head.misc &quot;(script|style|meta|link|object|isindex)*&quot;&gt;</code>
および
<code class="XML">(%head.misc;, ((title, %head.misc;, (base, %head.misc;)?) | (base, %head.misc;, (title, %head.misc;))))</code>
と定義されています。</p><p>SGML の <code class="SGML">&amp;</code> (<code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">and</anchor></code>) が XML
では使えないので複雑になっていますが、実際上の変化は、
<code class="HTMLe">isindex</code> の最大個数の変化です。
HTML 4 では高々1個だったのが、 XHTML 1.0 では任意個認められています。
(内容模型が必要以上に複雑になるより多少制限を緩めることにしたのでしょう。
実際 <code class="HTMLe">isindex</code> は <code class="HTMLe">body</code> 内に何個でも書けますから、
数を制限することに意味はないでしょうし。)</p><p>これを受けて <code class="HTMLe">title</code> 要素型の宣言が HTML 4
の <code class="SGML">(#PCDATA) -(%head.misc;)</code> から XHTML 1.0
の <code class="XML">(#PCDATA)</code> に変わっています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> [script, style]
<code class="HTMLe">script</code> 要素型と <code class="HTMLe">style</code> 要素型は、
HTML 4 では内容が <code>%StyleSheet</code> および <code>%Script</code>
として定義されていました。いずれも実体は <code class="SGML">CDATA</code>
です。</p><p>XML では CDATA 内容が使えないので、いずれも
<code class="XML">(#PCDATA)</code> に改められています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> [table]
<code class="HTMLe">table</code> 要素型の内容模型が
<code class="SGML">(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)</code>
から <code class="XML">(caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))</code>
に変わりました。つまり、 <code class="HTMLe">table</code> 直下に
<code class="HTMLe">tbody</code> なしで <code class="HTMLe">tr</code> を置けるようになりました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> [noframes]
Frameset DTD では、 <code class="HTMLe">noframes</code> 要素型の内容は
<code class="SGML">(BODY) -(NOFRAMES)</code> と宣言されていましたが、
<code class="XML">%Flow;</code> に変わりました。つまり、 XHTML 1.0 Frameset DTD
を使うときは、 <code class="HTMLe">noframes</code> 要素に <code class="HTMLe">body</code>
タグを書くことはできません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> [address]
<code class="HTMLe">address</code> 要素の内容は、
HTML 4 では <code class="SGML">((%inline;)|P)*</code> でしたが、
XHTML 1.0 FE で <code class="XML">%Inline;</code> (Strict DTD と同じ)
になりました。しかし、 XHTML 1.0 SE で
<code class="XML">(#PCDATA | %inline; | %misc.inline; | p)*</code> に修正されました。
(HTML 4 と同じでないのは XML DTD の表現能力のため。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> [dir, menu]
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">dir</anchor></code> 要素と <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">menu</anchor></code>
要素の子の [CODE(HTMLe[li]] 要素の子孫に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ブロック水準要素</anchor>を入れることは
HTML 4 DTD では禁止されていましたが、 XML DTD では表現できないので、
XHTML 1.0 DTD では禁止されていません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> [label]
<code class="HTMLe">label</code> 要素型の内容は、 HTML 4 DTD では
<code class="SGML">(%inline;)* -(LABEL)</code> でした。 XML DTD
では除外要素指定ができないので、 XHTML 1.0 DTD
では <code class="XML">%Inline;</code> と宣言されています。
直前の注釈宣言に <q>Label elements shouldn't be nested.</q>
と書かれています。禁止から <q>shouldn't</q> に格下げ (格上げ?) になったようです。</p><p>XHTML 1.0 は仕様書の附属書 B で子孫要素として 
<code class="HTMLe">label</code> 要素が出現することを禁じられています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> [frameset]
Frameset DTD の <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">frameset</anchor></code> 要素型は、 HTML 4 DTD
では <code class="SGML">((FRAMESET|FRAME)+ &amp; NOFRAMES?)</code> と宣言されていました。
XHTML 1.0 DTD では <code class="XML">(frameset|frame|noframes)*</code> です。</p><p>つまり、 HTML 4 では <code class="HTMLe">frameset</code> または
<code class="HTMLe">frame</code> が最低1つ必要でしたが、 XHTML 1.0 DTD
ではそうではありません。 <code class="HTMLe">noframes</code> は高々1個でしたが、
XHTML 1.0 DTD では任意個認められます。しかも、 HTML 4
では <code class="HTMLe">frameset</code> の最初か最後だったのか、
XHTML 1.0 DTD では他の要素の間にも置けることになります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> [a] 
<code class="HTMLe">a</code> 要素型の内容は、 <code class="SGML">(%inline;)* -(A)</code>
から <code class="XML">%a.content;</code> に変わりました。
<code>%a.content</code> は、 FE では
<code class="XML">(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*</code>、
SE では
<code class="XML">(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*&quot;</code>
です。
実際の変化は、 FE で誤って認められていた <code class="HTMLe">noscript</code>
が SE で認められなくなっただけです。
XHTML 1.0 SE DTD の定義は、孫以下の要素が <code class="HTMLe">a</code>
になることを禁止していないほかは HTML 4 と同じ定義になります。</p><p>XHTML 1.0 では子孫要素として <code class="HTMLe">a</code> 要素が出現することは仕様書の附属書
B で禁じられています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> [pre]
<code class="HTMLe">pre</code> 要素型の内容は、 HTML 4 では
<code class="SGML">(%inline;)* -(%pre.exclusion;)</code> + 
<code class="SGML">&lt;!ENTITY % pre.exclusion &quot;IMG|OBJECT|APPLET|BIG|SMALL|SUB|SUP|FONT|BASEFONT&quot;&gt;</code>
と定義されていました。 XHTML 1.0 では <code class="XML">%pre.content;</code> でして、
FE では
<code class="XML">(#PCDATA | a | br | span | bdo | map | tt | i | b | u | s | %phrase; | %inline.forms;)*</code>、
SE では 
<code class="XML">(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; | %inline.forms; | %misc.inline;)*</code>、
です。</p><p><code class="HTMLe">pre</code> 要素の子要素に対する影響は次の通りです。<table><tbody><tr><td>要素型</td><td>HTML 4.01 Strict / Transitional / Frameset</td><td>XHTML 1.0 FE Strict / Transitional / Frameset</td><td>XHTML 1.0 SE Transitional / Frameset</td><td>XHTML 1.0 SE Strict</td></tr><tr><td><code>%phrase.extra</code> (<code class="HTMLe">sub</code>, <code class="HTMLe">sup</code>)</td><td>×</td><td>○</td><td>×</td><td>○</td></tr><tr><td><code class="HTMLe">strike</code></td><td>○</td><td>×</td><td>○</td><td>○</td></tr><tr><td>その他 <code>%fontstyle.basic</code> (<code class="HTMLe">tt</code>, <code class="HTMLe">i</code>, <code class="HTMLe">b</code>, <code class="HTMLe">u</code>, <code class="HTMLe">s</code>)</td><td>○</td><td>○</td><td>○</td><td>○</td></tr><tr><td><code>%fontstyle.extra</code> (<code class="HTMLe">big</code>, <code class="HTMLe">small</code>, <code class="HTMLe">font</code>, <code class="HTMLe">basefont</code>)</td><td>×</td><td>×</td><td>×</td><td>○</td></tr><tr><td><code class="HTMLe">map</code></td><td>○</td><td>○</td><td>×</td><td>○</td></tr><tr><td><code class="HTMLe">iframe</code></td><td>○</td><td>×</td><td>×</td><td>−</td></tr><tr><td>その他 <code>%special.extra</code> (<code class="HTMLe">object</code>, <code class="HTMLe">applet</code>, <code class="HTMLe">img</code>)</td><td>×</td><td>×</td><td>×</td><td>×</td></tr><tr><td><code>%misc.inline</code> (<code class="HTMLe">ins</code>, <code class="HTMLe">del</code>, <code class="HTMLe">script</code>)</td><td>○</td><td>×</td><td>○</td><td>○</td></tr><tr><td>その他 <code>%inline</code></td><td>○</td><td>○</td><td>○</td><td>○</td></tr><tr><td>その他</td><td>×</td><td>×</td><td>×</td><td>×</td></tr></tbody></table></p><p>注: ○がついていても、 Strict DTD ではもともと使えない要素型もあります。</p><p>SE の変更のほとんどは FE の虫取りのようです。 <code class="HTMLe">map</code>
と <code class="HTMLe">iframe</code> は HTML 4 の虫取りでしょう。</p><p>XHTML 1.0 では仕様書の附属書 B で子孫要素として <code class="HTMLe">img</code>,
<code class="HTMLe">object</code>, <code class="HTMLe">big</code>, <code class="HTMLe">small</code>,
<code class="HTMLe">sub</code>, <code class="HTMLe">sup</code> 要素が出現することを禁じられています。
附属書 B と DTD のどちらも normative ですので、矛盾があるのは困りものです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> [form]
<code class="HTMLe">form</code> 要素は、 HTML 4 では <code class="SGML">(%flow;)* -(FORM)</code> でした。
XHTML 1.0 では <code class="XML">%form.content;</code> で、 <q>forms shouldn't be nested</q>
と注釈されています。</p><p>FE でも SE でも、
<code class="XML">&lt;!ENTITY % form.content &quot;(#PCDATA | %block; | %inline; | %misc;)*&quot;&gt;</code>
です。子孫 <code class="HTMLe">form</code> 以外は HTML 4 と同じです。</p><p>XHTML 1.0 は仕様書の附属書 B で子孫要素として 
<code class="HTMLe">form</code> 要素が出現することを禁じられています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> [button]
<code class="HTMLe">button</code> 要素は、 HTML 4 では
<code class="SGML">(%flow;)* -(A|%formctrl;|FORM|ISINDEX|FIELDSET|IFRAME)</code>、
XHTML 1.0 では <code class="XML">%button.content;</code> です。</p><pre class="XML">&lt;!ENTITY % button.content
   &quot;(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
      table | br | span | bdo | object | applet | img | map |
      %fontstyle; | %phrase; | %misc;)*&quot;&gt;</pre><p>ですから、子要素の制約としては HTML 4 と XHTML 1.0 は同じです。</p><p>XHTML 1.0 は仕様書の附属書 B で子孫要素として 
<code>%inline.formctrl</code>, <code class="HTMLe">fieldset</code>, <code class="HTMLe">iframe</code>,
<code class="HTMLe">isindex</code> の要素が出現することを禁じられています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> [fieldset]
<code class="HTMLe">fieldset</code> 要素は、 HTML 4 では
<code class="SGML">(#PCDATA,LEGEND,(%flow;)*)</code> で、
<q>#PCDATA is to solve the mixed content problem, per specification only whitespace is allowed there!</q>
という注釈がありました。 XHTML 1.0 では
<code class="XML">(#PCDATA | legend | %block; | form | %inline; | %misc;)*</code>
で、 <q>if present should only be preceded by whitespace</q>
という注釈に、やはりトーンダウンしています。</p><p>XML DTD の制約で <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">legend</anchor></code> 
の位置と個数がまったく固定できなくなった他は両規格は同じです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> [map]
<code class="HTMLe">map</code> 要素は、 HTML 4 では
<code class="SGML">((%block;) | AREA)+</code>、 XHTML 1.0 では
<code class="SGML">((%block; | form | %misc;)+ | area+)</code> です。</p><p>XHTML 1.0 では <code class="HTMLe">area</code> とそれ以外の混在が認められなくなりました (なぜ?)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> [object, applet]
<code class="HTMLe">object</code> 要素と <code class="HTMLe">applet</code> 要素は
HTML 4 では <code class="SGML">(PARAM | %flow;)*</code>、 XHTML 1.0 では
<code class="XML">(#PCDATA | param | %block; | form | %inline; | %misc;)*</code>
です。</p><p>実際上の制約としてはどちらも同じです。</p></section><section><h1>Strict DTD</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> 本稿では Transitional DTD と Frameset DTD を扱ってきましたが、
簡単に Strict DTD にも触れておきましょう。 
Transitional DTD
の HTML 4.01 から XHTML 1.0 への変更点のうち Strict DTD と共通した部分のものは
Strict DTD にも反映されています。そのほか、
<code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">param</anchor></code> 要素型の <code class="HTMLa">name</code> 属性が必須でなくなっています。
(Transitional DTD も HTML 4 Strict DTD も必須にしているので、
間違いかもしれませんが、 FE でも SE でも Strict DTD だけでは必須でありません。)
HTML 4.01 には Strict でも存在する <code class="HTMLe">img</code> 要素の
<code class="HTMLa">name</code> 属性は、 XHTML 1.0 にはありません。
(わざわざ注釈が付いていますから、意図したものでしょう。)
<code class="HTMLe">form</code> 要素の <code class="HTMLa">name</code> 属性も、同じく HTML 4.01
にはあって XHTML 1.0 にありません。</p><p>Transitional DTD
の XHTML 1.0 FE から SE への変更点のうち Strict DTD と共通した部分のものは
Strict DTD にも反映されています。ただし、 <code>%phrase.extra</code>
などの要素型級の細分化は独自に行われています。
(この影響が出るのは <code class="HTMLe">pre</code> 要素だけで (というより
<code class="HTMLe">pre</code> 要素のための修正で)、それについては <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;30</anchor-internal>
で扱っています。)</p><p><code class="HTMLe">base</code> 要素の <code class="HTMLa">href</code>
属性は FE では省略可能でしたが、 (HTML 4 と) SE では必須です。
SE の大きな変更点はこれと <code class="HTMLa">id</code> 属性 (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal>)
です。簡単な変更ばかりなので、詳しくは <kbd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">diff</anchor></kbd> をとってみてください。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> [body 内容モデル] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML4</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">厳密DTD</anchor> では <code class="HTMLe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">body</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空</anchor>にすることができませんでしたが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1.0</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">厳密DTD</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空</anchor>にできます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><cite xml:lang="en">HTML 4 Document Type Definition</cite> (<time>1999-12-25 08:37:49 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/html4/sgml/dtd.html#block" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/html4/sgml/dtd.html#block</anchor-external></li><li><cite xml:lang="en">XHTML 1.0 - DTDs</cite> (<time>2002-08-02 03:37:56 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/xhtml1/dtds.html#dtdentry_xhtml1-strict.dtd_body" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/xhtml1/dtds.html#dtdentry_xhtml1-strict.dtd_body</anchor-external></li><li><cite xml:lang="en">XHTML2 Working Group Teleconference -- 16 Sep 2009</cite> (<time>2009-09-16 23:43:23 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/2009/09/16-xhtml-minutes.html#action01" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/2009/09/16-xhtml-minutes.html#action01</anchor-external><ul><li>Shane: We permit empty body deliberately
... but he's right
... HTML4 does not</li></ul></li></ul></comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> この種の違いは他にもあるかもです。。。</comment-p></section></body></html>