CVS html5/html-polyglot

Update of /sources/public/html5/html-polyglot
In directory roscoe:/tmp/cvs-serv16835

Modified Files:
	html-polyglot.html 
Log Message:
Resolved bug 24451, with the edits described in comment 12. These are changes to section 4.6.2.2.1 describing CDATA use.

--- /sources/public/html5/html-polyglot/html-polyglot.html	2014/03/19 23:56:13	1.31
+++ /sources/public/html5/html-polyglot/html-polyglot.html	2014/03/26 21:44:10	1.32
@@ -8,7 +8,7 @@
         var respecConfig = {
             specStatus:   "ED",
             shortName:    "html-polyglot",
-            publishDate:  "2014-03-19",
+            publishDate:  "2014-03-26",
             previousPublishDate:  "2010-10-19",
             // previousDiffURI:  "http://htmlwg.org/heartbeat/WD-html-polyglot-20131008/",
 previousMaturity:  "WD",
@@ -804,14 +804,50 @@
         <ul>
             <li> The CDATA section is subject to HTML’s restrictions on <code>&lt;script></code> and <code>&lt;style></code>.</li>
             <li> There can be only one CDATA section per raw text element.</li>
-            <!--<li> Before the CDATA section there can only be one node - preferrably only one line of code, which may
-                consist of whitespace, or an XML comment, or a construct of the  scripting/styling language (usually
-                a comment of the scripting/styling language).</li>
-            <li> After the CDATA section there can only be one node - preferrably only one line of code, which may
-                consist of whitespace, or an XML comment, or a construct of the  scripting/styling language (usually
-                a comment of the scripting/styling language).</li>-->
+            <li> A CDATA section must appear at the start of its containing element, and hence be the first child of that element.
+                <ul>
+                    <li> Before the CDATA section there can only be content that creates one node - 
+                        preferably only one line of code - which may consist of whitespace, an XML comment, 
+                        or a construct of the  scripting/styling language 
+                        (usually a comment of the scripting/styling language).</li>
+                    <li> After the CDATA section there can only be content that creates one node -  
+                        preferably only one line of code - which may consist of whitespace, an XML comment, 
+                        or a construct of the  scripting/styling language 
+                        (usually a comment of the scripting/styling language).</li>
+                </ul>
+            </li>
         </ul>
-        <p>The <code>]]&gt;</code> string:</p>
+        <div class="note">
+        <p>
+            The statement that a "CDATA section must appear at the start of its containing element, and hence be the first child of that element," 
+            is due to how parsers may create DOM nodes based on characters and whitespace. 
+            The following script element, because it contains no whitespace outside the CDATA node, has one node, 
+            whether parsed as HTML or as XML:
+          <br />
+            <code >
+&lt;script>&lt;![CDATA[foo]]>/&lt;script>
+              <br />
+          </code>          
+            Because an author may need to comment out the CDATA "start tag" and "end tag," 
+            <a>polyglot markup</a> allows for one node before and after the CDATA section.
+            The following example has three nodes: one text node before the CDATA section, 
+            one for the CDATA section, itself, and one after the CDATA section:
+        </p>
+        <figure >
+            <figcaption>CDATA section that is commented out, resulting in a total of three DOM nodes.</figcaption>
+<pre class="example highlight">
+&lt;script>/*&lt;![CDATA[*/
+    foo 
+    /*]]>*/&lt;/script>
+</pre>
+        </figure>          
+            <p>
+                Thus, for <a>polyglot markup</a>, a CDATA section must appear at the start of its containing element, 
+                and hence be the first child of that element.
+            </p>
+            </div>  
+
+                <p>The <code>]]&gt;</code> string:</p>
         <ul>
             <li> is always commented out if <code>&lt;![CDATA[</code> is commented out.</li>
             <li> is never commented out if <code>&lt;![CDATA[</code> is not commented out.</li>

Received on Wednesday, 26 March 2014 21:44:11 UTC