文書型定義について

個別の違いを調べてみることにした。異なる部分だけ太字赤字で強調。まずは宣言文。

HTML4.01 Strict <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
HTML4.01 Transitional <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitonal//EN"
HTML4.01 Frameset <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
XHTML1.0 Strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
XHTML1.0 Transitional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
XHTML1.0 Frameset <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
XHTML1.1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

次に参照URL部分

HTML4.01 Strict "http://www.w3.org/TR/html4/strict.dtd">
HTML4.01 Transitional "http://www.w3.org/TR/html4/loose.dtd">
HTML4.01 Frameset "http://www.w3.org/TR/html4/frameset.dtd">
XHTML1.0 Strict "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML1.0 Transitional "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML1.0 Frameset "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML1.1 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

まとめ

違いが発生するのはHTML,XHTMLの型の入る部分からで、前半はどれも共通。HTML4.01とXHTML1.1ではStrictは無指定。移行段階を担っているXHTML1.0はstrict,transitional,framesetの3種類をしっかり指定。
URLでは、HTML4.01ではTRの後にすぐHTMLの型式番号.dtdが入るが、XHTMLでは一旦型式番号とDTD指定が入った上で、再度型番号.dtdとの記述になる。

蛇足

HTML5ではこの型宣言が消滅してシンプルな形式になる。
<!DOCTYPE html>
これだけ。
HTML5からは、SGMLの縛りから開放されたためにこのようなシンプルな記述が可能になったとのこと。(SGML文書では文書型宣言が必須だった。)
SGMLを基盤とするISO-HTMLの規格も、何らかの変更を余儀なくされるかもしれません。
参考:HTML5 における HTML4 からの変更点