- From: poot <cvsmail@w3.org>
- Date: Mon, 02 May 2011 21:12:41 -0400
- To: public-html-diffs@w3.org
hixie: Try to warn implementors about XSLT. (whatwg r6049) http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.4855&r2=1.4856&f=h http://html5.org/tools/web-apps-tracker?from=6048&to=6049 =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.4855 retrieving revision 1.4856 diff -u -d -r1.4855 -r1.4856 --- Overview.html 2 May 2011 23:14:41 -0000 1.4855 +++ Overview.html 3 May 2011 01:10:26 -0000 1.4856 @@ -340,7 +340,7 @@ <h1>HTML5</h1> <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2> - <h2 class="no-num no-toc" id="editor-s-draft-2-may-2011">Editor's Draft 2 May 2011</h2> + <h2 class="no-num no-toc" id="editor-s-draft-3-may-2011">Editor's Draft 3 May 2011</h2> <dl><dt>Latest Published Version:</dt> <dd><a href="http://www.w3.org/TR/html5/">http://www.w3.org/TR/html5/</a></dd> <dt>Latest Editor's Draft:</dt> @@ -483,7 +483,7 @@ Group</a> is the W3C working group responsible for this specification's progress along the W3C Recommendation track. - This specification is the 2 May 2011 Editor's Draft. + This specification is the 3 May 2011 Editor's Draft. </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>Work on this specification is also done at the <a href="http://www.whatwg.org/">WHATWG</a>. The W3C HTML working group actively pursues convergence with the WHATWG, as required by the <a href="http://www.w3.org/2007/03/HTML-WG-charter">W3C HTML working group charter</a>.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 @@ -672,7 +672,8 @@ <ol> <li><a href="#scriptingLanguages"><span class="secno">4.3.1.1 </span>Scripting languages</a></li> <li><a href="#restrictions-for-contents-of-script-elements"><span class="secno">4.3.1.2 </span>Restrictions for contents of <code>script</code> elements</a></li> - <li><a href="#inline-documentation-for-external-scripts"><span class="secno">4.3.1.3 </span>Inline documentation for external scripts</a></ol></li> + <li><a href="#inline-documentation-for-external-scripts"><span class="secno">4.3.1.3 </span>Inline documentation for external scripts</a></li> + <li><a href="#scriptTagXSLT"><span class="secno">4.3.1.4 </span>Interaction of <code>script</code> elements and XSLT</a></ol></li> <li><a href="#the-noscript-element"><span class="secno">4.3.2 </span>The <code>noscript</code> element</a></ol></li> <li><a href="#sections"><span class="secno">4.4 </span>Sections</a> <ol> @@ -2901,6 +2902,8 @@ <li><dfn id="text"><code>Text</code></dfn> interface</li> <li><dfn id="dom-domimplementation-createdocument" title="dom-DOMImplementation-createDocument"><code>createDocument()</code></dfn> method</li> + <li><dfn id="dom-document-createelement" title="dom-Document-createElement"><code>createElement()</code></dfn> method</li> + <li><dfn id="dom-document-createelementns" title="dom-Document-createElementNS"><code>createElementNS()</code></dfn> method</li> <li><dfn id="dom-document-getelementbyid" title="dom-Document-getElementById"><code>getElementById()</code></dfn> method</li> <li><dfn id="dom-node-insertbefore" title="dom-Node-insertBefore"><code>insertBefore()</code></dfn> method</li> @@ -10116,7 +10119,7 @@ </dd> - <dt><code title="dom-Document-createElement">Document.createElement()</code></dt> + <dt><code title="dom-Document-createElement"><a href="#dom-document-createelement">Document.createElement()</a></code></dt> <dd> @@ -10125,13 +10128,14 @@ the argument before creating the requisite element. <span class="impl">Also, the element created must be in the <a href="#html-namespace-0">HTML namespace</a></span>.</p> - <p class="note">This doesn't apply to <code title="">Document.createElementNS()</code>. Thus, it is possible, - by passing this last method a tag name in the wrong case, to - create an element that appears to have the same tag name as that - of an element defined in this specification when its <code title="dom-Element-tagName"><a href="#dom-element-tagname">tagName</a></code> attribute is examined, but that - doesn't support the corresponding interfaces. The "real" element - name (unaffected by case conversions) can be obtained from the - <code title="dom-Node-localName"><a href="#dom-node-localname">localName</a></code> attribute.</p> + <p class="note">This doesn't apply to <code title="dom-Document-createElementNS"><a href="#dom-document-createelementns">Document.createElementNS()</a></code>. + Thus, it is possible, by passing this last method a tag name in + the wrong case, to create an element that appears to have the same + tag name as that of an element defined in this specification when + its <code title="dom-Element-tagName"><a href="#dom-element-tagname">tagName</a></code> attribute is + examined, but that doesn't support the corresponding interfaces. + The "real" element name (unaffected by case conversions) can be + obtained from the <code title="dom-Node-localName"><a href="#dom-node-localname">localName</a></code> attribute.</p> </dd> @@ -10291,6 +10295,10 @@ manner that would otherwise be incompatible with DOM-based XSLT transformations. (Processors that serialize the output are unaffected.) <a href="#refsXSLT10">[XSLT10]</a></p> + <p class="note">There are also additional comments regarding the + interaction of XSLT and HTML <a href="#scriptTagXSLT">in the + <code>script</code> element section</a>.</p> + </div><h3 id="dynamic-markup-insertion"><span class="secno">3.5 </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> @@ -12935,8 +12943,9 @@ <p class="note">The definition of <a href="#concept-n-noscript" title="concept-n-noscript">scripting is disabled</a> means that, amongst others, the following scripts will not execute: scripts in <code>XMLHttpRequest</code>'s <code title="dom-XMLHttpRequest-responseXML">responseXML</code> - documents, scripts in <code>DOMParser</code>-created - documents, and scripts that are first inserted by a script into a + documents, scripts in <code>DOMParser</code>-created documents, + scripts in documents created by <code>XSLTProcessor</code>'s <code title="dom-XSLTProcessor-transformToDocument">transformToDocument</code> + feature, and scripts that are first inserted by a script into a <code><a href="#document">Document</a></code> that was created using the <code title="dom-DOMImplementation-createDocument"><a href="#dom-domimplementation-createdocument">createDocument()</a></code> API. <a href="#refsXHR">[XHR]</a> <a href="#refsDOMPARSER">[DOMPARSER]</a> <a href="#refsDOMCORE">[DOMCORE]</a></p> @@ -13571,6 +13580,50 @@ // e.stop(); </script></pre> + </div><div class="impl"> + + <h5 id="scriptTagXSLT"><span class="secno">4.3.1.4 </span>Interaction of <code><a href="#script">script</a></code> elements and XSLT</h5> + + <p><i>This section is non-normative.</i></p> + + <p>This specification does not define how XSLT interacts with the + <code><a href="#script">script</a></code> element (or, indeed, how XSLT processing + triggers the <a href="#stop-parsing">stop parsing</a> steps, how it interacts with + the <a href="#navigate" title="navigate">navigation</a> algorithm, or how it + fits in with the <a href="#event-loop">event loop</a>). However, in the absence + of another specification actually defining this, here are some + guidelines for implementors, based on existing implementations:</p> + + <ul><li><p>When an XSLT transformation program is triggered by an <code title=""><?xml-stylesheet?></code> processing instruction and + the browser implements a direct-to-DOM transformation, + <code><a href="#script">script</a></code> elements created by the XSLT processor need to + be marked <a href="#parser-inserted">"parser-inserted"</a> and run in document order + (modulo scripts marked <code title="attr-script-defer"><a href="#attr-script-defer">defer</a></code> + or <code title="attr-script-async"><a href="#attr-script-async">async</a></code>), asynchronously + while the transformation is occurring.</li> + + <li><p>The <code title="dom-XSLTProcessor-transformToDocument">XSLTProcessor.transformToDocument()</code> + method adds elements to a <code><a href="#document">Document</a></code> that is not in a + <a href="#browsing-context">browsing context</a>, and, accordingly, any + <code><a href="#script">script</a></code> elements they create need to have their + <a href="#already-started">"already started"</a> flag set in the <a href="#prepare-a-script">prepare a + script</a> algorithm and never get executed (<a href="#concept-bc-noscript" title="concept-bc-noscript">scripting is disabled</a>). Such + <code><a href="#script">script</a></code> elements still need to be marked + <a href="#parser-inserted">"parser-inserted"</a>, though, such that their <code title="dom-script-async"><a href="#dom-script-async">async</a></code> IDL attribute will return + false in the absence of an <code title="attr-script-async"><a href="#attr-script-async">async</a></code> content attribute.</li> + + <li><p>The <code title="dom-XSLTProcessor-transformToFragment">XSLTProcessor.transformToFragment()</code> + method needs to create a fragment that is equivalent to one built + manually by creating the elements using <code title="dom-document-createElementNS"><a href="#dom-document-createelementns">document.createElementNS()</a></code>. + For instance, it needs to create <code><a href="#script">script</a></code> elements that + aren't <a href="#parser-inserted">"parser-inserted"</a> and that don't have their + <a href="#already-started">"already started"</a> flag set, so that they will execute + when the fragment is inserted into a document.</li> + + </ul><p>The main distinction between the first two cases and the last + case is that the first two operate on <code><a href="#document">Document</a></code>s and the + last operates on a fragment.</p> + </div><h4 id="the-noscript-element"><span class="secno">4.3.2 </span>The <dfn><code>noscript</code></dfn> element</h4><dl class="element"><dt>Categories</dt> <dd><a href="#metadata-content">Metadata content</a>.</dd> <dd><a href="#flow-content">Flow content</a>.</dd>
Received on Tuesday, 3 May 2011 01:12:43 UTC