Add rules for improving compat with XSLT 1.0. (bug 6776) (whatwg r3323)

Add rules for improving compat with XSLT 1.0. (bug 6776) (whatwg r3323)
http://www.w3.org/Bugs/Public/show_bug.cgi?id=6776

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.2462&r2=1.2463&f=h
http://html5.org/tools/web-apps-tracker?from=3322&to=3323

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.2462
retrieving revision 1.2463
diff -u -d -r1.2462 -r1.2463
--- Overview.html 26 Jun 2009 05:39:45 -0000 1.2462
+++ Overview.html 26 Jun 2009 06:34:45 -0000 1.2463
@@ -405,14 +405,15 @@
      <li><a href="#transparent-content-models"><span class="secno">3.4.2 </span>Transparent content models</a></ol></li>
    <li><a href="#paragraphs"><span class="secno">3.5 </span>Paragraphs</a></li>
    <li><a href="#apis-in-html-documents"><span class="secno">3.6 </span>APIs in HTML documents</a></li>
-   <li><a href="#dynamic-markup-insertion"><span class="secno">3.7 </span>Dynamic markup insertion</a>
+   <li><a href="#dom-based-xslt-1.0-processors"><span class="secno">3.7 </span>DOM-based XSLT 1.0 processors</a></li>
+   <li><a href="#dynamic-markup-insertion"><span class="secno">3.8 </span>Dynamic markup insertion</a>
     <ol>
-     <li><a href="#controlling-the-input-stream"><span class="secno">3.7.1 </span>Controlling the input stream</a></li>
-     <li><a href="#document.write"><span class="secno">3.7.2 </span><code title="dom-document-write">document.write()</code></a></li>
-     <li><a href="#document.writeln"><span class="secno">3.7.3 </span><code title="dom-document-writeln">document.writeln()</code></a></li>
-     <li><a href="#innerhtml"><span class="secno">3.7.4 </span><code title="dom-innerHTML">innerHTML</code></a></li>
-     <li><a href="#outerhtml"><span class="secno">3.7.5 </span><code title="dom-outerHTML">outerHTML</code></a></li>
-     <li><a href="#insertadjacenthtml"><span class="secno">3.7.6 </span><code title="dom-insertAdjacentHTML">insertAdjacentHTML()</code></a></ol></ol></li>
+     <li><a href="#controlling-the-input-stream"><span class="secno">3.8.1 </span>Controlling the input stream</a></li>
+     <li><a href="#document.write"><span class="secno">3.8.2 </span><code title="dom-document-write">document.write()</code></a></li>
+     <li><a href="#document.writeln"><span class="secno">3.8.3 </span><code title="dom-document-writeln">document.writeln()</code></a></li>
+     <li><a href="#innerhtml"><span class="secno">3.8.4 </span><code title="dom-innerHTML">innerHTML</code></a></li>
+     <li><a href="#outerhtml"><span class="secno">3.8.5 </span><code title="dom-outerHTML">outerHTML</code></a></li>
+     <li><a href="#insertadjacenthtml"><span class="secno">3.8.6 </span><code title="dom-insertAdjacentHTML">insertAdjacentHTML()</code></a></ol></ol></li>
  <li><a href="#semantics"><span class="secno">4 </span>The elements of HTML</a>
   <ol>
    <li><a href="#the-root-element"><span class="secno">4.1 </span>The root element</a>
@@ -7525,11 +7526,25 @@
    </dd>
 
 
-  </dl><h3 id="dynamic-markup-insertion"><span class="secno">3.7 </span><dfn>Dynamic markup insertion</dfn></h3><p class="note">APIs for dynamically inserting markup into the
+  </dl><h3 id="dom-based-xslt-1.0-processors"><span class="secno">3.7 </span>DOM-based XSLT 1.0 processors</h3><p>XSLT 1.0 processors outputting to a DOM when the output method is
+  "html" (either explicitly or via the defaulting rule in XSLT 1.0)
+  are affected as follows:<p>If the transformation program outputs an element in no namespace,
+  the processor must, prior to constructing the corresponding DOM
+  element node, change the namespace of the element to the <a href="#html-namespace-0">HTML
+  namespace</a>, <a href="#converted-to-ascii-lowercase" title="converted to ASCII
+  lowercase">ASCII-lowercase</a> the element's local name, and
+  <a href="#converted-to-ascii-lowercase" title="converted to ASCII lowercase">ASCII-lowercase</a>
+  the names of any non-namespaced attributes on the element.<p class="note">This requirement is a <a href="#willful-violation">willful violation</a>
+  of the XSLT 1.0 specification, required because this specification
+  changes the namespaces and case-sensitivity rules of HTML in a
+  manner that would otherwise be incompatible with DOM-based XSLT
+  transformations. (Processors that serialize the output are
+  unaffected.) <a href="#references">[XSLT10]</a></p><!-- note:
+  version matters for this ref --><h3 id="dynamic-markup-insertion"><span class="secno">3.8 </span><dfn>Dynamic markup insertion</dfn></h3><p class="note">APIs for dynamically inserting markup into the
   document interact with the parser, and thus their behavior, varies
   depending on whether they are used with <a href="#html-documents">HTML documents</a>
   (and the <a href="#html-parser">HTML parser</a>) or XHTML in <a href="#xml-documents">XML
-  documents</a> (and the <a href="#xml-parser">XML parser</a>).<h4 id="controlling-the-input-stream"><span class="secno">3.7.1 </span>Controlling the input stream</h4><p>The <dfn id="dom-document-open" title="dom-document-open"><code>open()</code></dfn>
+  documents</a> (and the <a href="#xml-parser">XML parser</a>).<h4 id="controlling-the-input-stream"><span class="secno">3.8.1 </span>Controlling the input stream</h4><p>The <dfn id="dom-document-open" title="dom-document-open"><code>open()</code></dfn>
   method comes in several variants with different numbers of
   arguments.<dl class="domintro"><dt><var title="">document</var> = <var title="">document</var> . <code title="dom-document-open"><a href="#dom-document-open">open</a></code>( [ <var title="">type</var> [, <var title="">replace</var> ] ] )</dt>
 
@@ -7729,7 +7744,7 @@
   an <a href="#explicit-eof-character">explicit "EOF" character</a> at the end of the parser's
   <a href="#the-input-stream">input stream</a>.</p>
 
-  </div><h4 id="document.write"><span class="secno">3.7.2 </span><code title="dom-document-write"><a href="#dom-document-write">document.write()</a></code></h4><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-write"><a href="#dom-document-write">write</a></code>(<var title="">text</var>...)</dt>
+  </div><h4 id="document.write"><span class="secno">3.8.2 </span><code title="dom-document-write"><a href="#dom-document-write">document.write()</a></code></h4><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-write"><a href="#dom-document-write">write</a></code>(<var title="">text</var>...)</dt>
 
    <dd>
 
@@ -7810,7 +7825,7 @@
 
    </li>
 
-  </ol></div><h4 id="document.writeln"><span class="secno">3.7.3 </span><code title="dom-document-writeln"><a href="#dom-document-writeln">document.writeln()</a></code></h4><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-writeln"><a href="#dom-document-writeln">writeln</a></code>(<var title="">text</var>...)</dt>
+  </ol></div><h4 id="document.writeln"><span class="secno">3.8.3 </span><code title="dom-document-writeln"><a href="#dom-document-writeln">document.writeln()</a></code></h4><dl class="domintro"><dt><var title="">document</var> . <code title="dom-document-writeln"><a href="#dom-document-writeln">writeln</a></code>(<var title="">text</var>...)</dt>
 
    <dd>
 
@@ -7831,7 +7846,7 @@
   invoked with the same argument(s), plus an extra argument consisting
   of a string containing a single line feed character (U+000A).</p>
 
-  </div><h4 id="innerhtml"><span class="secno">3.7.4 </span><code title="dom-innerHTML"><a href="#dom-innerhtml">innerHTML</a></code></h4><p>The <dfn id="dom-innerhtml" title="dom-innerHTML"><code>innerHTML</code></dfn> DOM
+  </div><h4 id="innerhtml"><span class="secno">3.8.4 </span><code title="dom-innerHTML"><a href="#dom-innerhtml">innerHTML</a></code></h4><p>The <dfn id="dom-innerhtml" title="dom-innerHTML"><code>innerHTML</code></dfn> DOM
   attribute represents the markup of the node's contents.<dl class="domintro"><dt><var title="">document</var> . <code title="dom-innerHTML"><a href="#dom-innerhtml">innerHTML</a></code> [ = <var title="">value</var> ]</dt>
 
    <dd>
@@ -7941,7 +7956,7 @@
 
    </li>
 
-  </ol></div><h4 id="outerhtml"><span class="secno">3.7.5 </span><code title="dom-outerHTML"><a href="#dom-outerhtml">outerHTML</a></code></h4><p>The <dfn id="dom-outerhtml" title="dom-outerHTML"><code>outerHTML</code></dfn> DOM
+  </ol></div><h4 id="outerhtml"><span class="secno">3.8.5 </span><code title="dom-outerHTML"><a href="#dom-outerhtml">outerHTML</a></code></h4><p>The <dfn id="dom-outerhtml" title="dom-outerHTML"><code>outerHTML</code></dfn> DOM
   attribute represents the markup of the element and its contents.<dl class="domintro"><dt><var title="">element</var> . <code title="dom-outerHTML"><a href="#dom-outerhtml">outerHTML</a></code> [ = <var title="">value</var> ]</dt>
 
    <dd>
@@ -8040,7 +8055,7 @@
 
    </li>
 
-  </ol></div><h4 id="insertadjacenthtml"><span class="secno">3.7.6 </span><code title="dom-insertAdjacentHTML"><a href="#dom-insertadjacenthtml">insertAdjacentHTML()</a></code></h4><dl class="domintro"><dt><var title="">element</var> . <code title="dom-insertAdjacentHTML"><a href="#dom-insertadjacenthtml">insertAdjacentHTML</a></code>(<var title="">position</var>, <var title="">text</var>)</dt>
+  </ol></div><h4 id="insertadjacenthtml"><span class="secno">3.8.6 </span><code title="dom-insertAdjacentHTML"><a href="#dom-insertadjacenthtml">insertAdjacentHTML()</a></code></h4><dl class="domintro"><dt><var title="">element</var> . <code title="dom-insertAdjacentHTML"><a href="#dom-insertadjacenthtml">insertAdjacentHTML</a></code>(<var title="">position</var>, <var title="">text</var>)</dt>
 
    <dd>

Received on Friday, 26 June 2009 06:35:48 UTC