Permalink
Browse files

[e] (0) Remove bits now specced in DOMPARSING spec.

Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=11204

git-svn-id: http://svn.whatwg.org/webapps@6532 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information...
1 parent 334b91b commit e0a0786410810209cd2038dead6feacefb496931 @Hixie Hixie committed Sep 4, 2011
Showing with 58 additions and 1,326 deletions.
  1. +22 −425 complete.html
  2. +22 −425 index
  3. +14 −476 source
View
447 complete.html
@@ -239,7 +239,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1>Web Applications 1.0</h1>
- <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 29 August 2011</h2>
+ <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 4 September 2011</h2>
</hgroup><dl><dt>Multiple-page version:</dt>
<dd><a href=http://www.whatwg.org/specs/web-apps/current-work/complete/>http://www.whatwg.org/specs/web-apps/current-work/complete/</a></dd>
<dt>One-page version:</dt>
@@ -431,10 +431,7 @@ <h2 class="no-num no-toc" id=contents>Table of contents</h2>
<li><a href=#opening-the-input-stream><span class=secno>3.4.1 </span>Opening the input stream</a></li>
<li><a href=#closing-the-input-stream><span class=secno>3.4.2 </span>Closing the input stream</a></li>
<li><a href=#document.write()><span class=secno>3.4.3 </span><code title=dom-document-write>document.write()</code></a></li>
- <li><a href=#document.writeln()><span class=secno>3.4.4 </span><code title=dom-document-writeln>document.writeln()</code></a></li>
- <li><a href=#innerhtml><span class=secno>3.4.5 </span><code title=dom-innerHTML>innerHTML</code></a></li>
- <li><a href=#outerhtml><span class=secno>3.4.6 </span><code title=dom-outerHTML>outerHTML</code></a></li>
- <li><a href=#insertadjacenthtml()><span class=secno>3.4.7 </span><code title=dom-insertAdjacentHTML>insertAdjacentHTML()</code></a></ol></ol></li>
+ <li><a href=#document.writeln()><span class=secno>3.4.4 </span><code title=dom-document-writeln>document.writeln()</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>
@@ -3869,7 +3866,17 @@ <h4 id=dependencies><span class=secno>2.2.2 </span>Dependencies</h4>
<li><dfn title="dom-Range-startOffset"><code>startOffset</code></dfn> attribute </li>
</ul>
---></dd>
+--><p>In addition, user agents must implement the features defined in
+ the DOM Range, DOM Parsing and Serialization, HTML Editing APIs,
+ and UndoManager and DOM Transaction specifications that apply to
+ their conformance class.
+ <a href=#refsDOMRANGE>[DOMRANGE]</a>
+ <a href=#refsDOMPARSING>[DOMPARSING]</a>
+ <a href=#refsEDITING>[EDITING]</a>
+ <a href=#refsUNDO>[UNDO]</a>
+ </p>
+
+ </dd>
<dt>File API</dt>
@@ -9201,7 +9208,6 @@ <h3 id=documents><span class=secno>3.1 </span>Documents</h3>
<!--CSSREF--> readonly attribute <a href=#domelementmap>DOMElementMap</a> <a href=#dom-document-csselementmap title=dom-document-cssElementMap>cssElementMap</a>;<!--CSSREF-->
// <a href=#dynamic-markup-insertion>dynamic markup insertion</a>
- attribute DOMString <a href=#dom-innerhtml title=dom-innerHTML>innerHTML</a>;
<a href=#htmldocument>HTMLDocument</a> <a href=#dom-document-open title=dom-document-open>open</a>(optional DOMString type, optional DOMString replace);
<a href=#windowproxy>WindowProxy</a> <a href=#dom-document-open title=dom-document-open>open</a>(DOMString url, DOMString name, DOMString features, optional boolean replace);
void <a href=#dom-document-close title=dom-document-close>close</a>();
@@ -10211,11 +10217,6 @@ <h4 id=elements-in-the-dom><span class=secno>3.2.2 </span>Elements in the DOM</h
requirements,</span> is the <code><a href=#htmlelement>HTMLElement</a></code> interface.</p>
<pre class=idl>interface <dfn id=htmlelement>HTMLElement</dfn> : <a href=#element>Element</a> {
- // <a href=#dynamic-markup-insertion>dynamic markup insertion</a>
- attribute DOMString <a href=#dom-innerhtml title=dom-innerHTML>innerHTML</a>;
- attribute DOMString <a href=#dom-outerhtml title=dom-outerHTML>outerHTML</a>;
- void <a href=#dom-insertadjacenthtml title=dom-insertAdjacentHTML>insertAdjacentHTML</a>(DOMString position, DOMString text);
-
// <span>metadata attributes</span>
attribute DOMString <a href=#dom-id title=dom-id>id</a>;
attribute DOMString <a href=#dom-title title=dom-title>title</a>;
@@ -13130,410 +13131,6 @@ <h4 id=document.writeln()><span class=secno>3.4.4 </span><code title=dom-documen
- <h4 id=innerhtml><span class=secno>3.4.5 </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> IDL
- attribute represents the markup of the node's contents.</p>
-
- <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>
-
- <p>Returns a fragment of HTML or XML that represents the
- <code><a href=#document>Document</a></code>.</p>
-
- <p>Can be set, to replace the <code><a href=#document>Document</a></code>'s contents
- with the result of parsing the given string.</p>
-
- <p>In the case of <a href=#xml-documents>XML documents</a>, will throw an
- <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> if the <code><a href=#document>Document</a></code> cannot
- be serialized to XML, and a <code><a href=#syntax_err>SYNTAX_ERR</a></code> if the given
- string is not well-formed.</p>
-
- </dd>
-
- <dt><var title="">element</var> . <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> [ = <var title="">value</var> ]</dt>
-
- <dd>
-
- <p>Returns a fragment of HTML or XML that represents the element's
- contents.</p>
-
- <p>Can be set, to replace the contents of the element with nodes
- parsed from the given string.</p>
-
- <p>In the case of <a href=#xml-documents>XML documents</a>, will throw an
- <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> if the element cannot be serialized
- to XML, and a <code><a href=#syntax_err>SYNTAX_ERR</a></code> if the given string is not
- well-formed.</p>
-
- </dd>
-
- </dl><div class=impl>
-
- <p>On getting, if the node's document is an <a href=#html-documents title="HTML
- documents">HTML document</a>, then the attribute must return the
- result of running the <a href=#html-fragment-serialization-algorithm>HTML fragment serialization
- algorithm</a> on the node; otherwise, the node's document is an
- <a href=#xml-documents title="XML documents">XML document</a>, and the attribute
- must return the result of running the <a href=#xml-fragment-serialization-algorithm>XML fragment
- serialization algorithm</a> on the node instead (this might raise
- an exception instead of returning a string).</p>
-
- <p>On setting, the following steps must be run:</p>
-
- <ol><li>
-
- <p>If the node's document is an <a href=#html-documents title="HTML documents">HTML
- document</a>: Invoke the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing
- algorithm</a>.</p>
-
- <p>If the node's document is an <a href=#xml-documents title="XML documents">XML
- document</a>: Invoke the <a href=#xml-fragment-parsing-algorithm>XML fragment parsing
- algorithm</a>.</p>
-
- <p>In either case, the algorithm must be invoked with the string
- being assigned into the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> attribute as the <var title="">input</var>. If the node is an <code><a href=#element>Element</a></code>
- node, then, in addition, that element must be passed as the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element.</p>
-
- <p>If this raises an exception, then abort these steps.</p>
-
- <p>Otherwise, let <var title="">new children</var> be the nodes
- returned.</p>
-
- </li>
-
- <li>
-
- <p>If the attribute is being set on a <code><a href=#document>Document</a></code> node,
- and that document has an <a href=#active-parser>active parser</a>, then abort
- that parser.</p>
-
- </li>
-
- <li>
-
- <p>Remove the child nodes of the node whose <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> attribute is being set,
- firing appropriate mutation events.</p>
-
- </li>
-
- <li>
-
- <p>If the attribute is being set on a <code><a href=#document>Document</a></code> node,
- let <var title="">target document</var> be that
- <code><a href=#document>Document</a></code> node. Otherwise, the attribute is being set
- on an <code><a href=#element>Element</a></code> node; let <var title="">target
- document</var> be the <code title=dom-Node-ownerDocument><a href=#dom-node-ownerdocument>ownerDocument</a></code> of that
- <code><a href=#element>Element</a></code>.</p>
-
- </li>
-
- <li>
-
- <p>Set the <code title=dom-Node-ownerDocument><a href=#dom-node-ownerdocument>ownerDocument</a></code> of all the
- nodes in <var title="">new children</var> to the <var title="">target document</var>.</p>
-
- </li>
-
- <li>
-
- <p>Append all the <var title="">new children</var> nodes to the
- node whose <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> attribute
- is being set, preserving their order, and firing mutation events
- as if a <code><a href=#documentfragment>DocumentFragment</a></code> containing the <var title="">new children</var> had been inserted.</p>
-
- </li>
-
- </ol></div>
-
-
-
- <h4 id=outerhtml><span class=secno>3.4.6 </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> IDL
- attribute represents the markup of the element and its contents.</p>
-
- <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>
-
- <p>Returns a fragment of HTML or XML that represents the element
- and its contents.</p>
-
- <p>Can be set, to replace the element with nodes parsed from the
- given string.</p>
-
- <p>In the case of <a href=#xml-documents>XML documents</a>, will throw an
- <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> if the element cannot be serialized
- to XML, and a <code><a href=#syntax_err>SYNTAX_ERR</a></code> if the given string is not
- well-formed.</p>
-
- <p>Throws a <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception if
- the parent of the element is the <code><a href=#document>Document</a></code>
- node.</p>
-
- </dd>
-
- </dl><div class=impl>
-
- <p>On getting, if the node's document is an <a href=#html-documents title="HTML
- documents">HTML document</a>, then the attribute must return the
- result of running the <a href=#html-fragment-serialization-algorithm>HTML fragment serialization
- algorithm</a> on a fictional node whose only child is the node on
- which the attribute was invoked; otherwise, the node's document is
- an <a href=#xml-documents title="XML documents">XML document</a>, and the
- attribute must return the result of running the <a href=#xml-fragment-serialization-algorithm>XML fragment
- serialization algorithm</a> on that fictional node instead (this
- might raise an exception instead of returning a string).</p>
-
- <p>On setting, the following steps must be run:</p>
-
- <ol><li>
-
- <p>Let <var title="">target</var> be the element whose <code title=dom-outerHTML><a href=#dom-outerhtml>outerHTML</a></code> attribute is being
- set.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">target</var> has no parent node, then abort
- these steps. There would be no way to obtain a reference to the
- nodes created even if the remaining steps were run.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">target</var>'s parent node is a
- <code><a href=#document>Document</a></code> object, throw a
- <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception and abort these
- steps.</p>
-
- </li>
-
- <li>
-
- <p>Let <var title="">parent</var> be <var title="">target</var>'s
- parent node, unless that is a <code><a href=#documentfragment>DocumentFragment</a></code> node,
- in which case let <var title="">parent</var> be an arbitrary
- <code><a href=#the-body-element>body</a></code> element.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">target</var>'s document is an <a href=#html-documents title="HTML documents">HTML document</a>: Invoke the <a href=#html-fragment-parsing-algorithm>HTML
- fragment parsing algorithm</a>.</p>
-
- <p>If <var title="">target</var>'s document is an <a href=#xml-documents title="XML
- documents">XML document</a>: Invoke the <a href=#xml-fragment-parsing-algorithm>XML fragment
- parsing algorithm</a>.</p>
-
- <p>In either case, the algorithm must be invoked with the string
- being assigned into the <code title=dom-outerHTML><a href=#dom-outerhtml>outerHTML</a></code> attribute as the <var title="">input</var>, and <var title="">parent</var> as the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element.</p>
-
- <p>If this raises an exception, then abort these steps.</p>
-
- <p>Otherwise, let <var title="">new children</var> be the nodes
- returned.</p>
-
- </li>
-
- <li>
-
- <p>Set the <code title=dom-Node-ownerDocument><a href=#dom-node-ownerdocument>ownerDocument</a></code> of all the
- nodes in <var title="">new children</var> to <var title="">target</var>'s document.</p>
-
- </li>
-
- <li>
-
- <p>Remove <var title="">target</var> from its parent node, firing
- mutation events as appropriate, and then insert in its place all
- the <var title="">new children</var> nodes, preserving their
- order, and again firing mutation events as if a
- <code><a href=#documentfragment>DocumentFragment</a></code> containing the <var title="">new
- children</var> had been inserted.</p>
-
- </li>
-
- </ol></div>
-
-
-
- <h4 id=insertadjacenthtml()><span class=secno>3.4.7 </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>
-
- <p>Parses the given string <var title="">text</var> as HTML or XML
- and inserts the resulting nodes into the tree in the position
- given by the <var title="">position</var> argument, as
- follows:</p>
-
- <dl><dt>"beforebegin"</dt>
- <dd>Before the element itself.</dd>
- <dt>"afterbegin"</dt>
- <dd>Just inside the element, before its first child.</dd>
- <dt>"beforeend"</dt>
- <dd>Just inside the element, after its last child.</dd>
- <dt>"afterend"</dt>
- <dd>After the element itself.</dd>
- </dl><p>Throws a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception if the arguments
- have invalid values (e.g., in the case of <a href=#xml-documents>XML
- documents</a>, if the given string is not well-formed).</p>
-
- <p>Throws a <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception if
- the given position isn't possible (e.g. inserting elements after
- the root element of a <code><a href=#document>Document</a></code>).</p>
-
- </dd>
-
- </dl><div class=impl>
-
- <p>The <dfn id=dom-insertadjacenthtml title=dom-insertAdjacentHTML><code>insertAdjacentHTML(<var title="">position</var>, <var title="">text</var>)</code></dfn>
- method, when invoked, must run the following algorithm:</p>
-
- <ol><li>
-
- <p>Let <var title="">position</var> and <var title="">text</var>
- be the method's first and second arguments, respectively.</p>
-
- </li>
-
- <li>
-
- <p>Let <var title="">target</var> be the element on which the
- method was invoked.</p>
-
- </li>
-
- <li>
-
- <p>Use the first matching item from this list:</p>
-
- <dl><dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "beforebegin"</dt>
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "afterend"</dt>
-
- <dd>
-
- <p>If <var title="">target</var> has no parent node, then abort
- these steps.</p>
-
- <p>If <var title="">target</var>'s parent node is a
- <code><a href=#document>Document</a></code> object, then throw a
- <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception and abort
- these steps.
-
- <p>Otherwise, let <var title="">destination</var> be the parent node
- of <var title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "afterbegin"</dt>
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "beforeend"</dt>
-
- <dd>
-
- <p>Let <var title="">destination</var> be the same as <var title="">target</var>.</p>
-
- </dd>
-
- <dt>Otherwise</dt>
-
- <dd>
-
- <p>Throw a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception.</p>
-
- </dd>
-
- </dl></li>
-
- <li>
-
- <p>If <var title="">target</var>'s document is an <a href=#html-documents title="HTML documents">HTML document</a>: Invoke the <a href=#html-fragment-parsing-algorithm>HTML
- fragment parsing algorithm</a>.</p>
-
- <p>If <var title="">target</var>'s document is an <a href=#xml-documents title="XML
- documents">XML document</a>: Invoke the <a href=#xml-fragment-parsing-algorithm>XML fragment
- parsing algorithm</a>.</p>
-
- <p>In either case, the algorithm must be invoked with <var title="">text</var> as the <var title="">input</var>, and <var title="">destination</var> as the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element.</p>
-
- <p>If this raises an exception, then abort these steps.</p>
-
- <p>Otherwise, let <var title="">new children</var> be the nodes
- returned.</p>
-
- </li>
-
- <li>
-
- <p>Set the <code title=dom-Node-ownerDocument><a href=#dom-node-ownerdocument>ownerDocument</a></code> of all the
- nodes in <var title="">new children</var> to <var title="">target</var>'s document.</p>
-
- </li>
-
- <li>
-
- <p>Use the first matching item from this list:</p>
-
- <dl><dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "beforebegin"</dt>
-
- <dd>
-
- <p>Insert all the <var title="">new children</var> nodes
- immediately before <var title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "afterbegin"</dt>
-
- <dd>
-
- <p>Insert all the <var title="">new children</var> nodes before
- the first child of <var title="">target</var>, if there is
- one. If there is no such child, append them all to <var title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "beforeend"</dt>
-
- <dd>
-
- <p>Append all the <var title="">new children</var> nodes to <var title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "afterend"</dt>
-
- <dd>
-
- <p>Insert all the <var title="">new children</var> nodes
- immediately after <var title="">target</var>.</p>
-
- </dd>
-
- </dl><p>The <var title="">new children</var> nodes must be inserted in
- a manner that preserves their order and fires mutation events as
- if a <code><a href=#documentfragment>DocumentFragment</a></code> containing the <var title="">new children</var> had been inserted.</p>
-
- </li>
-
- </ol></div>
-
-
<h2 id=semantics><span class=secno>4 </span>The elements of HTML</h2>
@@ -15896,7 +15493,7 @@ <h4 id=the-script-element><span class=secno>4.3.1 </span>The <dfn id=script><cod
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
+ API. <a href=#refsXHR>[XHR]</a> <a href=#refsDOMPARSING>[DOMPARSING]</a> <!--<a
href="#refsXSLTP">[XSLTP]</a>--> <a href=#refsDOMCORE>[DOMCORE]</a></p>
@@ -16374,7 +15971,7 @@ <h4 id=the-script-element><span class=secno>4.3.1 </span>The <dfn id=script><cod
<p class=note>When inserted using the <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code> method,
<code><a href=#the-script-element>script</a></code> elements execute (typically synchronously), but
- when inserted using <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> and <code title=dom-outerHTML><a href=#dom-outerhtml>outerHTML</a></code> attributes, they do not
+ when inserted using <code title=dom-innerHTML>innerHTML</code> and <code title=dom-outerHTML>outerHTML</code> attributes, they do not
execute at all.</p>
<div class=example>
@@ -16754,7 +16351,7 @@ <h4 id=the-noscript-element><span class=secno>4.3.2 </span>The <dfn><code>noscri
<a href=#text-node>text node</a> children of the <code><a href=#the-noscript-element>noscript</a></code>
element.</li>
- <li>Set the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code>
+ <li>Set the <code title=dom-innerHTML>innerHTML</code>
attribute of the <var title="">parent element</var> to the value
of <var title="">s</var>. (This, as a side-effect, causes the
<code><a href=#the-noscript-element>noscript</a></code> element to be removed from the
@@ -51267,7 +50864,7 @@ <h4 id=association-of-controls-and-forms><span class=secno>4.10.18 </span>Associ
outer form "a".</p>
<p>This happens as follows: First, the "e" node gets associated
- with "c" in the <a href=#html-parser>HTML parser</a>. Then, the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> algorithm moves the nodes
+ with "c" in the <a href=#html-parser>HTML parser</a>. Then, the <code title=dom-innerHTML>innerHTML</code> algorithm moves the nodes
from the temporary document to the "b" element. At this point, the
nodes see their ancestor chain change, and thus all the "magic"
associations done by the parser are reset to normal ancestor
@@ -91416,11 +91013,11 @@ <h3 id=serializing-html-fragments><span class=secno>13.3 </span>Serializing HTML
<p>This can enable cross-site scripting attacks. An example of this
would be a page that lets the user enter some font names that are
then inserted into a CSS <code><a href=#the-style-element>style</a></code> block via the DOM and
- which then uses the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code>
+ which then uses the <code title=dom-innerHTML>innerHTML</code>
IDL attribute to get the HTML serialization of that
<code><a href=#the-style-element>style</a></code> element: if the user enters
"<code>&lt;/style&gt;&lt;script&gt;attack&lt;/script&gt;</code>" as a font
- name, <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> will return
+ name, <code title=dom-innerHTML>innerHTML</code> will return
markup that, if parsed in a different context, would contain a
<code><a href=#the-script-element>script</a></code> node, even though no <code><a href=#the-script-element>script</a></code> node
existed in the original DOM.</p>
@@ -100775,11 +100372,11 @@ <h3 class="no-num">Reflecting IDL attributes</h3>
Object Model (DOM) Level 3 Events Specification</a></cite>,
D. Schepers. W3C.</dd>
- <dt id=refsDOMPARSER>[DOMPARSER]</dt>
- <dd>(Non-normative) <cite><a href=http://html5.org/specs/dom-parsing.html>DOM Parsing and Serialization</a></cite>, Ms2ger. html5.org.</dd>
+ <dt id=refsDOMPARSING>[DOMPARSING]</dt>
+ <dd><cite><a href=http://html5.org/specs/dom-parsing.html>DOM Parsing and Serialization</a></cite>, Ms2ger. html5.org.</dd>
<dt id=refsDOMRANGE>[DOMRANGE]</dt>
- <dd><cite><a href=http://html5.org/specs/dom-range.html>DOM Range</a></cite>, Ms2ger. html5.org.</dd>
+ <dd><cite><a href=http://html5.org/specs/dom-range.html>DOM Range</a></cite>, A. Gregor, Ms2ger. html5.org.</dd>
<dt id=refsE163>[E163]</dt>
<dd><cite>Recommendation E.163 &mdash; Numbering Plan for The International
View
447 index
@@ -243,7 +243,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1 class=allcaps>HTML</h1>
- <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 29 August 2011</h2>
+ <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 4 September 2011</h2>
</hgroup><dl><dt><strong>Web developer edition</strong></dt>
<dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
<dt>Multiple-page version:</dt>
@@ -431,10 +431,7 @@
<li><a href=#opening-the-input-stream><span class=secno>3.4.1 </span>Opening the input stream</a></li>
<li><a href=#closing-the-input-stream><span class=secno>3.4.2 </span>Closing the input stream</a></li>
<li><a href=#document.write()><span class=secno>3.4.3 </span><code title=dom-document-write>document.write()</code></a></li>
- <li><a href=#document.writeln()><span class=secno>3.4.4 </span><code title=dom-document-writeln>document.writeln()</code></a></li>
- <li><a href=#innerhtml><span class=secno>3.4.5 </span><code title=dom-innerHTML>innerHTML</code></a></li>
- <li><a href=#outerhtml><span class=secno>3.4.6 </span><code title=dom-outerHTML>outerHTML</code></a></li>
- <li><a href=#insertadjacenthtml()><span class=secno>3.4.7 </span><code title=dom-insertAdjacentHTML>insertAdjacentHTML()</code></a></ol></ol></li>
+ <li><a href=#document.writeln()><span class=secno>3.4.4 </span><code title=dom-document-writeln>document.writeln()</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>
@@ -3766,7 +3763,17 @@ a.setAttribute('href', 'http://example.com/'); // change the content attribute d
<li><dfn title="dom-Range-startOffset"><code>startOffset</code></dfn> attribute </li>
</ul>
---></dd>
+--><p>In addition, user agents must implement the features defined in
+ the DOM Range, DOM Parsing and Serialization, HTML Editing APIs,
+ and UndoManager and DOM Transaction specifications that apply to
+ their conformance class.
+ <a href=#refsDOMRANGE>[DOMRANGE]</a>
+ <a href=#refsDOMPARSING>[DOMPARSING]</a>
+ <a href=#refsEDITING>[EDITING]</a>
+ <a href=#refsUNDO>[UNDO]</a>
+ </p>
+
+ </dd>
<dt>File API</dt>
@@ -9065,7 +9072,6 @@ interface <dfn id=htmldocument>HTMLDocument</dfn> {
<!--CSSREF--> readonly attribute <a href=#domelementmap>DOMElementMap</a> <a href=#dom-document-csselementmap title=dom-document-cssElementMap>cssElementMap</a>;<!--CSSREF-->
// <a href=#dynamic-markup-insertion>dynamic markup insertion</a>
- attribute DOMString <a href=#dom-innerhtml title=dom-innerHTML>innerHTML</a>;
<a href=#htmldocument>HTMLDocument</a> <a href=#dom-document-open title=dom-document-open>open</a>(optional DOMString type, optional DOMString replace);
<a href=#windowproxy>WindowProxy</a> <a href=#dom-document-open title=dom-document-open>open</a>(DOMString url, DOMString name, DOMString features, optional boolean replace);
void <a href=#dom-document-close title=dom-document-close>close</a>();
@@ -10075,11 +10081,6 @@ interface <dfn id=xmldocumentloader>XMLDocumentLoader</dfn> {
requirements,</span> is the <code><a href=#htmlelement>HTMLElement</a></code> interface.</p>
<pre class=idl>interface <dfn id=htmlelement>HTMLElement</dfn> : <a href=#element>Element</a> {
- // <a href=#dynamic-markup-insertion>dynamic markup insertion</a>
- attribute DOMString <a href=#dom-innerhtml title=dom-innerHTML>innerHTML</a>;
- attribute DOMString <a href=#dom-outerhtml title=dom-outerHTML>outerHTML</a>;
- void <a href=#dom-insertadjacenthtml title=dom-insertAdjacentHTML>insertAdjacentHTML</a>(DOMString position, DOMString text);
-
// <span>metadata attributes</span>
attribute DOMString <a href=#dom-id title=dom-id>id</a>;
attribute DOMString <a href=#dom-title title=dom-title>title</a>;
@@ -12994,410 +12995,6 @@ plaintext = *( %x0000-2029 / %x202F-10FFFF )
- <h4 id=innerhtml><span class=secno>3.4.5 </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> IDL
- attribute represents the markup of the node's contents.</p>
-
- <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>
-
- <p>Returns a fragment of HTML or XML that represents the
- <code><a href=#document>Document</a></code>.</p>
-
- <p>Can be set, to replace the <code><a href=#document>Document</a></code>'s contents
- with the result of parsing the given string.</p>
-
- <p>In the case of <a href=#xml-documents>XML documents</a>, will throw an
- <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> if the <code><a href=#document>Document</a></code> cannot
- be serialized to XML, and a <code><a href=#syntax_err>SYNTAX_ERR</a></code> if the given
- string is not well-formed.</p>
-
- </dd>
-
- <dt><var title="">element</var> . <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> [ = <var title="">value</var> ]</dt>
-
- <dd>
-
- <p>Returns a fragment of HTML or XML that represents the element's
- contents.</p>
-
- <p>Can be set, to replace the contents of the element with nodes
- parsed from the given string.</p>
-
- <p>In the case of <a href=#xml-documents>XML documents</a>, will throw an
- <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> if the element cannot be serialized
- to XML, and a <code><a href=#syntax_err>SYNTAX_ERR</a></code> if the given string is not
- well-formed.</p>
-
- </dd>
-
- </dl><div class=impl>
-
- <p>On getting, if the node's document is an <a href=#html-documents title="HTML
- documents">HTML document</a>, then the attribute must return the
- result of running the <a href=#html-fragment-serialization-algorithm>HTML fragment serialization
- algorithm</a> on the node; otherwise, the node's document is an
- <a href=#xml-documents title="XML documents">XML document</a>, and the attribute
- must return the result of running the <a href=#xml-fragment-serialization-algorithm>XML fragment
- serialization algorithm</a> on the node instead (this might raise
- an exception instead of returning a string).</p>
-
- <p>On setting, the following steps must be run:</p>
-
- <ol><li>
-
- <p>If the node's document is an <a href=#html-documents title="HTML documents">HTML
- document</a>: Invoke the <a href=#html-fragment-parsing-algorithm>HTML fragment parsing
- algorithm</a>.</p>
-
- <p>If the node's document is an <a href=#xml-documents title="XML documents">XML
- document</a>: Invoke the <a href=#xml-fragment-parsing-algorithm>XML fragment parsing
- algorithm</a>.</p>
-
- <p>In either case, the algorithm must be invoked with the string
- being assigned into the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> attribute as the <var title="">input</var>. If the node is an <code><a href=#element>Element</a></code>
- node, then, in addition, that element must be passed as the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element.</p>
-
- <p>If this raises an exception, then abort these steps.</p>
-
- <p>Otherwise, let <var title="">new children</var> be the nodes
- returned.</p>
-
- </li>
-
- <li>
-
- <p>If the attribute is being set on a <code><a href=#document>Document</a></code> node,
- and that document has an <a href=#active-parser>active parser</a>, then abort
- that parser.</p>
-
- </li>
-
- <li>
-
- <p>Remove the child nodes of the node whose <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> attribute is being set,
- firing appropriate mutation events.</p>
-
- </li>
-
- <li>
-
- <p>If the attribute is being set on a <code><a href=#document>Document</a></code> node,
- let <var title="">target document</var> be that
- <code><a href=#document>Document</a></code> node. Otherwise, the attribute is being set
- on an <code><a href=#element>Element</a></code> node; let <var title="">target
- document</var> be the <code title=dom-Node-ownerDocument><a href=#dom-node-ownerdocument>ownerDocument</a></code> of that
- <code><a href=#element>Element</a></code>.</p>
-
- </li>
-
- <li>
-
- <p>Set the <code title=dom-Node-ownerDocument><a href=#dom-node-ownerdocument>ownerDocument</a></code> of all the
- nodes in <var title="">new children</var> to the <var title="">target document</var>.</p>
-
- </li>
-
- <li>
-
- <p>Append all the <var title="">new children</var> nodes to the
- node whose <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> attribute
- is being set, preserving their order, and firing mutation events
- as if a <code><a href=#documentfragment>DocumentFragment</a></code> containing the <var title="">new children</var> had been inserted.</p>
-
- </li>
-
- </ol></div>
-
-
-
- <h4 id=outerhtml><span class=secno>3.4.6 </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> IDL
- attribute represents the markup of the element and its contents.</p>
-
- <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>
-
- <p>Returns a fragment of HTML or XML that represents the element
- and its contents.</p>
-
- <p>Can be set, to replace the element with nodes parsed from the
- given string.</p>
-
- <p>In the case of <a href=#xml-documents>XML documents</a>, will throw an
- <code><a href=#invalid_state_err>INVALID_STATE_ERR</a></code> if the element cannot be serialized
- to XML, and a <code><a href=#syntax_err>SYNTAX_ERR</a></code> if the given string is not
- well-formed.</p>
-
- <p>Throws a <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception if
- the parent of the element is the <code><a href=#document>Document</a></code>
- node.</p>
-
- </dd>
-
- </dl><div class=impl>
-
- <p>On getting, if the node's document is an <a href=#html-documents title="HTML
- documents">HTML document</a>, then the attribute must return the
- result of running the <a href=#html-fragment-serialization-algorithm>HTML fragment serialization
- algorithm</a> on a fictional node whose only child is the node on
- which the attribute was invoked; otherwise, the node's document is
- an <a href=#xml-documents title="XML documents">XML document</a>, and the
- attribute must return the result of running the <a href=#xml-fragment-serialization-algorithm>XML fragment
- serialization algorithm</a> on that fictional node instead (this
- might raise an exception instead of returning a string).</p>
-
- <p>On setting, the following steps must be run:</p>
-
- <ol><li>
-
- <p>Let <var title="">target</var> be the element whose <code title=dom-outerHTML><a href=#dom-outerhtml>outerHTML</a></code> attribute is being
- set.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">target</var> has no parent node, then abort
- these steps. There would be no way to obtain a reference to the
- nodes created even if the remaining steps were run.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">target</var>'s parent node is a
- <code><a href=#document>Document</a></code> object, throw a
- <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception and abort these
- steps.</p>
-
- </li>
-
- <li>
-
- <p>Let <var title="">parent</var> be <var title="">target</var>'s
- parent node, unless that is a <code><a href=#documentfragment>DocumentFragment</a></code> node,
- in which case let <var title="">parent</var> be an arbitrary
- <code><a href=#the-body-element>body</a></code> element.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">target</var>'s document is an <a href=#html-documents title="HTML documents">HTML document</a>: Invoke the <a href=#html-fragment-parsing-algorithm>HTML
- fragment parsing algorithm</a>.</p>
-
- <p>If <var title="">target</var>'s document is an <a href=#xml-documents title="XML
- documents">XML document</a>: Invoke the <a href=#xml-fragment-parsing-algorithm>XML fragment
- parsing algorithm</a>.</p>
-
- <p>In either case, the algorithm must be invoked with the string
- being assigned into the <code title=dom-outerHTML><a href=#dom-outerhtml>outerHTML</a></code> attribute as the <var title="">input</var>, and <var title="">parent</var> as the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element.</p>
-
- <p>If this raises an exception, then abort these steps.</p>
-
- <p>Otherwise, let <var title="">new children</var> be the nodes
- returned.</p>
-
- </li>
-
- <li>
-
- <p>Set the <code title=dom-Node-ownerDocument><a href=#dom-node-ownerdocument>ownerDocument</a></code> of all the
- nodes in <var title="">new children</var> to <var title="">target</var>'s document.</p>
-
- </li>
-
- <li>
-
- <p>Remove <var title="">target</var> from its parent node, firing
- mutation events as appropriate, and then insert in its place all
- the <var title="">new children</var> nodes, preserving their
- order, and again firing mutation events as if a
- <code><a href=#documentfragment>DocumentFragment</a></code> containing the <var title="">new
- children</var> had been inserted.</p>
-
- </li>
-
- </ol></div>
-
-
-
- <h4 id=insertadjacenthtml()><span class=secno>3.4.7 </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>
-
- <p>Parses the given string <var title="">text</var> as HTML or XML
- and inserts the resulting nodes into the tree in the position
- given by the <var title="">position</var> argument, as
- follows:</p>
-
- <dl><dt>"beforebegin"</dt>
- <dd>Before the element itself.</dd>
- <dt>"afterbegin"</dt>
- <dd>Just inside the element, before its first child.</dd>
- <dt>"beforeend"</dt>
- <dd>Just inside the element, after its last child.</dd>
- <dt>"afterend"</dt>
- <dd>After the element itself.</dd>
- </dl><p>Throws a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception if the arguments
- have invalid values (e.g., in the case of <a href=#xml-documents>XML
- documents</a>, if the given string is not well-formed).</p>
-
- <p>Throws a <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception if
- the given position isn't possible (e.g. inserting elements after
- the root element of a <code><a href=#document>Document</a></code>).</p>
-
- </dd>
-
- </dl><div class=impl>
-
- <p>The <dfn id=dom-insertadjacenthtml title=dom-insertAdjacentHTML><code>insertAdjacentHTML(<var title="">position</var>, <var title="">text</var>)</code></dfn>
- method, when invoked, must run the following algorithm:</p>
-
- <ol><li>
-
- <p>Let <var title="">position</var> and <var title="">text</var>
- be the method's first and second arguments, respectively.</p>
-
- </li>
-
- <li>
-
- <p>Let <var title="">target</var> be the element on which the
- method was invoked.</p>
-
- </li>
-
- <li>
-
- <p>Use the first matching item from this list:</p>
-
- <dl><dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "beforebegin"</dt>
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "afterend"</dt>
-
- <dd>
-
- <p>If <var title="">target</var> has no parent node, then abort
- these steps.</p>
-
- <p>If <var title="">target</var>'s parent node is a
- <code><a href=#document>Document</a></code> object, then throw a
- <code><a href=#no_modification_allowed_err>NO_MODIFICATION_ALLOWED_ERR</a></code> exception and abort
- these steps.
-
- <p>Otherwise, let <var title="">destination</var> be the parent node
- of <var title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "afterbegin"</dt>
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "beforeend"</dt>
-
- <dd>
-
- <p>Let <var title="">destination</var> be the same as <var title="">target</var>.</p>
-
- </dd>
-
- <dt>Otherwise</dt>
-
- <dd>
-
- <p>Throw a <code><a href=#syntax_err>SYNTAX_ERR</a></code> exception.</p>
-
- </dd>
-
- </dl></li>
-
- <li>
-
- <p>If <var title="">target</var>'s document is an <a href=#html-documents title="HTML documents">HTML document</a>: Invoke the <a href=#html-fragment-parsing-algorithm>HTML
- fragment parsing algorithm</a>.</p>
-
- <p>If <var title="">target</var>'s document is an <a href=#xml-documents title="XML
- documents">XML document</a>: Invoke the <a href=#xml-fragment-parsing-algorithm>XML fragment
- parsing algorithm</a>.</p>
-
- <p>In either case, the algorithm must be invoked with <var title="">text</var> as the <var title="">input</var>, and <var title="">destination</var> as the <var title=concept-frag-parse-context><a href=#concept-frag-parse-context>context</a></var> element.</p>
-
- <p>If this raises an exception, then abort these steps.</p>
-
- <p>Otherwise, let <var title="">new children</var> be the nodes
- returned.</p>
-
- </li>
-
- <li>
-
- <p>Set the <code title=dom-Node-ownerDocument><a href=#dom-node-ownerdocument>ownerDocument</a></code> of all the
- nodes in <var title="">new children</var> to <var title="">target</var>'s document.</p>
-
- </li>
-
- <li>
-
- <p>Use the first matching item from this list:</p>
-
- <dl><dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "beforebegin"</dt>
-
- <dd>
-
- <p>Insert all the <var title="">new children</var> nodes
- immediately before <var title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "afterbegin"</dt>
-
- <dd>
-
- <p>Insert all the <var title="">new children</var> nodes before
- the first child of <var title="">target</var>, if there is
- one. If there is no such child, append them all to <var title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "beforeend"</dt>
-
- <dd>
-
- <p>Append all the <var title="">new children</var> nodes to <var title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <a href=#ascii-case-insensitive>ASCII
- case-insensitive</a> match for the string "afterend"</dt>
-
- <dd>
-
- <p>Insert all the <var title="">new children</var> nodes
- immediately after <var title="">target</var>.</p>
-
- </dd>
-
- </dl><p>The <var title="">new children</var> nodes must be inserted in
- a manner that preserves their order and fires mutation events as
- if a <code><a href=#documentfragment>DocumentFragment</a></code> containing the <var title="">new children</var> had been inserted.</p>
-
- </li>
-
- </ol></div>
-
-
<h2 id=semantics><span class=secno>4 </span>The elements of HTML</h2>
@@ -15760,7 +15357,7 @@ c-end = "--&gt;"</pre>
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
+ API. <a href=#refsXHR>[XHR]</a> <a href=#refsDOMPARSING>[DOMPARSING]</a> <!--<a
href="#refsXSLTP">[XSLTP]</a>--> <a href=#refsDOMCORE>[DOMCORE]</a></p>
@@ -16238,7 +15835,7 @@ c-end = "--&gt;"</pre>
<p class=note>When inserted using the <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code> method,
<code><a href=#the-script-element>script</a></code> elements execute (typically synchronously), but
- when inserted using <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> and <code title=dom-outerHTML><a href=#dom-outerhtml>outerHTML</a></code> attributes, they do not
+ when inserted using <code title=dom-innerHTML>innerHTML</code> and <code title=dom-outerHTML>outerHTML</code> attributes, they do not
execute at all.</p>
<div class=example>
@@ -16618,7 +16215,7 @@ not-slash = %x0000-002E / %x0030-10FFFF
<a href=#text-node>text node</a> children of the <code><a href=#the-noscript-element>noscript</a></code>
element.</li>
- <li>Set the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code>
+ <li>Set the <code title=dom-innerHTML>innerHTML</code>
attribute of the <var title="">parent element</var> to the value
of <var title="">s</var>. (This, as a side-effect, causes the
<code><a href=#the-noscript-element>noscript</a></code> element to be removed from the
@@ -51134,7 +50731,7 @@ out of 233&thinsp;257&thinsp;824 bytes available&lt;/meter&gt;&lt;/p&gt;</pre>
outer form "a".</p>
<p>This happens as follows: First, the "e" node gets associated
- with "c" in the <a href=#html-parser>HTML parser</a>. Then, the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> algorithm moves the nodes
+ with "c" in the <a href=#html-parser>HTML parser</a>. Then, the <code title=dom-innerHTML>innerHTML</code> algorithm moves the nodes
from the temporary document to the "b" element. At this point, the
nodes see their ancestor chain change, and thus all the "magic"
associations done by the parser are reset to normal ancestor
@@ -86863,11 +86460,11 @@ document.body.appendChild(text);
<p>This can enable cross-site scripting attacks. An example of this
would be a page that lets the user enter some font names that are
then inserted into a CSS <code><a href=#the-style-element>style</a></code> block via the DOM and
- which then uses the <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code>
+ which then uses the <code title=dom-innerHTML>innerHTML</code>
IDL attribute to get the HTML serialization of that
<code><a href=#the-style-element>style</a></code> element: if the user enters
"<code>&lt;/style&gt;&lt;script&gt;attack&lt;/script&gt;</code>" as a font
- name, <code title=dom-innerHTML><a href=#dom-innerhtml>innerHTML</a></code> will return
+ name, <code title=dom-innerHTML>innerHTML</code> will return
markup that, if parsed in a different context, would contain a
<code><a href=#the-script-element>script</a></code> node, even though no <code><a href=#the-script-element>script</a></code> node
existed in the original DOM.</p>
@@ -96347,11 +95944,11 @@ if (s = prompt('What is your name?')) {
Object Model (DOM) Level 3 Events Specification</a></cite>,
D. Schepers. W3C.</dd>
- <dt id=refsDOMPARSER>[DOMPARSER]</dt>
- <dd>(Non-normative) <cite><a href=http://html5.org/specs/dom-parsing.html>DOM Parsing and Serialization</a></cite>, Ms2ger. html5.org.</dd>
+ <dt id=refsDOMPARSING>[DOMPARSING]</dt>
+ <dd><cite><a href=http://html5.org/specs/dom-parsing.html>DOM Parsing and Serialization</a></cite>, Ms2ger. html5.org.</dd>
<dt id=refsDOMRANGE>[DOMRANGE]</dt>
- <dd><cite><a href=http://html5.org/specs/dom-range.html>DOM Range</a></cite>, Ms2ger. html5.org.</dd>
+ <dd><cite><a href=http://html5.org/specs/dom-range.html>DOM Range</a></cite>, A. Gregor, Ms2ger. html5.org.</dd>
<dt id=refsE163>[E163]</dt>
<dd><cite>Recommendation E.163 &mdash; Numbering Plan for The International
View
490 source
@@ -2789,6 +2789,16 @@ a.setAttribute('href', 'http://example.com/'); // change the content attribute d
</ul>
--><!--START w3c-html-->
+ <p>In addition, user agents must implement the features defined in
+ the DOM Range, DOM Parsing and Serialization, HTML Editing APIs,
+ and UndoManager and DOM Transaction specifications that apply to
+ their conformance class.
+ <a href="#refsDOMRANGE">[DOMRANGE]</a>
+ <a href="#refsDOMPARSING">[DOMPARSING]</a>
+ <a href="#refsEDITING">[EDITING]</a>
+ <a href="#refsUNDO">[UNDO]</a>
+ </p>
+
</dd>
<dt>File API</dt>
@@ -9209,7 +9219,6 @@ interface <dfn>HTMLDocument</dfn> {
<!--END w3c-html--><!--CSSREF--> readonly attribute <span>DOMElementMap</span> <span title="dom-document-cssElementMap">cssElementMap</span>;<!--START w3c-html--><!--CSSREF-->
// <span>dynamic markup insertion</span>
- attribute DOMString <span title="dom-innerHTML">innerHTML</span>;
<span>HTMLDocument</span> <span title="dom-document-open">open</span>(optional DOMString type, optional DOMString replace);
<span>WindowProxy</span> <span title="dom-document-open">open</span>(DOMString url, DOMString name, DOMString features, optional boolean replace);
void <span title="dom-document-close">close</span>();
@@ -10392,11 +10401,6 @@ interface <dfn>XMLDocumentLoader</dfn> {
requirements,</span> is the <code>HTMLElement</code> interface.</p>
<pre class="idl">interface <dfn>HTMLElement</dfn> : <span>Element</span> {
- // <span>dynamic markup insertion</span>
- attribute DOMString <span title="dom-innerHTML">innerHTML</span>;
- attribute DOMString <span title="dom-outerHTML">outerHTML</span>;
- void <span title="dom-insertAdjacentHTML">insertAdjacentHTML</span>(DOMString position, DOMString text);
-
// <span>metadata attributes</span>
attribute DOMString <span title="dom-id">id</span>;
attribute DOMString <span title="dom-title">title</span>;
@@ -13717,472 +13721,6 @@ plaintext = *( %x0000-2029 / %x202F-10FFFF )
- <h4><code title="dom-innerHTML">innerHTML</code></h4>
-
- <p>The <dfn title="dom-innerHTML"><code>innerHTML</code></dfn> IDL
- attribute represents the markup of the node's contents.</p>
-
- <dl class="domintro">
-
- <dt><var title="">document</var> . <code title="dom-innerHTML">innerHTML</code> [ = <var title="">value</var> ]</dt>
-
- <dd>
-
- <p>Returns a fragment of HTML or XML that represents the
- <code>Document</code>.</p>
-
- <p>Can be set, to replace the <code>Document</code>'s contents
- with the result of parsing the given string.</p>
-
- <p>In the case of <span>XML documents</span>, will throw an
- <code>INVALID_STATE_ERR</code> if the <code>Document</code> cannot
- be serialized to XML, and a <code>SYNTAX_ERR</code> if the given
- string is not well-formed.</p>
-
- </dd>
-
- <dt><var title="">element</var> . <code title="dom-innerHTML">innerHTML</code> [ = <var title="">value</var> ]</dt>
-
- <dd>
-
- <p>Returns a fragment of HTML or XML that represents the element's
- contents.</p>
-
- <p>Can be set, to replace the contents of the element with nodes
- parsed from the given string.</p>
-
- <p>In the case of <span>XML documents</span>, will throw an
- <code>INVALID_STATE_ERR</code> if the element cannot be serialized
- to XML, and a <code>SYNTAX_ERR</code> if the given string is not
- well-formed.</p>
-
- </dd>
-
- </dl>
-
- <div class="impl">
-
- <p>On getting, if the node's document is an <span title="HTML
- documents">HTML document</span>, then the attribute must return the
- result of running the <span>HTML fragment serialization
- algorithm</span> on the node; otherwise, the node's document is an
- <span title="XML documents">XML document</span>, and the attribute
- must return the result of running the <span>XML fragment
- serialization algorithm</span> on the node instead (this might raise
- an exception instead of returning a string).</p>
-
- <p>On setting, the following steps must be run:</p>
-
- <ol>
-
- <li>
-
- <p>If the node's document is an <span title="HTML documents">HTML
- document</span>: Invoke the <span>HTML fragment parsing
- algorithm</span>.</p>
-
- <p>If the node's document is an <span title="XML documents">XML
- document</span>: Invoke the <span>XML fragment parsing
- algorithm</span>.</p>
-
- <p>In either case, the algorithm must be invoked with the string
- being assigned into the <code
- title="dom-innerHTML">innerHTML</code> attribute as the <var
- title="">input</var>. If the node is an <code>Element</code>
- node, then, in addition, that element must be passed as the <var
- title="concept-frag-parse-context">context</var> element.</p>
-
- <p>If this raises an exception, then abort these steps.</p>
-
- <p>Otherwise, let <var title="">new children</var> be the nodes
- returned.</p>
-
- </li>
-
- <li>
-
- <p>If the attribute is being set on a <code>Document</code> node,
- and that document has an <span>active parser</span>, then abort
- that parser.</p>
-
- </li>
-
- <li>
-
- <p>Remove the child nodes of the node whose <code
- title="dom-innerHTML">innerHTML</code> attribute is being set,
- firing appropriate mutation events.</p>
-
- </li>
-
- <li>
-
- <p>If the attribute is being set on a <code>Document</code> node,
- let <var title="">target document</var> be that
- <code>Document</code> node. Otherwise, the attribute is being set
- on an <code>Element</code> node; let <var title="">target
- document</var> be the <code
- title="dom-Node-ownerDocument">ownerDocument</code> of that
- <code>Element</code>.</p>
-
- </li>
-
- <li>
-
- <p>Set the <code
- title="dom-Node-ownerDocument">ownerDocument</code> of all the
- nodes in <var title="">new children</var> to the <var
- title="">target document</var>.</p>
-
- </li>
-
- <li>
-
- <p>Append all the <var title="">new children</var> nodes to the
- node whose <code title="dom-innerHTML">innerHTML</code> attribute
- is being set, preserving their order, and firing mutation events
- as if a <code>DocumentFragment</code> containing the <var
- title="">new children</var> had been inserted.</p>
-
- </li>
-
- </ol>
-
- </div>
-
-
-
- <h4><code title="dom-outerHTML">outerHTML</code></h4>
-
- <p>The <dfn title="dom-outerHTML"><code>outerHTML</code></dfn> IDL
- attribute represents the markup of the element and its contents.</p>
-
- <dl class="domintro">
-
- <dt><var title="">element</var> . <code title="dom-outerHTML">outerHTML</code> [ = <var title="">value</var> ]</dt>
-
- <dd>
-
- <p>Returns a fragment of HTML or XML that represents the element
- and its contents.</p>
-
- <p>Can be set, to replace the element with nodes parsed from the
- given string.</p>
-
- <p>In the case of <span>XML documents</span>, will throw an
- <code>INVALID_STATE_ERR</code> if the element cannot be serialized
- to XML, and a <code>SYNTAX_ERR</code> if the given string is not
- well-formed.</p>
-
- <p>Throws a <code>NO_MODIFICATION_ALLOWED_ERR</code> exception if
- the parent of the element is the <code>Document</code>
- node.</p>
-
- </dd>
-
- </dl>
-
- <div class="impl">
-
- <p>On getting, if the node's document is an <span title="HTML
- documents">HTML document</span>, then the attribute must return the
- result of running the <span>HTML fragment serialization
- algorithm</span> on a fictional node whose only child is the node on
- which the attribute was invoked; otherwise, the node's document is
- an <span title="XML documents">XML document</span>, and the
- attribute must return the result of running the <span>XML fragment
- serialization algorithm</span> on that fictional node instead (this
- might raise an exception instead of returning a string).</p>
-
- <p>On setting, the following steps must be run:</p>
-
- <ol>
-
- <li>
-
- <p>Let <var title="">target</var> be the element whose <code
- title="dom-outerHTML">outerHTML</code> attribute is being
- set.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">target</var> has no parent node, then abort
- these steps. There would be no way to obtain a reference to the
- nodes created even if the remaining steps were run.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">target</var>'s parent node is a
- <code>Document</code> object, throw a
- <code>NO_MODIFICATION_ALLOWED_ERR</code> exception and abort these
- steps.</p>
-
- </li>
-
- <li>
-
- <p>Let <var title="">parent</var> be <var title="">target</var>'s
- parent node, unless that is a <code>DocumentFragment</code> node,
- in which case let <var title="">parent</var> be an arbitrary
- <code>body</code> element.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">target</var>'s document is an <span
- title="HTML documents">HTML document</span>: Invoke the <span>HTML
- fragment parsing algorithm</span>.</p>
-
- <p>If <var title="">target</var>'s document is an <span title="XML
- documents">XML document</span>: Invoke the <span>XML fragment
- parsing algorithm</span>.</p>
-
- <p>In either case, the algorithm must be invoked with the string
- being assigned into the <code
- title="dom-outerHTML">outerHTML</code> attribute as the <var
- title="">input</var>, and <var title="">parent</var> as the <var
- title="concept-frag-parse-context">context</var> element.</p>
-
- <p>If this raises an exception, then abort these steps.</p>
-
- <p>Otherwise, let <var title="">new children</var> be the nodes
- returned.</p>
-
- </li>
-
- <li>
-
- <p>Set the <code
- title="dom-Node-ownerDocument">ownerDocument</code> of all the
- nodes in <var title="">new children</var> to <var
- title="">target</var>'s document.</p>
-
- </li>
-
- <li>
-
- <p>Remove <var title="">target</var> from its parent node, firing
- mutation events as appropriate, and then insert in its place all
- the <var title="">new children</var> nodes, preserving their
- order, and again firing mutation events as if a
- <code>DocumentFragment</code> containing the <var title="">new
- children</var> had been inserted.</p>
-
- </li>
-
- </ol>
-
- </div>
-
-
-
- <h4><code title="dom-insertAdjacentHTML">insertAdjacentHTML()</code></h4>
-
- <dl class="domintro">
-
- <dt><var title="">element</var> . <code title="dom-insertAdjacentHTML">insertAdjacentHTML</code>(<var title="">position</var>, <var title="">text</var>)</dt>
-
- <dd>
-
- <p>Parses the given string <var title="">text</var> as HTML or XML
- and inserts the resulting nodes into the tree in the position
- given by the <var title="">position</var> argument, as
- follows:</p>
-
- <dl>
- <dt>"beforebegin"</dt>
- <dd>Before the element itself.</dd>
- <dt>"afterbegin"</dt>
- <dd>Just inside the element, before its first child.</dd>
- <dt>"beforeend"</dt>
- <dd>Just inside the element, after its last child.</dd>
- <dt>"afterend"</dt>
- <dd>After the element itself.</dd>
- </dl>
-
- <p>Throws a <code>SYNTAX_ERR</code> exception if the arguments
- have invalid values (e.g., in the case of <span>XML
- documents</span>, if the given string is not well-formed).</p>
-
- <p>Throws a <code>NO_MODIFICATION_ALLOWED_ERR</code> exception if
- the given position isn't possible (e.g. inserting elements after
- the root element of a <code>Document</code>).</p>
-
- </dd>
-
- </dl>
-
- <div class="impl">
-
- <p>The <dfn
- title="dom-insertAdjacentHTML"><code>insertAdjacentHTML(<var
- title="">position</var>, <var title="">text</var>)</code></dfn>
- method, when invoked, must run the following algorithm:</p>
-
- <ol>
-
- <li>
-
- <p>Let <var title="">position</var> and <var title="">text</var>
- be the method's first and second arguments, respectively.</p>
-
- </li>
-
- <li>
-
- <p>Let <var title="">target</var> be the element on which the
- method was invoked.</p>
-
- </li>
-
- <li>
-
- <p>Use the first matching item from this list:</p>
-
- <dl>
-
- <dt>If <var title="">position</var> is an <span>ASCII
- case-insensitive</span> match for the string "beforebegin"</dt>
- <dt>If <var title="">position</var> is an <span>ASCII
- case-insensitive</span> match for the string "afterend"</dt>
-
- <dd>
-
- <p>If <var title="">target</var> has no parent node, then abort
- these steps.</p>
-
- <p>If <var title="">target</var>'s parent node is a
- <code>Document</code> object, then throw a
- <code>NO_MODIFICATION_ALLOWED_ERR</code> exception and abort
- these steps.
-
- <p>Otherwise, let <var title="">destination</var> be the parent node
- of <var title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <span>ASCII
- case-insensitive</span> match for the string "afterbegin"</dt>
- <dt>If <var title="">position</var> is an <span>ASCII
- case-insensitive</span> match for the string "beforeend"</dt>
-
- <dd>
-
- <p>Let <var title="">destination</var> be the same as <var
- title="">target</var>.</p>
-
- </dd>
-
- <dt>Otherwise</dt>
-
- <dd>
-
- <p>Throw a <code>SYNTAX_ERR</code> exception.</p>
-
- </dd>
-
- </dl>
-
- </li>
-
- <li>
-
- <p>If <var title="">target</var>'s document is an <span
- title="HTML documents">HTML document</span>: Invoke the <span>HTML
- fragment parsing algorithm</span>.</p>
-
- <p>If <var title="">target</var>'s document is an <span title="XML
- documents">XML document</span>: Invoke the <span>XML fragment
- parsing algorithm</span>.</p>
-
- <p>In either case, the algorithm must be invoked with <var
- title="">text</var> as the <var title="">input</var>, and <var
- title="">destination</var> as the <var
- title="concept-frag-parse-context">context</var> element.</p>
-
- <p>If this raises an exception, then abort these steps.</p>
-
- <p>Otherwise, let <var title="">new children</var> be the nodes
- returned.</p>
-
- </li>
-
- <li>
-
- <p>Set the <code
- title="dom-Node-ownerDocument">ownerDocument</code> of all the
- nodes in <var title="">new children</var> to <var
- title="">target</var>'s document.</p>
-
- </li>
-
- <li>
-
- <p>Use the first matching item from this list:</p>
-
- <dl>
-
- <dt>If <var title="">position</var> is an <span>ASCII
- case-insensitive</span> match for the string "beforebegin"</dt>
-
- <dd>
-
- <p>Insert all the <var title="">new children</var> nodes
- immediately before <var title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <span>ASCII
- case-insensitive</span> match for the string "afterbegin"</dt>
-
- <dd>
-
- <p>Insert all the <var title="">new children</var> nodes before
- the first child of <var title="">target</var>, if there is
- one. If there is no such child, append them all to <var
- title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <span>ASCII
- case-insensitive</span> match for the string "beforeend"</dt>
-
- <dd>
-
- <p>Append all the <var title="">new children</var> nodes to <var
- title="">target</var>.</p>
-
- </dd>
-
- <dt>If <var title="">position</var> is an <span>ASCII
- case-insensitive</span> match for the string "afterend"</dt>
-
- <dd>
-
- <p>Insert all the <var title="">new children</var> nodes
- immediately after <var title="">target</var>.</p>
-
- </dd>
-
- </dl>
-
- <p>The <var title="">new children</var> nodes must be inserted in
- a manner that preserves their order and fires mutation events as
- if a <code>DocumentFragment</code> containing the <var
- title="">new children</var> had been inserted.</p>
-
- </li>
-
- </ol>
-
- </div>
-
-
<h2 id="semantics">The elements of HTML</h2>
@@ -16902,7 +16440,7 @@ c-end = "-->"</pre>
<code>Document</code> that was created using the <code
title="dom-DOMImplementation-createDocument">createDocument()</code>
API. <a href="#refsXHR">[XHR]</a> <a
- href="#refsDOMPARSER">[DOMPARSER]</a> <!--<a
+ href="#refsDOMPARSING">[DOMPARSING]</a> <!--<a
href="#refsXSLTP">[XSLTP]</a>--> <a
href="#refsDOMCORE">[DOMCORE]</a></p>
@@ -114810,11 +114348,11 @@ if (s = prompt('What is your name?')) {
Object Model (DOM) Level 3 Events Specification</a></cite>,
D. Schepers. W3C.</dd>
- <dt id="refsDOMPARSER">[DOMPARSER]</dt>
- <dd>(Non-normative) <cite><a href="http://html5.org/specs/dom-parsing.html">DOM Parsing and Serialization</a></cite>, Ms2ger. html5.org.</dd>
+ <dt id="refsDOMPARSING">[DOMPARSING]</dt>
+ <dd><cite><a href="http://html5.org/specs/dom-parsing.html">DOM Parsing and Serialization</a></cite>, Ms2ger. html5.org.</dd>
<dt id="refsDOMRANGE">[DOMRANGE]</dt>
- <dd><cite><a href="http://html5.org/specs/dom-range.html">DOM Range</a></cite>, Ms2ger. html5.org.</dd>
+ <dd><cite><a href="http://html5.org/specs/dom-range.html">DOM Range</a></cite>, A. Gregor, Ms2ger. html5.org.</dd>
<dt id="refsE163">[E163]</dt>
<dd><cite>Recommendation E.163 &mdash; Numbering Plan for The International

0 comments on commit e0a0786

Please sign in to comment.