<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="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML2</anchor>〜<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML4</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML応用</anchor>であると主張していました。また、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML1</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML2</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML5</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>です。そのため、<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>文書型宣言</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">document type declaration</rt></rubyb></dfn>によって <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor>
を指定することができます。また、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML5</anchor> では歴史的理由から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>の先頭に
<dfn><code class="HTML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOCTYPE</anchor></code></dfn> を指定することになっています。</p><section><h1>HTML 4 の場合</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML文書</anchor>は、その HTML の版を表すために<dfn>文書型宣言</dfn>を最初に入れなければ<strong>なりません</strong>。
HTML 4 では3種類の DTD が定義されていますので、
そのうちのいずれかを参照する宣言が必要です。
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="HTML4:&quot;struct/global.html#version-info&quot;" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW">IW:HTML4:&quot;struct/global.html#version-info&quot;</anchor-external> 参照。</p><dl><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Strict</anchor> (厳格) DTD</dt><dd><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:">要素</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>を含みます。<pre>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;
        &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;</pre></dd></dl><dl><dt>Transitional (過渡的) DTD</dt><dd>Strict DTD に加え、
非推奨の要素・属性を含みます。<pre>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;
        &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;</pre></dd></dl><dl><dt>Frameset (枠集合) DTD</dt><dd>Transitional DTD に加え<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">枠</anchor>を含みます。<pre>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Frameset//EN&quot;
        &quot;http://www.w3.org/TR/html4/frameset.dtd&quot;&gt;</pre></dd></dl><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> なお、<ul><li>将来の版の HTML 4 の DTD に加えられた変更で従来の
HTML 4 文書が非妥当になることはありません。</li><li>従来の版の HTML 4 の DTD に適合するソフトウェアは将来の版の HTML 4 の認識出来ない機能を無視して構いません。</li></ul></p><p>このため、文書型宣言の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム識別子</anchor>の値は通常は
「最新版」を表す <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI参照</anchor> (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;88</anchor-internal> に示されているもの9
を使い、特定の版の HTML 4 DTD を特に指定したいときだけそれを使うこととできます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end>
aaa
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2007-12-13 11:11:38 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end>
Shiit is happened!(c)Forrest Gump
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Sector</anchor> [gaz@pisem.net])</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>HTML の文書型宣言の色々</h1><ul><li><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</anchor> (<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:">DOCTYPE</anchor>) の記述を収集せよ。</li><li><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> <code>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3 Organization//DTD W3 HTML 2.0//EN&quot;&gt;</code> (<em>Hypertext Markup language and SGML</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/MarkUp/1995-archive/Intro.html" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/MarkUp/1995-archive/Intro.html</anchor-external>)</li><li><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> <em>Mozilla の DOCTYPE 判別</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://jt.mozilla.gr.jp/docs/web-developer/quirks/doctypes.html" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://jt.mozilla.gr.jp/docs/web-developer/quirks/doctypes.html</anchor-external> 色々な文書型宣言 (不正なものも含む。) の例示あり</li><li><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> <em>W3C QA - List of valid DTDs you can use in your document.</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/QA/2002/04/valid-dtd-list.html" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/QA/2002/04/valid-dtd-list.html</anchor-external></li><li><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> <code>&lt;!DOCTYPE Mosaic-Communications-Bookmark-file-1&gt;</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MosaicNetscape</anchor> の bookmark</li><li><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> <em>SGML catalog for the W3C HTML Validation Service</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://validator.w3.org/sgml-lib/catalog" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://validator.w3.org/sgml-lib/catalog</anchor-external> 色んなのが載ってます。</li><li><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> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;37</anchor-internal> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> は <em>Index of /sgml-lib</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://validator.w3.org/sgml-lib/" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://validator.w3.org/sgml-lib/</anchor-external> にあります。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <code class="SGML">&lt;!DOCTYPE HTML PUBLIC &quot;-//connolly hal.com//DTD WWW HTML 1.8//EN&quot;&gt;</code> <em>HTML Design Notebook</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/People/Connolly/drafts/html-design.html" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/People/Connolly/drafts/html-design.html</anchor-external> で使われている。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <code class="HTML">&lt;!DOCTYPE HTML PUBLIC &quot;-//Mosaic Comm. Corp.//DTD HTML//EN&quot;&gt;</code> <em>Testing mcom additions to HTML</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/People/Connolly/html-test/mcom/test-mcom.html" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/People/Connolly/html-test/mcom/test-mcom.html</anchor-external> で使われている。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> <code class="HTML">&lt;!doctype html public &quot;html2.0&quot;&gt;</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IBM</anchor> の古い文書にある</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> <code class="HTML">&lt;!DOCTYPE HTML PUBLIC &quot;ISO 15445:2000//DTD HTML//EN&quot;&gt;</code> 『<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-HTML</anchor> 利用者の手引き』中に出てきたが・・・</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;71</anchor-internal> の出典は翻訳 JIS TR の。 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS-HTML</anchor> 参照。) しかし、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InternetArchive</anchor> に残っている最古の <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://web.archive.org/web/20000815232401/woodworm.cs.uml.edu/~rprice/15445/UG.html" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://web.archive.org/web/20000815232401/woodworm.cs.uml.edu/~rprice/15445/UG.html</anchor-external> も、既にちゃんと <code class="HTML">ISO/IEC</code> になってるんだよなあ。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> <code class="HTML">&lt;!DOCTYPE Pre-HTML PUBLIC &quot;-//ISO-HTML User's Guide//DTD Preparation of ISO-HTML//EN&quot;&gt;</code> 『<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-HTML</anchor> 利用者の手引き』9.1.1。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> <code class="HTML">&quot;-//Netscape//netscape extension//JA&quot;</code>: <em>Phrase/Typographic markup test</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://web.archive.org/web/20011110215859/www.dais.is.tohoku.ac.jp/~kabe/misc/fonts.html" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://web.archive.org/web/20011110215859/www.dais.is.tohoku.ac.jp/~kabe/misc/fonts.html</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> <code class="HTML">&lt;!doctype html public &quot;-//W3C//DTD HTML 5.0//EN&quot;&gt;</code>, <code class="HTML">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 5.0//EN&quot;&gt;</code>, <code class="HTML">&lt;!DOCTYPE HTML PUBLIC&quot;-//W3C//DTD HTML 5.0 Frameset//EN&quot; &quot;http://www.w3.org/TR/REC-html140/frameset.dtd&quot;&gt;</code>: <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="Strictスレ:&quot;1:423&quot;" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW">IW:Strictスレ:&quot;1:423&quot;</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> <code class="HTML">&lt;!DOCTYPE html SYSTEM &quot;http://www.w3.org/Style/HTML40-plus-blink.dtd&quot;&gt;</code>: <em>Web Style Sheets</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/Style/" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/Style/</anchor-external> で使われている。余程 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">blink</anchor> 要素が使いたかったらしい。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> <code class="HTML">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 3.2Final//EN&quot;</code> 壊れてる気がするが。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> <code class="HTML">&lt;!doctype html public &quot;-//W3C//DTD HTML 1996-01//EN&quot;&gt;</code>: <em>Extensible Markup Language (XML)</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/WD-xml-961114" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/WD-xml-961114</anchor-external> の文書型。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FPI</anchor> <code class="HTML">-//M3C//DTD XHTML Makoto Sawatari 1.6//EN</code>, <code class="HTML">-//M3C//DTD XHTML Mishio Amano 12.6//EN</code>, <code class="HTML">-//M3C//DTD XHTML Misuzu Kamio 7.23//EN</code>: 単なる冗句。 <em>Makoto Mishio Misuzu Cuties</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://m3c.misuzilla.org/" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://m3c.misuzilla.org/</anchor-external>
<form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></li></ul></section><section><h1>文書型宣言のない HTML 文書</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> 現在では、 HTML 文書 (あるいは <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">text/html</anchor></code> 実体)
には最初に文書型宣言を記述するべきであると考えられています。
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 文書の場合は、特定の <anchor>DTD</anchor> に適合することを主張する場合には文書型宣言を記述するべきです。</weak></p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form><section><h1>文書型宣言のない HTML 文書 (片) の解釈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;79</anchor-internal> はとりあえずおいておいて、文書型宣言のない HTML
(not XHTML) 文書が正しいのか考えてみます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSGML</anchor> では文書型宣言は必須ではありませんから、
これを採用している <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:">XML</anchor> では省略できます。
しかし HTML 4 では文書型宣言を必須と定義しています。 XML
はここでの話の対象外です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> では旧来の HTML 文書で文書型宣言のないものが不当かというと、
必ずしもそうではありません。確かに、単独の文書 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML文書実体</anchor>)
としては不当です。
しかし、実はそれは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">外部解析実体</anchor>だったとしたらどうでしょう。</p><p>つまり、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WWWブラウザ</anchor>は随時こんな感じの SGML 
文書実体を自動生成していると考えるのです。</p><pre>&lt;!SGML <var>その実装の SGML 宣言</var>&gt;
&lt;!DOCTYPE <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">html</anchor> SYSTEM &quot;<var>その実装の DTD</var>&quot; [
  &lt;!ENTITY real-document SYSTEM &quot;<var>当該文書の URI</var>&quot;&gt;
]&gt;
&amp;real-document;</pre><p>これなら、当該文書が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML文実体</anchor>として適当である限りは、
妥当な SGML 文書じゃないですかね?</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;83</anchor-internal> の例は不正だった。 (文書要素の外の部分に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体参照</anchor>は書けない。)
訂正して、<pre>&lt;!SGML <var>その実装の SGML 宣言</var>&gt;
&lt;!DOCTYPE <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pre-html</anchor> SYSTEM &quot;<var>その実装の DTD</var>&quot; [
  &lt;!ELEMENT pre-html o o (html)&gt;
  &lt;!ENTITY real-document SYSTEM &quot;<var>当該文書の URI</var>&quot;&gt;
]&gt;
&amp;real-document;</pre></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> もっとも、 Web SGML ができたからもうこんな hack
を考える必要はないですし、文書型宣言もない HTML
文書実現値は往々にして SGML 的に不正なことが他にあったりするんですが。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>仕様書の規定</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> HTML 4 仕様書は、次のように述べています。</p><blockquote><p>HTML 2.0 仕様書は、多くの HTML 2.0 
利用者エージェントは文書が文書型宣言で始まらないとき、
HTML 2.0 仕様書を参照していると仮定すると見ていました。
経験によればこれは愚かな仮定であり、現在の仕様書はこの動作を推奨していません。</p></blockquote><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor> <cite>B.1 Notes on invalid documents</cite>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="HTML4:&quot;appendix/notes.html#notes-invalid-docs&quot;" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW">IW:HTML4:&quot;appendix/notes.html#notes-invalid-docs&quot;</anchor-external></p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section></section><section><h1>仕様の拡張</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> HTML 4 は、仕様の拡張について、附属書 B (参考) で次のように述べています。</p><blockquote><p>相互運用性の理由から、著者は SGML の仕組みを使って HTML
を<q>拡張</q> (例: DTD の拡張, 実体定義の追加, その他) してはなりません。</p></blockquote><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor> <cite>B.1 Notes on invalid documents</cite>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="HTML4:&quot;appendix/notes.html#notes-invalid-docs&quot;" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW">IW:HTML4:&quot;appendix/notes.html#notes-invalid-docs&quot;</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> HTML 4 は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML応用</anchor>です。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8879</anchor> は SGML 応用が
SGML の仕組みの一部の使用を禁止することを認めていません。
ですから、この規定は (附属書 B (参考) の中にありますし)
強制力を持たないものであると解釈されています。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end>
<code class="SGML">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD Netscape 4.0//EN&quot;&gt;</code></p><p><anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.hss.osaka-u.ac.jp/new/index.shtml" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.hss.osaka-u.ac.jp/new/index.shtml</anchor-external>
(<code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">text/plain</anchor></code>(藁)) で使われてます。。。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2004-11-09 12:33:45 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end>
上記ページの管理者です。検索でこちらに来ました。確かに、operaで見るとテキストで表示されるのでおかしいなと思っていたので確認したところ、text/htmlでした。頭のところで定義しているとおり、このページはあまり更新していないのですが、書き換えられたのかもしれません。とにかくご指摘ありがとうございました。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2005-01-20 09:30:27 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[99]</anchor-end>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;90</anchor-internal>-93 よくわからないですけど依然として
<q xml:lang="en">DTD Netscape 4.0</q> なのがなんとも。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2007-07-04 12:17:03 +00:00</weak>)</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end>
<cite xml:lang="en">So, You Want An HTML Declaration, Huh?</cite> 
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Joe Burns</anchor> 著、2005年7月現在)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.htmlgoodies.com/tutorials/getting_started/article.php/3479361#intelliTxt" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.htmlgoodies.com/tutorials/getting_started/article.php/3479361#intelliTxt</anchor-external>
(同じシリーズの内容から90年代後半に書かれたものと推測)</p><p>かなり楽しいことが書かれています。<ul><li><q xml:lang="en" a0:resParameter="http://www.htmlgoodies.com/tutorials/getting_started/article.php/3479361#intelliTxt" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">It's called an &quot;HTML Declaration.&quot;</q>
(<q>これは <dfn>HTML 宣言</dfn>といいます。</q>):
そう呼んでるのはお前らだけだ。</li><li><q xml:lang="en" a0:resParameter="http://www.htmlgoodies.com/tutorials/getting_started/article.php/3479361#intelliTxt" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI"><strong>!DOCTYPE HTML PUBLIC</strong> proclaims this is an HTML document type that can be read by public browsers.</q>:
(<q>これは public なブラウザが読むことの出来る HTML 文書型だと言っています。</q>):
何の話だ?</li><li><q xml:lang="en" a0:resParameter="http://www.htmlgoodies.com/tutorials/getting_started/article.php/3479361#intelliTxt" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI"><strong>//DTD HTML 3.2</strong> stands for <strong>D</strong>ocument <strong>T</strong>ype <strong>D</strong>escription <strong>H</strong>yperText <strong>M</strong>arkUp <strong>L</strong>anguage (version) 3.2.</q>
(<q>文書型記述ハイパーテキスト・マーク付け言語 3.2 (版) を表します。</q>):
<q>文書型記述</q>って何よ?</li><li><q xml:lang="en" a0:resParameter="http://www.htmlgoodies.com/tutorials/getting_started/article.php/3479361#intelliTxt" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI"><strong>//EN</strong> means the document will be written in the English language.</q>
(<q><em>文書が</em>英語で書かれることを意味します。</q>):
よくある間違い。</li></ul></p><p>著者は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> について詳しく知りたければ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C</anchor>
の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webサイト</anchor>を頭が一杯になるまで読めと勧めていますが、
著者自身は読む前から頭が一杯で何も読まなかったのでしょうかね(藁</p><p>(<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="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML宣言</anchor>については別項も参照。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> [sage])</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end>
<cite>HTML5 IRC logs: w3c / #html-wg / 20070423</cite> (<code>2007-06-30 15:38:51 +09:00</code> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://krijnhoetmer.nl/irc-logs/html-wg/20070423#l-94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://krijnhoetmer.nl/irc-logs/html-wg/20070423#l-94</anchor-external></p><blockquote><p>[03:12] &lt;Hixie&gt; and about 50% had doctypes of any kind  </p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[100]</anchor-end>
<cite>HTML5 IRC logs: freenode / #whatwg / 20070704</cite> (<code>2007-07-04 21:13:36 +09:00</code> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://krijnhoetmer.nl/irc-logs/whatwg/20070704#l-230" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://krijnhoetmer.nl/irc-logs/whatwg/20070704#l-230</anchor-external>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2007-07-04 12:18:26 +00:00</weak>)</p></section></body></html>