- From: CVS User egraff <cvsmail@w3.org>
- Date: Wed, 19 Feb 2014 00:57:08 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/html-polyglot
In directory roscoe:/tmp/cvs-serv22410
Modified Files:
html-polyglot.html
Log Message:
Changes listed in bug 24451, comment 6
--- /sources/public/html5/html-polyglot/html-polyglot.html 2014/02/06 00:37:13 1.29
+++ /sources/public/html5/html-polyglot/html-polyglot.html 2014/02/19 00:57:08 1.30
@@ -8,7 +8,7 @@
var respecConfig = {
specStatus: "ED",
shortName: "html-polyglot",
- publishDate: "2014-02-05",
+ publishDate: "2014-02-18",
previousPublishDate: "2010-10-19",
// previousDiffURI: "http://htmlwg.org/heartbeat/WD-html-polyglot-20131008/",
previousMaturity: "WD",
@@ -425,13 +425,14 @@
<h3>Excluded elements</h3>
<p>
- The <code>noscript</code> element is non-conforming in XHTML, and therefore also in <a>polyglot markup</a>,
- due to the fact that XML has no mechanism by which to produce the effect it has in HTML.[[!HTML5]]
+ Polyglot markup does not use the <code>noscript</code> element,
+ because the <code>noscript</code> element cannot be used in XML documents. [[!HTML5]]
</p>
<p class="note">
- Elements with features designed for HTML alone are non-polyglot from the outset. Currently, all such
- elements are legacy elements, and all but <code>noscript</code>, which HTML5 forbids in XHTML alone, are
- also obsoleted by the HTML specification for both HTML and XHTML.
+ <a title="polyglot markup">Polyglot markup</a> should not use any elements excluded from HTML, XHTML, or both.
+ For example, including any of the elements listed in
+ <a href="http://www.w3.org/TR/html5/obsolete.html#non-conforming-features">Non-conforming features</a>
+ within a document increases the risk of that document not being <a>polyglot markup</a>.
</p>
<!--End section: Elements that Cannot Be Used in Polyglot Markup-->
</section>
@@ -446,12 +447,11 @@
<section id="element-names" class="section">
<h4>Element names</h4>
- <p><a title="polyglot markup">Polyglot markup</a> uses the correct case for element names.</p>
- <ul>
- <li><a title="polyglot markup">Polyglot markup</a> uses lowercase letters for all HTML element names.</li>
- <li><a title="polyglot markup">Polyglot markup</a> uses lowercase letters for all MathML element names.</li>
- <li><a title="polyglot markup">Polyglot markup</a> uses lowercase letters for all SVG element names except the following,
- for which <a>polyglot markup</a> uses mixed case:
+ <p> <a title="polyglot markup">Polyglot markup</a> uses lowercase letters for all HTML element names;
+ all MathML element names;
+ and all SVG element names except the following SVG element names,
+ for which <a>polyglot markup</a> uses mixed case:
+ </p>
<ul class="inline-list">
<li><code>altGlyph</code></li>
<li><code>altGlyphDef</code></li>
@@ -489,22 +489,18 @@
<li><code>linearGradient</code></li>
<li><code>radialGradient</code></li>
<li><code>textPath</code></li>
- </ul>
- </li>
- </ul>
+ </ul>
<!--End section: Element Names-->
</section>
<section id="attribute-names" class="section">
<h4>Attribute names</h4>
- <p><a title="polyglot markup">Polyglot markup</a> uses the correct case for attribute names.</p>
- <ul>
- <li><a title="polyglot markup">Polyglot markup</a> uses lowercase letters in attribute names for all HTML elements.</li>
- <li><a title="polyglot markup">Polyglot markup</a> uses lowercase letters in attribute names for all MathML elements except the lowercase <code>definitionurl</code>,
- which <a>polyglot markup</a> changes to the mixed case <code>definitionURL</code>.</li>
- <li><a title="polyglot markup">Polyglot markup</a> uses lowercase letters in attribute names for all SVG elements except the following,
- for which <a>polyglot markup</a> uses mixed case:
+ <p><a title="polyglot markup">Polyglot markup</a> uses lowercase letters in attribute names for all HTML elements;
+ all MathML elements except the lowercase <code>definitionurl</code>,
+ which <a>polyglot markup</a> changes to the mixed case <code>definitionURL</code>;
+ and all SVG attributes except the following SVG attributes, for which <a>polyglot markup</a> uses mixed case:
+ </p>
<ul class="inline-list">
<li><code>attributeName</code></li>
<li><code>attributeType</code></li>
@@ -569,8 +565,6 @@
<li><code>yChannelSelector</code></li>
<li><code>zoomAndPan</code></li>
</ul>
- </li>
- </ul>
<!--End section: Attribute Names-->
</section>
@@ -632,7 +626,7 @@
<!--End section: Elements -->
</section>
<section id="contents-of-elements" class="section">
-<h3>Element contents</h3>
+<h3>Element content</h3>
<p>For the <a href="http://www.w3.org/TR/html5/syntax.html#elements-0">different kinds of elements</a> that HTML documents contain, <a>polyglot markup</a> conforms to the following contents rules.</p>
<section id="empty-elements" class="section">
<h4>Void elements</h4>
@@ -641,27 +635,25 @@
in an extension spec, MUST in <a title="polyglot markup">polyglot
markup</a> have the syntactic form of an XML <a href="http://www.w3.org/TR/REC-xml/#dt-empty"
><dfn>empty-element tag</dfn></a> (<code><foo/></code>). Other elements MUST NOT use the XML
- <a>empty-element tag</a> syntax.</p>
-
- <figure>
- <figcaption>The void elements of the HTML specification at the time of writing.</figcaption>
+ <a>empty-element tag</a> syntax. The void elements of the HTML specification are: [[!HTML5]]</p></figcaption>
<blockquote cite="http://www.w3.org/TR/html5/syntax.html#void-elements">
<code>area</code>, <code>base</code>, <code>br</code>, <code>col</code>, <code>embed</code>,
<code>hr</code>, <code>img</code>, <code>input</code>, <code>keygen</code>, <code>link</code>,
<code>meta</code>, <code>param</code>, <code>source</code>,
<code>track</code>, <code>wbr</code>
</blockquote>
+
- </figure>
- <p><b>Example:</b> <a title="polyglot markup">Polyglot markup</a> uses the minimized tag syntax for void
+ <p><b>Example:</b> <a title="polyglot markup">Polyglot markup</a> uses the <a>empty-element tag</a> syntax for void
elements, e.g. <code><br/></code>, and <em>does not use</em> <code><br></br></code>.
</p>
<p><b>Example:</b> Given an empty instance of an element whose content model is not EMPTY (for example, an empty
- title or paragraph) <a>polyglot markup</a> <em>does not use</em> the minimized form. E.g. the document uses
- <code><p></p></code> and not <code><p/></code>.
+ title or paragraph) <a>polyglot markup</a> <em>does not use</em> the <a>empty-element tag</a> syntax.
+ That is, the document uses <code><p></p></code> and not <code><p/></code>.
</p>
- <p class="note">Elements in foreign content, such as MathML and SVG elements, may be either self-closing or contain content.</p>
+ <p class="note">Elements in foreign content, such as MathML and SVG elements,
+ may either use the <a>empty-element tag</a> syntax or contain content.</p>
<!--End section: void Elements-->
</section>
@@ -673,30 +665,23 @@
in an extension spec, MUST conform to the extra requirements defined in this section.
</p>
-<figure>
- <figcaption>HTML5's list of raw text elements</figcaption>
+ <p>
+ HTML5 defines the following raw text elements:</figcaption>
+ </p>
<blockquote cite="http://www.w3.org/TR/html5/syntax.html#raw-text-elements">
<code>script</code>, <code>style</code>
<!-- iframe and noscript don't count as raw text for syntax purposes -->
</blockquote>
-</figure>
+
<p>
- In HTML syntax, the content of raw text elements is raw text.
- In other words, the HTML parser does not treat contained code that looks like tags (element tags and comment tags,
- character references, CDATA, etc.) as tags, character references, CDATA, etc., but as raw text.
- (See HTML5 for the exact rules.)
- In the XHTML syntax, however, the same constructs <em>will</em> be treated as tags, character references, CDATA etc.
-</p>
-<p>As result, it is simpler for authors to comply with the requirement of the default MIME
- types of the raw text elements in HTML than it is in XHTML.
- On the other hand, with <code class="CDATA">CDATA</code>, the raw text contents
- parsed as XHTML can be made even less semantic than the raw text data of HTML,
- leading to potential harms if the document is parsed as HTML.
+ In HTML, the content of the <code>script</code> and <code>style</code> elements is treated as if it were CDATA,
+ so that <code>&</code> and <code><</code> are not special except when they occur as the end tag to close the element.
+ In XHTML, however, the same elements are treated as tags, character references, CDATA, etc.
</p>
<figure id="ambiguous-table">
- <figcaption>Overview over the differences in how HTML and XML parse raw text elements</figcaption>
+ <figcaption>Overview of the differences in how HTML and XML parse raw text elements</figcaption>
<table class="simple" border="1" >
<colgroup><col/><col/><col/><col/><col/></colgroup>
@@ -718,8 +703,8 @@
<tr><td><code><![CDATA[</code></td><td>start of CDATA declaration</td><td>uninterpreted</td><td>uninterpreted</td><td>interpreted <small>(begins CDATA block)</small></td></tr>
<tr><td><code>]]></code></td><td>end of CDATA declaration</td><td>uninterpreted</td><td>uninterpreted</td><td>interpreted <small>(ends CDATA block)</small></td></tr>
<tr><td><code>cdata content</code></td><td>the content of CDATA sections</td><td></td><td>uninterpreted</td><td>—</td></tr>
- <tr><td><code></script</code> </td><td>if occuring inside <code>script</code> element and followed by one of "tab" (U+0009), "LF" (U+000A), "FF" (U+000C), "CR" (U+000D), U+0020 SPACE, ">" (U+003E), or "/" (U+002F)</td><td>terminates parent</td><td>uninterpreted</td><td>interpreted</td></tr>
- <tr><td><code></style</code></td><td>if occuring inside <code>style</code> element and followed by one of "tab" (U+0009), "LF" (U+000A), "FF" (U+000C), "CR" (U+000D), U+0020 SPACE, ">" (U+003E), or "/" (U+002F)</td><td>terminates parent</td><td>uninterpreted</td><td>interpreted</td></tr>
+ <tr><td><code></script</code> </td><td>if occuring inside <code>script</code> element and followed by one of "tab" (U+0009), "LF" (U+000A), "FF" (U+000C), "CR" (U+000D), U+0020 SPACE, ">" (U+003E), or "/" (U+002F)</td><td>terminates parent</td><td>uninterpreted</td><td>terminates parent</td></tr>
+ <tr><td><code></style</code></td><td>if occuring inside <code>style</code> element and followed by one of "tab" (U+0009), "LF" (U+000A), "FF" (U+000C), "CR" (U+000D), U+0020 SPACE, ">" (U+003E), or "/" (U+002F)</td><td>terminates parent</td><td>uninterpreted</td><td>terminates parent</td></tr>
<tr><td><code><foo></bar></code></td><td>all other tags, well-formed or not</td><td>uninterpreted</td><td>uninterpreted</td><td>interpreted <small>subject to normal parsing rules</small></td></tr>
<tr><td><code>&#foo;</code></td><td>character references</td><td>uninterpreted</td><td>uninterpreted</td><td>interpreted <small>subject to normal parsing rules</small></td></tr> </tbody> <tbody>
<tr><td><code>none of the above strings</code></td><td>Any other string</td><td>uninterpreted</td><td>uninterpreted</td><td>uninterpreted</td></tr>
Received on Wednesday, 19 February 2014 00:57:09 UTC