Skip to content

Commit

Permalink
[] (0) Add rules for improving compat with XSLT 1.0. (bug 6776)
Browse files Browse the repository at this point in the history
git-svn-id: http://svn.whatwg.org/webapps@3323 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Jun 26, 2009
1 parent 02428ae commit be954c6
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 14 deletions.
54 changes: 40 additions & 14 deletions index
Expand Up @@ -276,14 +276,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>
Expand Down Expand Up @@ -8523,7 +8524,32 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
</dd>


</dl><h3 id=dynamic-markup-insertion><span class=secno>3.7 </span><dfn>Dynamic markup insertion</dfn></h3>
</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>

<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>

<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=#refsXSLT10>[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
Expand All @@ -8533,7 +8559,7 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0



<h4 id=controlling-the-input-stream><span class=secno>3.7.1 </span>Controlling the input stream</h4>
<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
Expand Down Expand Up @@ -8741,7 +8767,7 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0



<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>
<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>

Expand Down Expand Up @@ -8827,7 +8853,7 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
</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>
<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>

Expand All @@ -8854,7 +8880,7 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0



<h4 id=innerhtml><span class=secno>3.7.4 </span><code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code></h4>
<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.</p>
Expand Down Expand Up @@ -8972,7 +8998,7 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0



<h4 id=outerhtml><span class=secno>3.7.5 </span><code title=dom-outerHTML><a href=#dom-outerhtml>outerHTML</a></code></h4>
<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.</p>
Expand Down Expand Up @@ -9079,7 +9105,7 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0



<h4 id=insertadjacenthtml()><span class=secno>3.7.6 </span><code title=dom-insertAdjacentHTML><a href=#dom-insertadjacenthtml>insertAdjacentHTML()</a></code></h4>
<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>

Expand Down
26 changes: 26 additions & 0 deletions source
Expand Up @@ -8711,6 +8711,32 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
</dl>



<h3>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>

<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 <span>HTML
namespace</span>, <span title="converted to ASCII
lowercase">ASCII-lowercase</span> the element's local name, and
<span title="converted to ASCII lowercase">ASCII-lowercase</span>
the names of any non-namespaced attributes on the element.</p>

<p class="note">This requirement is a <span>willful violation</span>
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="#refsXSLT10">[XSLT10]</a></p> <!-- note:
version matters for this ref -->




<h3><dfn>Dynamic markup insertion</dfn></h3>

<p class="note">APIs for dynamically inserting markup into the
Expand Down

0 comments on commit be954c6

Please sign in to comment.