- From: Eliot Graff via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 22 Apr 2010 14:07:14 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/html-xhtml-author-guide
In directory hutz:/tmp/cvs-serv26433
Modified Files:
html-xhtml-authoring-guide.html
Log Message:
Remove link to -rendered.html; using fully-rendered version. No other content changes.
Index: html-xhtml-authoring-guide.html
===================================================================
RCS file: /sources/public/html5/html-xhtml-author-guide/html-xhtml-authoring-guide.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- html-xhtml-authoring-guide.html 21 Apr 2010 22:52:33 -0000 1.3
+++ html-xhtml-authoring-guide.html 22 Apr 2010 14:07:12 -0000 1.4
@@ -1,145 +1,240 @@
-<!DOCTYPE html>
-<html>
- <head>
+<!DOCTYPE HTML>
+<html dir="ltr" lang="en"><head>
+
+
+
<title>HTML/XHTML Compatibility Authoring Guidelines</title>
- <meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!--
+
=== NOTA BENE ===
+
For the three scripts below, if your spec resides on dev.w3 you can check them
+
out in the same tree and use relative links so that they'll work offline,
+
-->
- <script src='http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js' class='remove'></script>
- <script class='remove'>
- var respecConfig = {
- // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
- specStatus: "ED",
-
- // the specification's short name, as in http://www.w3.org/TR/short-name/
- // TODO: Get URL from Michael Smith
- shortName: "xxx-xxx",
+
+
+ <link charset="utf-8" type="text/css" rel="stylesheet"
+href="html-xhtml-authoring-guide_files/respec.css"><link charset="utf-8"
+ type="text/css" rel="stylesheet"
+href="html-xhtml-authoring-guide_files/W3C-ED.css"></head><body
+style="display: inherit;"><div firebugversion="1.5.3" style="display:
+none;" id="_firebugConsole"></div><div class="head"><p><a
+href="http://www.w3.org/"><img
+src="html-xhtml-authoring-guide_files/w3c_home.png" alt="W3C" width="72"
+ height="48"></a></p><h1 class="title" id="title">HTML/XHTML
+Compatibility Authoring Guidelines</h1><h2
+id="w3c-editor-s-draft-21-april-2010"><acronym title="World Wide Web
+Consortium">W3C</acronym> Editor's Draft 21 April 2010</h2><dl><dt>This
+version:</dt><dd><a
+href="http://dev.w3.org/html5/html-xhtml-author-guide/html-xhtml-authoring-guide.html">http://dev.w3.org/html5/html-xhtml-author-guide/html-xhtml-authoring-guide.html</a></dd><dt>Latest
- // if you wish the publication date to be other than today, set this
- publishDate: "2010-04-21",
+ published version:</dt><dd><a href="http://www.w3.org/TR/xxx-xxx/">http://www.w3.org/TR/xxx-xxx/</a></dd><dt>Latest
- // TODO: Add previous pub date after 2nd publication.
- // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
- // and its maturity status
- // previousPublishDate: "1977-03-15",
- // previousMaturity: "WD",
+ editor's draft:</dt><dd><a
+href="http://dev.w3.org/html5/html-xhtml-author-guide/html-xhtml-authoring-guide.html">http://dev.w3.org/html5/html-xhtml-author-guide/html-xhtml-authoring-guide.html</a></dd><dt>Previous
- // if there a publicly available Editor's Draft, this is the link
- // TODO: Uncomment next line and add the link:
- edDraftURI: "http://dev.w3.org/html5/html-xhtml-author-guide/html-xhtml-authoring-guide.html",
+ version:</dt><dd>none</dd><dt>Editor:</dt><dd>Eliot Graff, Microsoft
+Corporation</dd></dl><p class="copyright"><a
+href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
+ © 2010 <a href="http://www.w3.org/"><acronym title="World Wide Web
+Consortium"><acronym title="World Wide Web Consortium">W3C</acronym></acronym></a><sup>®</sup>
+ (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts
+Institute of Technology"><acronym title="Massachusetts Institute of
+Technology">MIT</acronym></acronym></a>, <a href="http://www.ercim.eu/"><acronym
+ title="European Research Consortium for Informatics and Mathematics"><acronym
+ title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></acronym></a>,
+ <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. <acronym
+ title="World Wide Web Consortium">W3C</acronym> <a
+href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
+ and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document
- // if this is a LCWD, uncomment and set the end of its review period
- // lcEnd: "2009-08-05",
+ use</a> rules apply.</p><hr></div>
+ <div class="introductory section" id="abstract"><h2>Abstract</h2>
+ <p>This document summarizes design guidelines for authors who wish
+ their XHTML or HTML documents to validate on either HTML or XML
+parsers, assuming the parsers to be HTML5-compliant.
+ Note that this recommendation does not define how HTML5-conforming
+ user agents should process HTML documents.
+ Nor does it define the meaning of the Internet Media Type
+text/html. For these definitions, see [<a href="#bib-HTML5"
+rel="biblioentry" class="bibref">HTML5</a>] and [<a href="#bib-RFC2854"
+rel="biblioentry" class="bibref">RFC2854</a>] respectively.
+ </p>
+ </div><div id="sotd" class="introductory section"><h2>Status of This
+ Document</h2><p><em>This section describes the status of this document
+at the time of its publication. Other documents may supersede this
+document. A list of current <acronym title="World Wide Web Consortium">W3C</acronym>
+ publications and the latest revision of this technical report can be
+found in the <a href="http://www.w3.org/TR/"><acronym title="World Wide
+Web Consortium">W3C</acronym> technical reports index</a> at
+http://www.w3.org/TR/.</em></p><p>This document was published by the <a
+href="http://www.w3.org/html/wg/"><acronym title="World Wide Web
+Consortium">W3C</acronym> HTML</a> as an Editor's Draft. If you wish to
+make comments regarding this document, please send them to <a
+href="mailto:public-html@w3.org">public-html@w3.org</a> (<a
+href="mailto:public-html-request@w3.org?subject=subscribe">subscribe</a>,
+ <a href="http://lists.w3.org/Archives/Public/public-html/">archives</a>).
- // if you want to have extra CSS, append them to this list
- // it is recommended that the respec.css stylesheet be kept
- extraCSS: ["http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css"],
+ All feedback is welcome.</p><p>Publication as a Editor's Draft does not
+ imply endorsement by the <acronym title="World Wide Web Consortium">W3C</acronym>
+ Membership. This is a draft document and may be updated, replaced or
+obsoleted by other documents at any time. It is inappropriate to cite
+this document as other than work in progress.</p><p>This document was
+produced by a group operating under the <a
+href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February
+2004 <acronym title="World Wide Web Consortium">W3C</acronym> Patent
+Policy</a>. <acronym title="World Wide Web Consortium">W3C</acronym>
+maintains a <a href="" rel="disclosure">public list of any patent
+disclosures</a> made in connection with the deliverables of the group;
+that page also includes instructions for disclosing a patent. An
+individual who has actual knowledge of a patent which the individual
+believes contains <a
+href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
- // editors, add as many as you like
- // only "name" is required
- editors: [
- { name: "Eliot Graff", company: "Microsoft Corporation", },
+ Claim(s)</a> must disclose the information in accordance with <a
+href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
- // Format for more editors
- // { name: "Your Name", url: "http://example.org/",
- // company: "Your Company", companyURL: "http://example.com/" },
- ],
+ 6 of the <acronym title="World Wide Web Consortium">W3C</acronym>
+Patent Policy</a>.</p></div><div class="section" id="toc"><h2
+class="introductory">Table of Contents</h2><ul class="toc"><li
+class="tocline"><a class="tocxref" href="#introduction"><span
+class="secno">1. </span>Introduction</a></li><li class="tocline"><a
+class="tocxref" href="#processing-instructions-and-the-xml-declaration"><span
+ class="secno">2. </span>Processing Instructions and the XML Declaration</a></li><li
+ class="tocline"><a class="tocxref" href="#the-doctype"><span
+class="secno">3. </span>The DOCTYPE</a></li><li class="tocline"><a
+class="tocxref" href="#namespaces"><span class="secno">4. </span>Namespaces</a></li><li
+ class="tocline"><a class="tocxref" href="#elements"><span class="secno">5.
- // authors, add as many as you like.
- // This is optional, uncomment if you have authors as well as editors.
- // only "name" is required. Same format as editors.
+ </span>Elements</a><ul class="toc"><li class="tocline"><a
+class="tocxref" href="#required-elements"><span class="secno">5.1 </span>Required
- //authors: [
- // { name: "Your Name", url: "http://example.org/",
- // company: "Your Company", companyURL: "http://example.com/" },
- //],
-
- // name of the WG
- wg: "W3C HTML",
-
- // URI of the public WG page
- wgURI: "http://www.w3.org/html/wg/",
-
- // name (with the @w3c.org) of the public mailing to which comments are due
- wgPublicList: "public-html",
-
- // URI of the patent status for this WG, for Rec-track documents
- // !!!! IMPORTANT !!!!
- // This is important for Rec-track documents, do not copy a patent URI from a random
- // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
- // Team Contact.
- wgPatentURI: "",
- };
- </script>
- </head>
- <body>
- <section id='abstract'>
- <p>This document summarizes design guidelines for authors who wish their XHTML or HTML documents to validate on either HTML or XML parsers, assuming the parsers to be HTML5-compliant.
- Note that this recommendation does not define how HTML5-conforming user agents should process HTML documents.
- Nor does it define the meaning of the Internet Media Type text/html. For these definitions, see [[!HTML5]] and [[!RFC2854]] respectively.
- </p>
- <p><strong>Note:</strong> If your browser does not render the fully-formatted version of this document with images and color fonts, please see <a href="http://dev.w3.org/html5/html-xhtml-author-guide/html-xhtml-authoring-guide-rendered.html">the version without scripts</a>.</p>
- </section>
+ Elements</a><ul class="toc"><li class="tocline"><a class="tocxref"
+href="#tables"><span class="secno">5.1.1 </span>Tables</a></li></ul></li><li
+ class="tocline"><a class="tocxref" href="#case-sensitivity"><span
+class="secno">5.2 </span>Case-Sensitivity</a><ul class="toc"><li
+class="tocline"><a class="tocxref" href="#element-names"><span
+class="secno">5.2.1 </span>Element Names</a></li><li class="tocline"><a
+class="tocxref" href="#attribute-names"><span class="secno">5.2.2 </span>Attribute
+
+ Names</a></li><li class="tocline"><a class="tocxref"
+href="#attribute-values"><span class="secno">5.2.3 </span>Attribute
+Values</a></li></ul></li><li class="tocline"><a class="tocxref"
+href="#empty-elements"><span class="secno">5.3 </span>Empty Elements</a></li></ul></li><li
+ class="tocline"><a class="tocxref" href="#attributes"><span
+class="secno">6. </span>Attributes</a></li><li class="tocline"><a
+class="tocxref" href="#named-entity-references"><span class="secno">7. </span>Named
+
+ Entity References</a></li><li class="tocline"><a class="tocxref"
+href="#script-and-style"><span class="secno">8. </span>Script and Style</a><ul
+ class="toc"><li class="tocline"><a class="tocxref"
+href="#external-script-and-style"><span class="secno">8.1 </span>External
+
+ Script and Style</a></li><li class="tocline"><a class="tocxref"
+href="#in-line-script-and-style"><span class="secno">8.2 </span>In-line
+Script and Style</a></li></ul></li><li class="tocline"><a
+class="tocxref"
+href="#exceptions-from-the-foreign-content-parsing-rules"><span
+class="secno">9. </span>Exceptions from the Foreign Content Parsing
+Rules</a></li><li class="tocline"><a class="tocxref"
+href="#acknowledgements"><span class="secno">A. </span>Acknowledgements</a></li><li
+ class="tocline"><a class="tocxref" href="#references"><span
+class="secno">B. </span>References</a><ul class="toc"><li
+class="tocline"><a class="tocxref" href="#normative-references"><span
+class="secno">B.1 </span>Normative references</a></li><li
+class="tocline"><a class="tocxref" href="#informative-references"><span
+class="secno">B.2 </span>Informative references</a></li></ul></li></ul></div>
- <section>
- <h2>Introduction</h2>
+ <div class="section" id="introduction">
+ <!--OddPage--><h2><span class="secno">1. </span>Introduction</h2>
<p>
- It is often valuable to be able to serve HTML5 documents that are also valid XML documents.
- An author may, for example, use XML tools to generate a document, and they and others may process the document using XML tools. These documents are served as text/html.
- The language used to create documents that can be parsed by both HTML and XML parsers is called <dfn>polyglot</dfn>.
- Polyglot is the overlap language of documents which are both HTML5 documents and XML documents.
+ It is often valuable to be able to serve HTML5 documents that
+are also valid XML documents.
+ An author may, for example, use XML tools to generate a
+document, and they and others may process the document using XML tools.
+These documents are served as text/html.
+ The language used to create documents that can be parsed by both HTML
+and XML parsers is called <dfn id="dfn-polyglot">polyglot</dfn>.
+ Polyglot is the overlap language of documents which are both HTML5
+documents and XML documents.
<!-- <ul>
+
TODO: in this section:
+
<li>Offer "top-tier" summary of general guidelines to conform to polyglot language.</li>
+
<li>Link to more detailed analysis below.</li>
+
</ul> -->
</p>
- </section>
+ </div>
- <section>
- <h2>Processing Instructions and the XML Declaration</h2>
+ <div class="section"
+id="processing-instructions-and-the-xml-declaration">
+ <!--OddPage--><h2><span class="secno">2. </span>Processing Instructions
+ and the XML Declaration</h2>
<p>
- You MUST NOT use processing instructions in a polyglot document. You SHOULD use the HTML <code>meta</code> tag to specify character and coding in the document.
- If a polyglot document uses an encoding other than UTF8 or UTF16, you SHOULD include the XML declaration; however, in this case you SHOULD also include the HTML <code>meta</code> tag specifying the character set.
- When you use both the XML declaration and the HTML <code>meta</code> tag, they MUST specify the same character and coding.
+ You <em title="must not" class="rfc2119">must not</em> use processing
+ instructions in a polyglot document. You <em title="should"
+class="rfc2119">should</em> use the HTML <code>meta</code> tag to
+specify character and coding in the document.
+ If a polyglot document uses an encoding other than UTF8 or UTF16, you
+ <em title="should" class="rfc2119">should</em> include the XML
+declaration; however, in this case you <em title="should"
+class="rfc2119">should</em> also include the HTML <code>meta</code> tag
+specifying the character set.
+ When you use both the XML declaration and the HTML <code>meta</code>
+tag, they <em title="must" class="rfc2119">must</em> specify the same
+character and coding.
</p>
- </section>
+ </div>
- <section>
- <h2>The DOCTYPE</h2>
+ <div class="section" id="the-doctype">
+ <!--OddPage--><h2><span class="secno">3. </span>The DOCTYPE</h2>
<p>
- For a polyglot document, you MUST use the <a href="http://dev.w3.org/html5/spec/syntax.html#the-doctype">HTML DOCTYPE</a>.
+ For a polyglot document, you <em title="must" class="rfc2119">must</em>
+ use the <a href="http://dev.w3.org/html5/spec/syntax.html#the-doctype">HTML
+
+ DOCTYPE</a>.
</p>
- </section>
+ </div>
- <section>
- <h2>Namespaces</h2>
+ <div class="section" id="namespaces">
+ <!--OddPage--><h2><span class="secno">4. </span>Namespaces</h2>
<p>
- The following guidelines apply to namespaces used in polyglot documents.
+ The following guidelines apply to namespaces used in polyglot
+documents.
</p>
<ul>
<li>
- The <code><html></code> element MUST have the namespace declaration <code>xmlns="http://www.w3.org/1999/xhtml"</code>.
+ The <code><html></code> element <em title="must"
+class="rfc2119">must</em> have the namespace declaration <code>xmlns="http://www.w3.org/1999/xhtml"</code>.
</li>
<li>
- All <code><math></code> elements MUST have the namespace declaration <code>xmlns="http://www.w3.org/1998/Math/MathML"</code>.
+ All <code><math></code> elements <em title="must"
+class="rfc2119">must</em> have the namespace declaration <code>xmlns="http://www.w3.org/1998/Math/MathML"</code>.
</li>
<li>
- All <code><svg></code> elements MUST have the namespace declaration <code>xmlns="http://www.w3.org/2000/svg"</code>.
+ All <code><svg></code> elements <em title="must"
+class="rfc2119">must</em> have the namespace declaration <code>xmlns="http://www.w3.org/2000/svg"</code>.
</li>
<li>
- The xlink prefix MUST be defined as <code>xmlns:xlink="http://www.w3.org/1999/xlink"</code> before using xlink:href. The prefix can be defined either:
+ The xlink prefix <em title="must" class="rfc2119">must</em> be
+defined as <code>xmlns:xlink="http://www.w3.org/1999/xlink"</code>
+before using xlink:href. The prefix can be defined either:
<ul>
<li>
Once on the root <code><html></code> element.
</li>
<li>
- Once on each <code><svg></code> element that contains one or more elements with xlink:href attributes.
+ Once on each <code><svg></code> element that contains
+one or more elements with xlink:href attributes.
</li>
</ul>
</li>
@@ -147,58 +242,66 @@
No other elements should have namespace declarations.
</li>
</ul>
- </section>
+ </div>
- <section>
- <h2>Elements</h2>
- <section>
- <h3>Required Elements</h3>
+ <div class="section" id="elements">
+ <!--OddPage--><h2><span class="secno">5. </span>Elements</h2>
+ <div class="section" id="required-elements">
+ <h3><span class="secno">5.1 </span>Required Elements</h3>
<p>
- Each document MUST have a root <code>html</code> element. The root <code>html</code> element MUST contain both a <code>head</code> and a <code>body</code> element.
- The <code>head</code> element MUST contain a <code>title</code> element.
+ Each document <em title="must" class="rfc2119">must</em> have a
+root <code>html</code> element. The root <code>html</code> element <em
+title="must" class="rfc2119">must</em> contain both a <code>head</code>
+and a <code>body</code> element.
+ The <code>head</code> element <em title="must" class="rfc2119">must</em>
+ contain a <code>title</code> element.
</p>
- <section>
- <h3>Tables</h3>
+ <div class="section" id="tables">
+ <h4><span class="secno">5.1.1 </span>Tables</h4>
<p>
- For a polyglot document, a table MUST explicitly have a <code>tbody</code> element surrounding groups of <code>tr</code> elements.
- HTML pasrsers insert the <code>tbody</code> element, but XML parsers do not, thus creating different DOMs.
+ For a polyglot document, a table <em title="must" class="rfc2119">must</em>
+ explicitly have a <code>tbody</code> element surrounding groups of <code>tr</code>
+ elements.
+ HTML pasrsers insert the <code>tbody</code> element, but XML
+parsers do not, thus creating different DOMs.
</p>
<p>
Correct:
- <pre class="example">
-<table>
+ </p><pre class="example"><table>
<tbody>
- <tr>...
- </pre>
+ <tr>...</pre>
Incorrect:
- <pre class="example">
-<table>
- <tr>...
- </pre>
- </p>
- </section>
- </section>
+ <pre class="example"><table>
+ <tr>...</pre>
+
+ </div>
+ </div>
- <section>
- <h2>Case-Sensitivity</h2>
+ <div class="section" id="case-sensitivity">
+ <h3><span class="secno">5.2 </span>Case-Sensitivity</h3>
<p>
The following guidelines apply to markup, script, and CSS.
</p>
- <section>
- <h3>Element Names</h3>
- <p>You MUST use the correct case for element names.</p>
+ <div class="section" id="element-names">
+ <h4><span class="secno">5.2.1 </span>Element Names</h4>
+ <p>You <em title="must" class="rfc2119">must</em> use the
+correct case for element names.</p>
<ul>
<li>
- Element names MUST be lowercase for all HTML elements.
+ Element names <em title="must" class="rfc2119">must</em> be
+lowercase for all HTML elements.
</li>
<li>
- Element names MUST be lowercase for all MathML elements.
+ Element names <em title="must" class="rfc2119">must</em> be
+lowercase for all MathML elements.
</li>
<li>
- Element names MUST be lowercase for all SVG elements except the following, which MUST be in mixed case:
+ Element names <em title="must" class="rfc2119">must</em> be
+lowercase for all SVG elements except the following, which <em
+title="must" class="rfc2119">must</em> be in mixed case:
<ul>
<li><code>altGlyph</code></li>
<li><code>altGlyphDef</code></li>
@@ -239,23 +342,29 @@
</ul>
</li>
</ul>
- </section>
+ </div>
- <section>
- <h3>Attribute Names</h3>
+ <div class="section" id="attribute-names">
+ <h4><span class="secno">5.2.2 </span>Attribute Names</h4>
<p>
- You MUST use the correct case for attribute names.
+ You <em title="must" class="rfc2119">must</em> use the correct case
+ for attribute names.
</p>
<ul>
<li>
- Attribute names MUST be lowercase for all HTML elements.
+ Attribute names <em title="must" class="rfc2119">must</em>
+ be lowercase for all HTML elements.
</li>
<li>
- Attribute names MUST be lowercase for all MathML elements except the following:
- <p>The lowercase <code>definitionurl</code> MUST be changed to the mixed case <code>definitionURL</code>.</p>
+ Attribute names <em title="must" class="rfc2119">must</em>
+ be lowercase for all MathML elements except the following:
+ <p>The lowercase <code>definitionurl</code> <em
+title="must" class="rfc2119">must</em> be changed to the mixed case <code>definitionURL</code>.</p>
</li>
<li>
- Attribute names MUST be lowercase for all SVG elements except the following, which MUST be in mixed case:
+ Attribute names <em title="must" class="rfc2119">must</em>
+ be lowercase for all SVG elements except the following, which <em
+title="must" class="rfc2119">must</em> be in mixed case:
<ul>
<li><code>attributeName</code></li>
<li><code>attributeType</code></li>
@@ -322,21 +431,23 @@
</ul>
</li>
</ul>
- </section>
+ </div>
- <section>
- <h3>Attribute Values</h3>
+ <div class="section" id="attribute-values">
+ <h4><span class="secno">5.2.3 </span>Attribute Values</h4>
<p>
- You MUST specify attribute values as lowercase.
+ You <em title="must" class="rfc2119">must</em> specify attribute
+values as lowercase.
</p>
- </section>
- </section>
+ </div>
+ </div>
- <section>
- <h2>Empty Elements</h2>
+ <div class="section" id="empty-elements">
+ <h3><span class="secno">5.3 </span>Empty Elements</h3>
<p>
- You MAY use only the elements in the following table as empty elements.
+ You <em title="may" class="rfc2119">may</em> use only the
+elements in the following table as empty elements.
</p>
<ul>
<li><code>area</code></li>
@@ -355,30 +466,45 @@
<li><code>source</code></li>
</ul>
<p>
- You SHOULD include a space before the trailing <code>/</code> and <code>></code> of empty elements, e.g. <code><br /></code>, <code><hr /></code> and <code><img src="karen.jpg" alt="Karen" /></code>.
- Also, you SHOULD use the minimized tag syntax for empty elements, e.g. <code><br /></code>.
- The alternative syntax <code><br></br></code> allowed by XML gives uncertain results in many existing user agents.
+ You <em title="should" class="rfc2119">should</em> include a
+space before the trailing <code>/</code> and <code>></code> of empty
+elements, e.g. <code><br /></code>, <code><hr /></code> and <code><img
+
+ src="karen.jpg" alt="Karen" /></code>.
+ Also, you <em title="should" class="rfc2119">should</em> use the
+ minimized tag syntax for empty elements, e.g. <code><br /></code>.
+
+ The alternative syntax <code><br></br></code>
+allowed by XML gives uncertain results in many existing user agents.
</p>
<p>
- Given an empty instance of an element whose content model is not EMPTY (for example, an empty title or paragraph) do not use the minimized form (e.g. use <code><p> </p></code> and not <code><p /></code>).
+ Given an empty instance of an element whose content model is not
+ EMPTY (for example, an empty title or paragraph) do not use the
+minimized form (e.g. use <code><p> </p></code> and not <code><p
+
+ /></code>).
</p>
<p>
- Note that MathML and SVG elements may be either self-closing or contain content.
+ Note that MathML and SVG elements may be either self-closing or
+ contain content.
</p>
- </section>
- </section>
+ </div>
+ </div>
- <section>
- <h2>Attributes</h2>
- <p>Avoid line breaks and multiple white space characters within attribute values. These are handled inconsistently by user agents.</p>
+ <div class="section" id="attributes">
+ <!--OddPage--><h2><span class="secno">6. </span>Attributes</h2>
+ <p>Avoid line breaks and multiple white space characters within
+attribute values. These are handled inconsistently by user agents.</p>
<p>See also <a href="#attribute-values">Attribute Values</a>.</p>
- </section>
+ </div>
- <section>
- <h2>Named Entity References</h2>
+ <div class="section" id="named-entity-references">
+ <!--OddPage--><h2><span class="secno">7. </span>Named Entity
+References</h2>
<p>
- You SHOULD use only the following named entity references:
+ You <em title="should" class="rfc2119">should</em> use only the
+following named entity references:
</p>
<ul>
<li><code>amp</code></li>
@@ -388,94 +514,136 @@
<li><code>quot</code></li>
</ul>
<p>
- When you need entities beyond the previous list, use character references.
+ When you need entities beyond the previous list, use character
+references.
</p>
<p>
- The named character reference <code>&apos;</code> (the apostrophe, U+0027) was introduced in XML 1.0 but does not appear in HTML.
- Authors should therefore use <code>&#39;</code> instead of <code>&apos;</code> to work as expected in HTML user agents.
+ The named character reference <code>&apos;</code> (the
+apostrophe, U+0027) was introduced in XML 1.0 but does not appear in
+HTML.
+ Authors should therefore use <code>&#39;</code> instead of <code>&apos;</code>
+ to work as expected in HTML user agents.
</p>
- </section>
+ </div>
- <section>
- <h2>Script and Style</h2>
+ <div class="section" id="script-and-style">
+ <!--OddPage--><h2><span class="secno">8. </span>Script and Style</h2>
<p>
- Script and style commands SHOULD be included by linking to external files rather than including them in-line.
+ Script and style commands <em title="should" class="rfc2119">should</em>
+ be included by linking to external files rather than including them
+in-line.
</p>
<p>
- Although you MAY use <code>document.write()</code> and <code>document.writeln()</code> in an HTML document, you MUST NOT use either function in XHTML and therefore in a polyglot document.
- Instead, use the <code>innerHTML</code> property for both HTML and XHTML.
+ Although you <em title="may" class="rfc2119">may</em> use <code>document.write()</code>
+ and <code>document.writeln()</code> in an HTML document, you <em
+title="must not" class="rfc2119">must not</em> use either function in
+XHTML and therefore in a polyglot document.
+ Instead, use the <code>innerHTML</code> property for both HTML
+and XHTML.
Note that the <code>innerHTML</code> property takes a string.
XML parsers parse the string as XML in XHTML.
HTML parsers parse the string as HTML in HTML.
- Therefore, if you send the parser content that does not follow the rules for a polyglot document the results will differ for a DOM create with an XML parser and one created with an HTML parser.
+ Therefore, if you send the parser content that does not follow
+the rules for a polyglot document the results will differ for a DOM
+create with an XML parser and one created with an HTML parser.
</p>
- <section>
- <h3>External Script and Style</h3>
+ <div class="section" id="external-script-and-style">
+ <h3><span class="secno">8.1 </span>External Script and Style</h3>
<p>
- You MUST use external scripts if your script uses <code><</code> or <code>&</code> or <code>]]></code> or <code>--</code>.
- You MUST use external style sheets if your style sheet uses <code><</code> or <code>&</code> or <code>]]></code> or <code>--</code>.
- Note that XML parsers are permitted to silently remove the contents of comments; therefore, the historical practice of hiding scripts and style sheets within comments to make the documents backward compatible is likely to not work as expected in XML-based user agents.
+ You <em title="must" class="rfc2119">must</em> use external
+scripts if your script uses <code><</code> or <code>&</code> or <code>]]></code>
+ or <code>--</code>.
+ You <em title="must" class="rfc2119">must</em> use external
+style sheets if your style sheet uses <code><</code> or <code>&</code>
+ or <code>]]></code> or <code>--</code>.
+ Note that XML parsers are permitted to silently remove the
+contents of comments; therefore, the historical practice of hiding
+scripts and style sheets within comments to make the documents backward
+compatible is likely to not work as expected in XML-based user agents.
</p>
- </section>
- <section>
- <h3>In-line Script and Style</h3>
+ </div>
+ <div class="section" id="in-line-script-and-style">
+ <h3><span class="secno">8.2 </span>In-line Script and Style</h3>
<p>
- If you must use script or style commands within your source code, either use safe content or wrap the command in a CDATA section. However, you SHOULD NOT use a <code>CDATA</code> section unless it is being used within foreign content.
- <ul>
- <li>Safe content is content that does not contain a <code><</code> or <code>&</code> character.
- The following example is safe because it does not contain problematic characters within the <code><script></code> tag.
- <pre class='example'>
- <script>document.body.appendChild(document.createElement("div"));</script>
- </pre>
+ If you must use script or style commands within your source code,
+ either use safe content or wrap the command in a CDATA section.
+However, you <em title="should not" class="rfc2119">should not</em> use a
+ <code>CDATA</code> section unless it is being used within foreign
+content.
+ </p><ul>
+ <li>Safe content is content that does not contain a <code><</code>
+ or <code>&</code> character.
+ The following example is safe because it does not contain
+problematic characters within the <code><script></code> tag.
+ <pre class="example"><script>document.body.appendChild(document.createElement("div"));</script></pre>
</li>
<li>Wrap in-line script and style commands in a CDATA section</li>
<p>
- Note that you cannot achieve same DOM in both XHTML and HTML by using in-line commands in a CDATA section.
- However, this is not usally a problem unless the code has a dependency on the exact number of text nodes under a <code><script></code> or <code><style></code> element.
- The following examples show in-line script and style commands wrapped in a <code>CDATA</code> section.
+ Note that you cannot achieve same DOM in both XHTML and HTML by
+using in-line commands in a CDATA section.
+ However, this is not usally a problem unless the code has a
+dependency on the exact number of text nodes under a <code><script></code>
+ or <code><style></code> element.
+ The following examples show in-line script and style commands
+wrapped in a <code>CDATA</code> section.
</p>
- <pre class="example">
-<script>
+ <pre class="example"><script>
//<![CDATA[
(script goes here)
//]]>
-</script>
-
- </pre>
- <pre class="example">
-<style>
+</script></pre>
+ <pre class="example"><style>
/*<![CDATA[*/
(styles go here)
-/*]]>*/
-</style>
-
- </pre>
+/*]]>*/
+</style></pre>
<p>
- When using MathML or SVG, the parser follows the XML parsing rules.
- You MUST NOT rely on getting a CDATA instance from the DOM when using MathML or SVG, because the HTML parser does not create a CDATA instance in the DOM.
+ When using MathML or SVG, the parser follows the XML parsing
+rules.
+ You <em title="must not" class="rfc2119">must not</em> rely on
+getting a CDATA instance from the DOM when using MathML or SVG, because
+the HTML parser does not create a CDATA instance in the DOM.
</p>
</ul>
- </p>
- </section>
- </section>
+
+ </div>
+ </div>
- <section>
- <h2>Exceptions from the Foreign Content Parsing Rules</h2>
+ <div class="section"
+id="exceptions-from-the-foreign-content-parsing-rules">
+ <!--OddPage--><h2><span class="secno">9. </span>Exceptions from
+the Foreign Content Parsing Rules</h2>
<p>
<!-- TODO: Need to call out exceptions from the foreign content parsing rules (e.g. <foreignContent> -->
</p>
- </section>
+ </div>
- <section class='appendix'>
- <h2>Acknowledgements</h2>
+ <div id="acknowledgements" class="appendix section">
+ <!--OddPage--><h2><span class="secno">A. </span>Acknowledgements</h2>
<p>
Many thanks to Tony Ross, Jonas Sicking, and Sam Ruby.
</p>
- </section>
- </body>
-</html>
+ </div>
+ <div class="appendix section" id="references"><!--OddPage--><h2><span
+class="secno">B. </span>References</h2><div class="section"
+id="normative-references"><h3><span class="secno">B.1 </span>Normative
+references</h3><dl class="bibliography"><dt id="bib-HTML5">[HTML5]</dt><dd>Ian
+
+ Hickson; David Hyatt. <a
+href="http://www.w3.org/TR/2010/WD-html5-20100304/"><cite>HTML 5.</cite></a>
+ 4 March 2010. W3C Working Draft. (Work in progress.) URL: <a
+href="http://www.w3.org/TR/2010/WD-html5-20100304/">http://www.w3.org/TR/2010/WD-html5-20100304/</a>
+
+</dd><dt id="bib-RFC2854">[RFC2854]</dt><dd>D. Connolly; L. Masinter. <a
+ href="http://www.rfc-editor.org/rfc/rfc2854.txt"><cite>The 'text/html'
+Media Type.</cite></a> June 2000. Internet RFC 2854. URL: <a
+href="http://www.rfc-editor.org/rfc/rfc2854.txt">http://www.rfc-editor.org/rfc/rfc2854.txt</a>
+
+</dd></dl></div><div class="section" id="informative-references"><h3><span
+ class="secno">B.2 </span>Informative references</h3><p>No informative
+references.</p></div></div></body></html>
\ No newline at end of file
Received on Thursday, 22 April 2010 14:07:16 UTC