Bugzilla – Bug 521
Make the legacy DOCTYPE string be compatible with more tools. Clarify some XML DOCTYPE comments.
Last modified: 2009-11-23 17:17:25 CET
Index: source =================================================================== --- source (revision 2724) +++ source (revision 2725) @@ -864,17 +864,6 @@ or <code>application/xhtml+xml</code> and must not be served as <code>text/html</code>. <a href="#refsRFC3023">[RFC3023]</a></p> - <p>Such XML documents may contain a <code>DOCTYPE</code> if desired, - but this is not required to conform to this specification.</p> - - <p class="note">According to the XML specification, XML processors - are not guaranteed to process the external DTD subset referenced in - the DOCTYPE. This means, for example, that using entity references - for characters in XHTML documents is unsafe (except for <code - title="">&lt;</code>, <code title="">&gt;</code>, <code - title="">&amp;</code>, <code title="">&quot;</code> and - <code title="">&apos;</code>).</p> - <p id="authors-using-html"><span title="HTML5">HTML documents</span>, if they are served over the wire (e.g. by HTTP) must be labeled with the <code>text/html</code> MIME type.</p> <!-- @@ -52814,27 +52803,29 @@ <p class="note">In other words, <code><!DOCTYPE HTML></code>, case-insensitively.</p> - <p>For the purposes of XSLT generators that cannot output HTML - markup without a DOCTYPE, a <dfn>DOCTYPE legacy string</dfn> may be - inserted into the DOCTYPE (in the position defined above). This - string must consist of:</p> + <p>For the purposes of HTML generators that cannot output HTML + markup with the short DOCTYPE "<code title=""><!DOCTYPE + HTML></code>", a <dfn>DOCTYPE legacy string</dfn> may be inserted + into the DOCTYPE (in the position defined above). This string must + consist of:</p> <ol class="brief"> <li>One or more <span title="space character">space characters</span>.</li> - <li>A string that is an <span>ASCII case-insensitive</span> match for the string "<code title="">PUBLIC</code>".</li> + <li>A string that is an <span>ASCII case-insensitive</span> match for the string "<code title="">SYSTEM</code>".</li> <li>One or more <span title="space character">space characters</span>.</li> <li>A U+0022 QUOTATION MARK or U+0027 APOSTROPHE character (the <i>quote mark</i>).</li> - <li>The literal string "<code title="">XSLT-compat</code>".</li> + <li>The literal string "<code title="">about:legacy-compat</code>".</li> <li>A matching U+0022 QUOTATION MARK or U+0027 APOSTROPHE character (i.e. the same character as in the earlier step marked <i>quote mark</i>).</li> </ol> - <p class="note">In other words, <code><!DOCTYPE HTML PUBLIC - "XSLT-compat"></code> or <code><!DOCTYPE HTML PUBLIC - 'XSLT-compat'></code>, case-insensitively except for the bit in - quotes.</p> + <p class="note">In other words, <code><!DOCTYPE HTML SYSTEM + "about:legacy-compat"></code> or <code><!DOCTYPE HTML PUBLIC + 'about:legacy-compat'></code>, case-insensitively except for the bit + in quotes.</p> <p>The <span>DOCTYPE legacy string</span> should not be used unless - the document is generated from XSLT.</p> + the document is generated from a system that cannot output the + shorter string.</p> @@ -56663,10 +56654,10 @@ <p>If the DOCTYPE token's <code title="">name</code> is not a <span>case-sensitive</span> match for the string "<code - title="">html</code>", or if the token's public identifier is - neither missing nor a <span>case-sensitive</span> match for the - string "<code>XSLT-compat</code>", or if the token's system - identifier is not missing, then there is a <span>parse + title="">html</code>", or if the token's public identifier is not + missing, or if the token's system identifier is neither missing + nor a <span>case-sensitive</span> match for the string + "<code>about:legacy-compat</code>", then there is a <span>parse error</span> (this is the <dfn>DOCTYPE parse error</dfn>). Conformance checkers may, instead of reporting this error, switch to a conformance checking mode for another language @@ -60744,6 +60735,20 @@ <p>This specification does not define any syntax-level requirements beyond those defined for XML proper.</p> + <p>XML documents may contain a <code>DOCTYPE</code> if desired, but + this is not required to conform to this specification. This + specification does not define a public or system identifier, nor + provide a format DTD.</p> + + <p class="note">According to the XML specification, XML processors + are not guaranteed to process the external DTD subset referenced in + the DOCTYPE. This means, for example, that using entity references + for characters in XHTML documents is unsafe if they are defined in + an external file (except for <code title="">&lt;</code>, <code + title="">&gt;</code>, <code title="">&amp;</code>, <code + title="">&quot;</code> and <code + title="">&apos;</code>).</p> + <h3>Parsing XHTML documents</h3>