<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> This is a work-in-progress documentation
for manakai's DOM extensions.</p><section><h1>Conventions</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Keywords <q xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor></q>, <q xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST NOT</strong></anchor></q>,
<q xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">REQUIRED</strong></anchor></q>,
<q xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">SHOULD</strong></anchor></q>, <q xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">SHOULD NOT</strong></anchor></q>,
<q xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MAY</strong></anchor></q>, and <q xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">OPTIONAL</strong></anchor></q>
are interpreted as described in <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2119</anchor> [RFC 2119].</ed></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end>
An <q xml:lang="en"><var xml:lang="en">InterfaceName</var> object</q> refers to
an object that implements <var xml:lang="en">InterfaceName</var> interface.
Note that the object might also implement other
interfaces than <var xml:lang="en">InterfaceName</var>.
However, unless explicitly specified, the term
<q xml:lang="en"><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Text</anchor></code> object</q> does
not refer to a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATASection</anchor></code> object
though the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATASection</anchor></code> interface
extends the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Text</anchor></code> interface.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end>
When a <var xml:lang="en">CONSTANT_NAME</var> <var xml:lang="en">ExceptionInterfaceName</var>
is said to be thrown, an implementation <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
throw an exception object that implements the
<var xml:lang="en">ExceptionInterfaceName</var> interface and
whose <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">code</anchor></code> attribute is set
to the value of <var xml:lang="en">CONSTANT_NAME</var>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end>
Algorithms shown in this document does not intend
to constraint the way to implement that feature.
Implementations are always free to implement that
feature in any way as long as that has the same
effect as the normative algorithm.</p></section><section><h1>New interfaces</h1><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM XML Document Type Definition</anchor> module<ul><li><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentXDoctype</anchor></code></li><li><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentTypeDefinition</anchor></code></li><li><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ElementTypeDefinition</anchor></code></li><li><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AttributeDefinition</anchor></code></li></ul></li><li><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SerialWalker</anchor></code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Atom DOM</anchor></li></ul></section><section><h1>Extensions to existing interfaces</h1><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai DOM <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en">Node</code> Extensions</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai DOM <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en">Document</code> Extensions</anchor></li></ul></section><section><h1>Backward compatibility</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> It <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> implement the definitions in the DOM Standard but commented out with
markers &quot;AttrExodus&quot; or &quot;NodeExodus&quot;.  <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor></src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> This is a <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">willful violation</anchor> to the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor> Standard that is intended to
obsolete them.  Since <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai</anchor> is a Perl implementation of DOM, it has different
compatibility requirements from those in Web browsers.</comment-p><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> <pre class="IDL code">partial interface Node {
  attribute DOMString prefix;
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> On setting, the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">prefix</anchor></code> attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> run these steps:<figure><ol><li>Let <var>prefix</var> be the value being assigned.</li><li>If the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>'s <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespace</anchor> is null or the empty string, throw an &quot;<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NamespaceError</anchor></code>&quot;
exception and terminate these steps.</li><li>If <var>prefix</var> is the empty string, let <var>prefix</var> be null.</li><li>If <var>prefix</var> is not null, run these substeps:<ol><li>If <var>prefix</var> does not match the <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Name</anchor></code> production in XML, throw an &quot;<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InvalidCharacterError</anchor></code>&quot; exception and terminate these steps.</li><li>If <var>prefix</var> does not match the <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NCName</anchor></code> production in Namespaces in XML, throw a &quot;<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NamespaceError</anchor></code>&quot; exception and terminate these steps.</li></ol></li><li>Let the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">prefix</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> be <var>prefix</var>.</li></ol></figure></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> This is the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> behavior. <time xmlns="http://www.w3.org/1999/xhtml">2012-12-15T12:21:12.000Z</time></comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> For the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isEqualNode</anchor></code> method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> interface,
the following condition <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be applied as well as the other conditions:
If the nodes are <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code> objects, their <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">local name</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespace</anchor>, and <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">value</anchor>
are equal respectively.</p><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> If the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> is an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code>, the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">textContent</anchor></code>
attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">value</anchor> of the attribute
on getting, or assign new value to the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">value</anchor> of the attribute on setting.</p></delete><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> In the &quot;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">clone</anchor>&quot; steps, when <var xml:lang="en">node</var> is an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code> node,
or <var xml:lang="en">node</var> is an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code> node and its <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute list</anchor> is copied,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespace prefix</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespace</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">local name</anchor>, and <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">value</anchor> of attributes <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be copied.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> Other values, including <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">specified</anchor>, are not copied.</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> The <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isSupported</anchor></code> method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> interface
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> If a non-<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> value is set to the <var xml:lang="en">handler</var> argument to the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setUserData</anchor></code>
method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> interface, a &quot;<code class="DOMe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NotSupportedError</anchor></code>&quot; <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MAY</strong></anchor>
be thrown.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="150" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[150]</anchor-end> When the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">value</anchor></code> attribute or the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiAppendText</anchor></code> method
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code> object set the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">value</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor>, at the end of the
steps, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute is set</anchor> and <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute is changed</anchor> if there is non-null <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">owner element</anchor>
for the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="151" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[151]</anchor-end> When the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code> node is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">adopt</anchor>ed, if its <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">owner element</anchor> is not null,
just after the node's <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">owner element</anchor> is set to <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> but before the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node document</anchor> is set
to the new value, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute is removed</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="152" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[152]</anchor-end> When an element's <code class="HTMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">id</anchor></code> attribute is set to the empty string,
unset the element's <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ID</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="153" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[153]</anchor-end> When an element's <code class="HTMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">class</anchor></code> attribute is set to the empty string,
set the element's <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">classes</anchor> to the empty list.</p></section><section><h1>Extension to the <code class="DOMi" xml:lang="en">Element</code> interface</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> Manakai's <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code> objects
implement the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">innerHTML</anchor></code> attribute
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLElement</anchor></code> interface.</p><section><h1>Element type accessor</h1><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> <pre class="IDL code"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">readonly</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiTagName</anchor>;
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiTagName</anchor></code></dfn> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the same value as the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tagName</anchor></code> attribute,
except that the return value are not converted to uppercase even when the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> is an
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML element</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end>
The <dfn xml:lang="en"><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiElementTypeMatch</anchor></code> method</dfn>
returns whether the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>
belongs to the specified element type or not.</p><p>This method takes two parameters:
<code class="DOMp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespaceURI</anchor></code> and
<code class="DOMp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">localName</anchor></code>.</p><p>The <code class="DOMp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespaceURI</anchor></code> parameter
is a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor></code>.
It represents the namespace URI of the element type
to test.
Both <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code> and an empty string
represents the null namespace as in the
<code class="DOMp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespaceURI</anchor></code> parameters
of other similar methods.</p><p>The <code class="DOMp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">localName</anchor></code> parameter
is a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor></code>.
It represents the local name of the element type to test.</p><p>This method returns a <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor></code> value.</p><p>This method <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>
if and only if:<ul><li>The <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespaceURI</anchor></code> of the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code> is <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>,
the <code class="DOMp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespaceURI</anchor></code> parameter
is set to either <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code> or an empty string,
and the <code class="DOMp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">localName</anchor></code> parameter
is set to the same value as the 
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiLocalName</anchor></code> attribute of the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>, or</li><li>The <code class="DOPMp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespaceURI</anchor></code> parameter
is set to a non-empty <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor></code>
and it is equal to the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespaceURI</anchor></code> of the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code> and the 
<code class="DOMp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">localName</anchor></code> parameter
is set to the same value as the 
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiLocalName</anchor></code> attribute of the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>.</li></ul></p><p>Otherwise, the method <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return 
<code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code>.</p></section><section><h1>Metadata accessor</h1><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiBaseURI</anchor></code> attribute</dfn>
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code> and
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code> interfaces
corresponding to the <code class="InfoProp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">base URI</anchor></code>
property in the XML Information Set.  It contains
the base DOM URI of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>
or <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code> object,
if it is explicitly set to the object.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">To obtain the computed base URI of the 
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code> or
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code> object, use the
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">baseURI</anchor></code> attribute
of the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> interface instead.</comment-p><p xmlns="http://www.w3.org/1999/xhtml">The type of this attribute is <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor></code>.
This attribute is read-write.</p><p xmlns="http://www.w3.org/1999/xhtml">On getting, the base DOM URI <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be
returned if it is specified to the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code> or
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code> object.  Otherwise,
<code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be returned.</p><p xmlns="http://www.w3.org/1999/xhtml">On setting, if the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>
or <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code> object
is read-only, then a
<code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code> 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMException</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be thrown.  Otherwise,
if the new value is <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>,
then the explicit specification of the base URI
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code> or
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code> object is unset.
Otherwise, the new value is set to
the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>
or <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code> object
as the base URI.
Note that no lexical checking is performed
on the new value.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">The <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiBaseURI</anchor></code>,
which is analogue to the <code xmlns="http://www.w3.org/1999/xhtml" class="InfoProp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">base URI</anchor></code>
property, is independent from the
<code xmlns="http://www.w3.org/1999/xhtml" class="XMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml</anchor>:<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">base</anchor></code> attribute.
Setting the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiBaseURI</anchor></code>
does not affect to the <code xmlns="http://www.w3.org/1999/xhtml" class="XMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml</anchor>:<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">base</anchor></code>
or any other base URI sources and vice versa.</comment-p></delete></section><section><h1>Identifiers</h1><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="104" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[104]</anchor-end> <pre class="IDL code"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">readonly</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>[] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiIds</anchor>;
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> The <dfn xml:lang="en"><code class="DOMa" xml:lang="en">manakaiIds</code> attribute</dfn>
of an element <var xml:lang="en">element</var>, on getting, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> follow the steps below:<figure><ol><li>Let <var xml:lang="en">list</var> a new empty <del><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMStringList</anchor></code></del> <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor><strong>[</strong><strong>]</strong></code> object.</li><li>For each <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code> <var xml:lang="en">attribute</var> in the
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attributes</anchor></code> list of the <var xml:lang="en">element</var>:<ol><li>Skip the following substeps if the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isId</anchor></code> of the
<var xml:lang="en">attribute</var> is false.</li><li>Let <var xml:lang="en">value</var> the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">value</anchor></code> of the <var xml:lang="en">attribute</var>.</li><li>Append <var xml:lang="en">value</var> to <var xml:lang="en">list</var> if there is no string 
that is equal to <var xml:lang="en">value</var> in <var xml:lang="en">list</var> yet.</li></ol></li><li>Return <var xml:lang="en">list</var>.</li></ol></figure></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">The <del xmlns="http://www.w3.org/1999/xhtml"><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMStringList</anchor></code></del> <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor><strong>[</strong><strong>]</strong></code> object returned by this attribute
is <em xmlns="http://www.w3.org/1999/xhtml">not</em> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">live</anchor>.</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Values contained in the <del xmlns="http://www.w3.org/1999/xhtml"><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMStringList</anchor></code></del> <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor><strong>[</strong><strong>]</strong></code> object
returned by this attribute might not be a valid ID; for example, 
it might be the empty string, or there are another element with
same ID in the earlier part of the document in tree order.</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">The order in which strings are listed in the <del xmlns="http://www.w3.org/1999/xhtml"><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMStringList</anchor></code></del> <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor><strong>[</strong><strong>]</strong></code>
object depends on the order of the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code> nodes
in the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attributes</anchor></code> attribute.  In other word,
the order is implementation dependent but is stable in a specific
implementation.</comment-p><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml">The type of this attribute is <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMStringList</anchor></code>.
This attribute is read-only.</p></delete></section><section><h1>Microdata</h1><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="179" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[179]</anchor-end> <pre class="IDL code">partial interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLElement</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLPropertiesCollection</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiGetProperties</anchor>();
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="180" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[180]</anchor-end> The <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiGetProperties</anchor></code> method <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return a <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">static</anchor>
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLPropertiesCollection</anchor></code> that contains the nodes that would be contained
in the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">properties</anchor></code> <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLPropertiesCollection</anchor></code> of the
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.  The <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PropertyNodeList</anchor></code> objects returned by the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLPropertiesCollection</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> also be <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">static</anchor>.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="181" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[181]</anchor-end> See also <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai's DOM Perl binding</anchor>, which defines how <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLPropertiesCollection</anchor></code>
is implemented in Perl.</comment-p></section></section><section><h1>Extension to the <code class="DOMi" xml:lang="en">NodeList</code> and the <code class="DOMi" xml:lang="en">NamedNodeMap</code> interfaces</h1><p><em>This attribute is obsolete.</em></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiReadOnly</anchor></code> attribute</dfn>
contains whether the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NodeList</anchor></code>
or <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NamedNodeMap</anchor></code> is read-only or not.</p><p>The type of this attribute is <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor></code>.
This attribute is read-only.</p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">ISSUE: Is setter necessary?</ed><ol><li>If the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NodeList</anchor></code> or
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NamedNodeMap</anchor></code> is the read-only
attribute value of a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code>, then the getter
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiReadOnly</anchor></code>
attribute value of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code>.</li><li>Otherwise, if the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NodeList</anchor></code> is the
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">childNodes</anchor></code> attribute value of 
a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> whose <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nodeType</anchor></code>
does never have any child by definition,
then the getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor></code>.</li><li>Otherwise, the getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
return <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor></code> unless otherwise specified.</li></ol><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">For example, the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiReadOnly</anchor></code>
attribute of the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">childNodes</anchor></code>
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NodeList</anchor></code> of an <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>
has same value as the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiReadOnly</anchor></code>
of the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>, while
the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiReadOnly</anchor></code>
attribute of a <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NodeList</anchor></code> obtained by
the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getElementsByTagNameNS</anchor></code>
method of that <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>
or the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiReadOnly</anchor></code> attribute
of a <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NodeList</anchor></code> of a
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code>
always exhibit <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor></code>.</comment-p></section><section><h1>Extension to the <code class="DOMi" xml:lang="en">Attr</code> interface</h1><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> <pre class="IDL code"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">readonly</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiName</anchor>;
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiName</anchor></code></dfn> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> Use of this attribute is discouraged in favor of the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor></code> attribute.</comment-p><section><h1>Setter extension</h1><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">specified</anchor></code> attribute</dfn>
is now read-write.<figure><pre class="IDL code"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">specified</anchor>;
}</pre></figure></p><delete><p xmlns="http://www.w3.org/1999/xhtml">On setting, if the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code> is read-only,
then an <code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code>
exception <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be thrown.  Otherwise,
the new value <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set as the 
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">specified</anchor></code> flag of the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code>, except when
the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ownerElement</anchor></code> of the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code> is <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>,
in which case the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">specified</anchor></code> flag
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be set to <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor></code> (if
not yet) nevertheless the new value.</p></delete><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> On setting, the <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">specified</anchor></code> attribute</dfn> of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">specified</anchor> flag of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> to the newly-specified value.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> Note that setting <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">specified</anchor></code> flag
to <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code> might make the
serialized representation of the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code>
inconsistent with the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> itself.</comment-p></delete><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">specified</anchor></code></dfn> attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return true.</p><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isId</anchor></code> attribute</dfn>
is now read-write.</p><p xmlns="http://www.w3.org/1999/xhtml">On setting, if the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code> is read-only,
then an <code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code>
exception <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be thrown.  Otherwise,
the flag that represents whether the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code>
is a user-determined ID attribute or not <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
be set to the new value.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Setting <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code> to this attribute
does not make the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code> 
non-<code xmlns="http://www.w3.org/1999/xhtml" class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ID</anchor></code> if the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code>
is marked as an <code xmlns="http://www.w3.org/1999/xhtml" class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ID</anchor></code> by other
mean than the user-determined <code xmlns="http://www.w3.org/1999/xhtml" class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ID</anchor></code> flag,
e.g. by DTD attribute definition.</comment-p></delete><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isId</anchor></code></dfn> attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return true if the
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespace</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> and the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">local name</anchor> of the
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> is <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">id</anchor></code>, or false otherwise.</p></section><section><h1>Attribute type accessor</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiAttributeType</anchor></code> attribute</dfn>
contains the declared type of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code>.</p><p>The type of this attribute is <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unsigned short</anchor></code>.
This attribute is read-write.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">This attribute corresponding to the
<code xmlns="http://www.w3.org/1999/xhtml" class="InfoProp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute type</anchor></code> property
of an attribute information item in the XML Information Set.</comment-p><p>The getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the declared
type of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code>.
It is expected that a constant in the 
<code class="DOM" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DeclaredValueType</anchor></code> constant group
is returned.  If no declared type is explicitly set,
then <code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_TYPE_ATTR</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be returned.</p><p>On setting, if the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code> is read-only,
then an <code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code>
exception <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be thrown.  Otherwise,
the new value <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be set as
the attribute value.  It is expected that a constant in the 
<code class="DOM" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DeclaredValueType</anchor></code> constant group
is set to the attribute, though it is not checked
by the attribute.</p></section></section><section><h1>Extensions to the <code class="DOMi" xml:lang="en">DocumentType</code> interface</h1><section><h1>Children</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end>
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> nodes <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MAY</strong></anchor>
contain zero or more <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code>
nodes in its child node list.</p><p>If a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> node is
created from the document type declaration information
item in an XML information set, the 
<code class="InfoProp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">children</anchor></code> list <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
be reflected to the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">childNodes</anchor></code>
list of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> node;
the list <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> contain zero or more
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code> nodes
created from the processing instruction information
items in the <code class="InfoProp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">children</anchor></code>
list in the same order.</p><p>If a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> node is mapped
to a document type declaration information item, 
the <code class="InfoProp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">children</anchor></code> list <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
reflect the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">childNodes</anchor></code> list of
the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> node;
the list <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> contain zero or more
processing instruction information items mapped
from the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code> nodes
in the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">childNodes</anchor></code> list in the
same order.</p><p>If a parser create a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code>
node and mark it as read-only, then all child
nodes <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> also be marked as read-only.</p></section><section><h1></h1><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="141" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[141]</anchor-end> <pre class="IDL code"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor> {
  [TreatNullAs=EmptyString] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor>;
  [TreatNullAs=EmptyString] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor>;
};
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor> {
  [TreatNullAs=EmptyString] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor>;
  [TreatNullAs=EmptyString] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor>;
};
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Notation</anchor> {
  [TreatNullAs=EmptyString] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor>;
  [TreatNullAs=EmptyString] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor>;
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor></code> attribute</dfn>
and the <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor></code> attribute</dfn>
of <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code>,
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code>, and
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Notation</anchor></code> objects are now read-write.</p><p>The setter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> throw a
<code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code>
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMException</anchor></code> if the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> object is read-only.
Otherwise, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the specified value
to the attribute.  No normalization, lexical validation,
or relative reference resolving is performed.  
<code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>, which represents no public or 
system identifier is provided, might be specified.</p><p>Setting public or system identifier does never result
in any lexical or logical structure of the
document being changed.  In particular, no external
entity referenced by new identifier will be loaded.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Setting an invalid or non-normalized identifier
might make the object non-serializable.  Setting
a non-<code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code> public identifier to a <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> or 
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object that does not have
non-<code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code> system identifier or
setting <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code> as the system identifier
of a <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> or
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object that does have
non-<code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code> public identifier will
make that object non-serializable.</comment-p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">ISSUE: In HTML5, Firefox 1.5, and Opera 9, not specifying
public or system identifier results in empty strings.</ed><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">declarationBaseURI</anchor></code> attribute</dfn>
and the
<dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiDeclarationBaseURI</anchor></code> attribute</dfn>
of a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> object represent
the base DOM URI of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code>
object.</p><p xmlns="http://www.w3.org/1999/xhtml">Use of <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">declarationBaseURI</anchor></code> attribute
is <em>deprecated</em>.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">It is the base URI of the document type declaration
if the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> object comes
from an XML document entity and can be used to 
resolve relative DOM URI specified to the
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor></code> attribute of 
the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> object.</comment-p><p xmlns="http://www.w3.org/1999/xhtml">This attribute is read-write.
The type of this attribute is <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor></code>.</p><p xmlns="http://www.w3.org/1999/xhtml">The getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the value
of the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">baseURI</anchor></code> attribute of 
the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ownerDocument</anchor></code> of the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> object if the
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ownerDocument</anchor></code> attribute
is not <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>.  If it is 
<code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>, the getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
return <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>.</p><p xmlns="http://www.w3.org/1999/xhtml">The setter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> do nothing,
including when the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code>
object is read-only.</p></delete></section><section><h1>Implementation Information</h1><p><em>This attribute is obsolete.</em></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">implementation</anchor></code> attribute</dfn>
represents the DOM implementation which the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> node belongs to.</p><p>This attribute is read-only.
The type of this attribute is 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMImplementation</anchor></code>.</p><p>The getter of this attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
return the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMImplementation</anchor></code>
object which the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code>
node belongs to.</p></section></section><section><h1>Extensions to the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> interface</h1><section><h1>Entity Identifiers</h1><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><figure xmlns="http://www.w3.org/1999/xhtml"><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="117" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[117]</anchor-end> <pre class="IDL code"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">declarationBaseURI</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiDeclarationBaseURI</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiEntityBaseURI</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiEntityURI</anchor>;
};

<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Notation</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiDeclarationBaseURI</anchor>;
};</pre></p></figure><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor></code> attribute</dfn> and
the <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor></code> attribute</dfn>
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> interface is so
extended that they are read-write.
See <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;37</anchor-internal> for the complete definition.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiDeclarationBaseURI</anchor></code> attribute</dfn>
of an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> or
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Notation</anchor></code> object and the <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">declarationBaseURI</anchor></code></dfn> attribute
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object represents
the base DOM URI of the entity or notation declaration by which 
the entity or notation represented by the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> object is declared.</p><p xmlns="http://www.w3.org/1999/xhtml">The getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the declaration base
DOM URI.  If there is no explicit declaration base URI
information attached to the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> object,
then the base URI of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> object,
i.e. the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">baseURI</anchor></code> attribute value
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> object, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
be returned.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Note that if there is no explicit base URI information
attached to the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> object and
the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">baseURI</anchor></code> attribute of that
object is <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>, then the value
of this attribute is also <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>.</comment-p><p xmlns="http://www.w3.org/1999/xhtml">The setter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> throw a 
<code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code>
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMException</anchor></code> if the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> object is read-only.
Otherwise, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the specified value
as the declaration base DOM URI of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code>
object.  The specified value must be an absolute DOM URI.
However, no lexical validation or relative reference resolution
is performed on setting.  In addition, it does not affect
on the value of <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor></code> attribute,
the replacement subtree of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code>
object, nor any of entity reference or notation
attribute in the document.</p><p xmlns="http://www.w3.org/1999/xhtml">If <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code> is specified, the
declaration base DOM URI of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code>
is unset.  It does not affect to the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">baseURI</anchor></code>
attribute.</p><p xmlns="http://www.w3.org/1999/xhtml">If an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> or <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Notation</anchor></code>
object is created from an XML Information Set information
item, the <code class="InfoProp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">declaration base URI</anchor></code>
property value, if specified, or <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>
otherwise, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be set to this attribute.</p><p xmlns="http://www.w3.org/1999/xhtml">If an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> or 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Notation</anchor></code> object is mapped to
an unexpanded entity information item or
a notation information item, the
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiDeclarationBaseURI</anchor></code>
attribute value, if it is non-<code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>,
or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">no value</anchor> otherwise, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be 
set to the <code class="InfoProp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">declaration base URI</anchor></code>
property of the information item.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiEntityBaseURI</anchor></code> attribute</dfn>
of an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object represents
the base DOM URI of the entity represented by
the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object.</p><p xmlns="http://www.w3.org/1999/xhtml">This attribute is read-write.
The type of this attribute is <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor></code>.</p><p xmlns="http://www.w3.org/1999/xhtml">The getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the base DOM URI
of the entity by the following algorithm:<ol><li>If the base DOM URI of the referenced entity
is explicitly specified to the object, then return it.</li><li>Otherwise, if the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiEntityURI</anchor></code> 
attribute of the object has non-<code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code> value,
then return it.</li><li>Otherwise, return the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">baseURI</anchor></code>
attribute value of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code>
object.</li></ol></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Therefore, the entity base URI for internal general
entities are same as the base URI for document 
unless explicitly overridden by the application.</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Note that the algorithm might return <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>.</comment-p><p xmlns="http://www.w3.org/1999/xhtml">The setter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> throw a
<code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code>
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMException</anchor></code> if the object
is read-only.  Otherwise, if the specified value
is <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> unset
the explicit entity base URI specification for the object.
Otherwise, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the specified value
as the entity base URI of the object.</p><p xmlns="http://www.w3.org/1999/xhtml">The specified value must be an absolute DOM URI.
However, no lexical validation or relative reference
resolution is performed on the setting.  Likewise,
setting the value does not affect on the entity base
URI of any <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> 
object whose <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nodeName</anchor></code>,
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor></code>, or 
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor></code> is same as the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object's.
The exception is the nodes in the subtree rooted by the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object, where the new
base URI might affect the base URIs of those objects.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiEntityURI</anchor></code> attribute</dfn>
of an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object represents the DOM URI
of the entity represented by the object.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">It might or might not be equal to the DOM URI
contained in the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor></code> attribute
of the object or the absolute URI obtained by
resolving <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor></code> attribute
against <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiDeclarationBaseURI</anchor></code>
attribute of the object.  In particular, in case
a catalog mechanism is used or a redirection is 
encountered during the entity resolution phase of the
parsing, the entity URI is typically different from
the one specified as the system identifier.</comment-p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">ISSUE: Security concern - in scripted implementation,
it might be inappropriate to leak a URI of catalog-resolved
entity.</ed><p xmlns="http://www.w3.org/1999/xhtml">The getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the DOM URI of the entity
obtained by the following algorithm:<ol><li>If the DOM URI of the entity represented by the object
is explicitly set by application or during the tree
construction, then return it.</li><li>Otherwise, if the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor></code> attribute
of the object contains a non-<code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code> value,
then return the value, resolved against the 
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiDeclarationBaseURI</anchor></code> attribute
value if the value is not an absolute DOM URI and 
that attribute value is not <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>.  </li><li>Return <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>.</li></ol></p><p xmlns="http://www.w3.org/1999/xhtml">The setter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> throw a
<code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code>
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMException</anchor></code> if the object
is read-only.  Otherwise, if the specified value
is <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> unset
the explicit entity URI specification for the object.
Otherwise, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the specified value
as the entity URI of the object.</p><p xmlns="http://www.w3.org/1999/xhtml">The specified value must be an absolute DOM URI.
However, no lexical validation or relative reference
resolution is performed on the setting.  Likewise,
setting the value does not affect on the entity base
URI of any <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> 
object whose <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nodeName</anchor></code>,
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor></code>, or 
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor></code> is same as the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object's.
The exception is the nodes in the subtree rooted by the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object, where the new
base URI might affect the base URIs of those objects.</p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">TODO: We need to define the exact way to
get absolute DOM URI from a relative DOM URI.
(And &quot;http://www.example.com/a/../b/&quot; is normalized or not.)</ed><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">ISSUE: Should we provide an attribute that 
contains the absolute URI representation of
the system id?</ed></delete></section><section><h1>Character Encoding</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">inputEncoding</anchor></code> attribute</dfn>
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> interface is now
read-write.  See <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal> for the definition.</p></section><section><h1>Entity Content</h1><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="118" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[118]</anchor-end> <pre class="IDL code"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">hasReplacementTree</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isExternallyDeclared</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">notationName</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xmlEncoding</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xmlVersion</anchor>;
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">hasReplacementTree</anchor></code> attribute</dfn>
of an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object contains
whether the structure of the replacement text is
available via the child list of the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> or not.</p><p>The getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the value of the flag
associated to this attribute.</p><p>The setter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> throw a 
<code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code>
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMException</anchor></code> if the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object is read-only.
Otherwise, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the specified value
to the flag associated to this attribute.</p><p>If a parser create a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object
that represents a general entity, it set the value 
of this attribute.  If it set this attribute as
<code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code>, then it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
make the child list of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code>
object empty.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">An application might set this attribute as 
<code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code> even if the
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object has child nodes.
If the value of this attribute is <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code>,
any child of the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object
should be ignored for the purpose of e.g. serialization.</comment-p><p>When an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object
is created and then the subtree of the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object is cloned to
that object, any child node <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be 
ignored if the attribute is set to <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code>.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Newly created <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object
by <code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createGeneralEntity</anchor></code> has
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">hasReplacementTree</anchor></code> attribute
set to <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code>.</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">notationName</anchor></code> attribute</dfn>
is now read-write.</p><p>The setter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> throw a
<code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code> 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMException</anchor></code> if the object is 
read-only.  Otherwise, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the
specified value as the notation name of the object.
Note that the new value might be <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>.</p><p>The setter perform no lexical validation of the new
value.  The new notation name might not
be an XML Name and therefore the object might become
non-serializable.  In a well-formed XML document,
unparsed entities have notation names and parsed entities
do not.  However, setting new value to the attribute
might break this rule and the result document might
be inconsistent.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xmlEncoding</anchor></code> attribute</dfn> and the <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xmlVersion</anchor></code></dfn>
attribute
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> interface is
now read-write.  See <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal> for the definition.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="119" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[119]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isExternallyDeclared</anchor></code></dfn> attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code>
object, on getting, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return whether the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">externally declared</anchor> flag
of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> is set or not.  On setting, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">externally declared</anchor>
flag of the object if the new value is true, or unset the flag otherwise.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="120" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[120]</anchor-end> When an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object is created in the process of parsing the XML document,
if the entity is externally declared <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">XML</src>, the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">externally declared</anchor> flag of the object
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set.  Otherwise the flag <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be unset initially.</p></section><section><h1>Parent</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end>
The 
<dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ownerDocumentTypeDefinition</anchor></code> attribute</dfn>
of an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code>, <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Notation</anchor></code>,
or <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ElementTypeDefinition</anchor></code> node
is read-only and its type is 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentTypeDefinition</anchor></code>.
Its value is the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentTypeDefinition</anchor></code> node
to which the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> is attached.</p><p>The attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentTypeDefinition</anchor></code> node
in whose <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">generalEntities</anchor></code>,
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">notations</anchor></code>, or
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">elementTypes</anchor></code> list
the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> is contained.
There should be at most one such 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentTypeDefinition</anchor></code> node.
If there is no such node, then the attribute
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>.</p></section></section><section><h1>Extensions to the <code class="DOMi" xml:lang="en">EntityReference</code> interface</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiExpanded</anchor></code> attribute</dfn>
of an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object 
represents whether the entity reference is expanded so 
that its children list represents a part of the document.</p><p>This attribute is read-write.
The type of the this attribute is <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor></code>.</p><p>The getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the value of the flag
associated to this attribute.</p><p>The setter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> throw a 
<code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code>
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMException</anchor></code> if the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object is read-only.
Otherwise, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the specified value
to the flag associated to this attribute.</p><p>If a parser create a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object
that represents a general entity reference, it set the value 
of this attribute.  If it set this attribute as
<code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code>, then it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
make the child list of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code>
object empty.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">An application might set this attribute as 
<code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code> even if the
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object has child nodes.
If the value of this attribute is <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code>,
any child of the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object
should be ignored for the purpose of e.g. serialization.</comment-p><p>When an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object
is created and then the subtree of the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object is cloned to
that object, the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiExpanded</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be set to the same value as
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">hasReplacementTree</anchor></code> attribute
of that object.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Newly created <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object
by <code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createEntityReference</anchor></code> has
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiExpanded</anchor></code> attribute
set to <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code> unless
the replacement tree is cloned to the 
<code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object.</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiEntityBaseURI</anchor></code> attribute</dfn>
of an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object represents
the base DOM URI of the entity referenced by 
the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object.</p><p>This attribute is read-write.
The type of this attribute is <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor></code>.</p><p>The getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the base DOM URI
of the entity by the following algorithm:<ol><li>If the base DOM URI of the referenced entity
is explicitly specified to the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object, then
return it.</li><li>Otherwise, return the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">baseURI</anchor></code>
attribute value of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code>
object.</li></ol></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Therefore, the entity base URI for internal general
entities are same as the base URI for the external
or document entity in which the entity is referenced,
unless explicitly overridden later by application.</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Note that the algorithm might return <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>.</comment-p><p>The setter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> throw a
<code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code>
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMException</anchor></code> if the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object
is read-only.  Otherwise, if the specified value
is <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> unset
the explicit entity base URI specification for the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object.
Otherwise, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the specified value
as the entity base URI of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code>
object.</p><p>The specified value must be an absolute DOM URI.
However, no lexical validation or relative reference
resolution is performed on the setting.  Likewise,
setting the value does not affect on the entity base
URI of any <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> object 
and any other <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> 
object whose <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nodeName</anchor></code>,
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor></code>, or 
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor></code> is same as 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object's.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Setting <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code> to this attribute
removes the explicit entity base URI information
attached to the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code>
object entirely and never restores the original 
entity base URI set during the tree construction, 
if any.  To synchronize entity base URI with that 
of the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code> objecet with
same <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor></code> attribute,
use <code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">normalizeDocument</anchor></code> method
on the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code>.</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiExternal</anchor></code> attribute</dfn>
of an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> object
represents whether the entity referenced by
the object is an external entity or not.</p><p>This attribute is read-write.
The type of this attribute is <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor></code>.</p><p>The getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the value of the flag
associated to this attribute.</p><p>The setter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> throw a 
<code class="DOMc" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NO_MODIFICATION_ALLOWED_ERR</anchor></code>
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMException</anchor></code> if the object 
is read-only.  Otherwise, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
set the specified value to the flag associated
to this attribute.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Setting this attribute might make an object
inconsistent with the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code>
object referenced by it,  Such inconsistence might
be fixed by the method <code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">normalizeDocument</anchor></code>
on the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> object.</comment-p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">TODO: DOM accessor to 
<code xmlns="http://www.w3.org/1999/xhtml" class="InfoProp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">system identifier</anchor></code>,
<code xmlns="http://www.w3.org/1999/xhtml" class="InfoProp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">public identifier</anchor></code>,
and <code xmlns="http://www.w3.org/1999/xhtml" class="InfoProp" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">declaration base URI</anchor></code>
of an unexpanded entity reference information item.</ed></section><section><h1>Extensions to the <code class="DOMi" xml:lang="en">Notation</code> Interface</h1><section><h1>Notation Identifiers</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor></code> attribute</dfn> and
the <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">systemId</anchor></code> attribute</dfn>
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Notation</anchor></code> interface is so
extended that they are read-write.
See <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;37</anchor-internal> for the complete definition.</p></section><section><h1>Parent</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end>
The 
<dfn xml:lang="en"><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ownerDocumentTypeDefinition</anchor></code> attribute</dfn>
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Notation</anchor></code> interface
is defined at <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;50</anchor-internal>.</p></section></section><section><h1>Extension to the <code class="DOMi" xml:lang="en">ProcessingInstruction</code> Interface</h1><section><h1>Base URI</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiBaseURI</anchor></code> attribute</dfn>
is added to the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code>
interface as well as the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>
interface.  See <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;18</anchor-internal> for details.</p></section></section><section><h1>The <code class="DOMi" xml:lang="en">DOMConfiguration</code> interface</h1><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> <pre class="IDL code"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMConfiguration</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">readonly</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>[] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">parameterNames</anchor>;
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> The <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">parameterNames</anchor></code> attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">read only array</anchor>
of the parameter names (<code class="DOM" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor><strong>[</strong><strong>]</strong></code>, not <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMStringList</anchor></code>
as specified in <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM3 Core</anchor>), associated with the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">document</anchor>.  The attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> returns
the same object every time it is invoked with same <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.
The items <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be sorted by code point order.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> The <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domConfig</anchor></code> attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> interface
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the same object every time it is invoked with same <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> If a parameter is an <dfn>alias</dfn> of another parameter, methods <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getParameter</anchor></code>,
<code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setParameter</anchor></code>, and <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">canSetParameter</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> treat
those names as equivalent.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> The parameter <dfn><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai-create-child-element</anchor></code></dfn>
specifies whether several <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Atom DOM</anchor> attributes should create a child element if it is not exists.
The expected value type of the parameter is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor>.
The default value is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor>.
The parameter <dfn><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http://suika.fam.cx/www/2006/dom-config/create-child-element</anchor></code></dfn>
is an alias of the parameter <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai-create-child-element</anchor></code>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[99]</anchor-end> The parameter <dfn><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai-strict-document-children</anchor></code></dfn>
specifies whether the constraints on <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> node's child nodes should not
be relaxed or not.
The expected value type of the parameter is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor>.
The default value is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor>.
The parameter <dfn><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http://suika.fam.cx/www/2006/dom-config/strict-document-children</anchor></code></dfn>
is an alias of the paramter <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai-strict-document-children</anchor></code>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="132" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[132]</anchor-end> The parameter <dfn><code class="DOM"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai-allow-doctype-children</anchor></code></dfn>
specifies whether the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> node can contain <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code>
nodes as children or not.
The expected value type of the parameter is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor>.
The default value is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="174" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[174]</anchor-end> For the purpose of <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">conformance checker</anchor>s, child nodes of <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> and
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> conform to the constraints for node trees
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://dom.spec.whatwg.org/#node-tree">http://dom.spec.whatwg.org/#node-tree</anchor-external>, whatever values configuration parameters are set to.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end> The parameter <dfn><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http://suika.fam.cx/www/2006/dom-config/clone-entity-reference-subtree</anchor></code></dfn>
specifies whether the entity reference subtree should be cloned from corresponding entity node upon
creation of the node.
The expected value type of the parameter is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor>.
If it is the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM3</anchor> implementation, the default value is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor>.  Otherwise, the default value is
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> The parameter <dfn><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http://suika.fam.cx/www/2006/dom-config/dtd-attribute-type</anchor></code></dfn>
specifies whether the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> attribute type should be set to the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">schemaTypeInfo</anchor></code>
attribute of the newly created attribute node or not.
The expected value type of the parameter is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor>.
If it is the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM3</anchor> implementation, the default value is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor>.  Otherwise, the default value is
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</anchor-end> The parameter <dfn><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http://suika.fam.cx/www/2006/dom-config/dtd-default-attribute</anchor></code></dfn>
specifies whether the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> default attributes should be automatically set to elements or not.
The expected value type of the parameter is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor>.
If it is the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM3</anchor> implementation, the default value is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor>.  Otherwise, the default value is
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[100]</anchor-end> The parameter <dfn><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http://suika.fam.cx/www/2006/dom-config/xml-id</anchor></code></dfn>
specifies whether the processing of the <code class="XMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml:id</anchor></code> attribute should be enabled or not.
The expected value type of the parameter is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor>.
If it is the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM3</anchor> implementation, the default value is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor>.  Otherwise, the default value is
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="133" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[133]</anchor-end> If the <code class="DOM"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai-strict-document-children</anchor></code> configuration parameter is set to
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor>, the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pre-insert</anchor> operation and the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">replace</anchor> operation on the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">document</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST NOT</strong></anchor> throw a &quot;<code class="DOM"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HierarchyRequestError</anchor></code>&quot; exception for <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node tree</anchor>'s 
constraints on node types in following cases:<ul><li>The type of <var xml:lang="en">parent</var> is <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> and the type of <var xml:lang="en">node</var> is one of:
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>, <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code>, <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Comment</anchor></code>,
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code>, and <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Text</anchor></code>.</li><li>The type of <var xml:lang="en">parent</var> is <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> and the type of <var xml:lang="en">node</var> is
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentFragment</anchor></code> whose children are one of: 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>, <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code>, <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Comment</anchor></code>,
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code>, and <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Text</anchor></code>.</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="134" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[134]</anchor-end> If the <code class="DOM"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai-allow-doctype-children</anchor></code> configuration parameter of the
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node document</anchor> is set to <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor>, the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pre-insert</anchor> operation and the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">replace</anchor> operation on
the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> node <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST NOT</strong></anchor> throw a &quot;<code class="DOM"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HierarchyRequestError</anchor></code>&quot;
exception for <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node tree</anchor>'s constraints on node types in following cases:<ul><li>The type of <var xml:lang="en">parent</var> is <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> and the type of <var xml:lang="en">node</var> is 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code>.</li><li>The type of <var xml:lang="en">parent</var> is <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> and the type of <var xml:lang="en">node</var> is
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentFragment</anchor></code> whose children are <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code>.</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="135" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[135]</anchor-end> If the <code class="DOM"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai-strict-document-children</anchor></code> configuration parameter is set to
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">true</anchor>, the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">textContent</anchor></code> attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code>
object <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> act as if the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> were a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentFragment</anchor></code>
node.</p></section><section><h1>Extension to the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMLocator</anchor></code> interface</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end>
The <dfn xml:lang="en"><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">utf32Offset</anchor></code> attribute</dfn>
represents the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-32</anchor> offset into the input source
the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMLocator</anchor></code> is pointing to.</p><p>The type of this attribute is <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">long</anchor></code>.
This attribute is read-only.</p><p>The getter <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-32</anchor> offset
specified when the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMLocator</anchor></code>
object is created.  If no such information is provided,
then <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">-1</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be returned.</p></section><section><h1>Extensions to the <code class="DOMi" xml:lang="en">TextTrack</code> interface</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> <pre class="IDL code">partial interface TextTrack {
  readonly attribute boolean manakaiIsInvalid;
  readonly attribute TextTrackCueList manakaiAllCues;
  TextTrack manakaiCloneTrack();
};</pre></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiIsInvalid</anchor></code></dfn> attribute of the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TextTrack</anchor></code> object, on getting, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
return true if the track has been created by a <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebVTT parser</anchor>
and the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebVTT parser</anchor> has reported that the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebVTT file</anchor> from which 
the track object was created cannot be successfully processed as WebVTT.  
Otherwise, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return false.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">For the purpose of this method, a <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebVTT</anchor> file is invalid if it does
not contain the WebVTT signature such that the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebVTT parser</anchor> does not
continue to parse the file.  Any other conformance error does not cause
the attribute return true.</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiAllCues</anchor></code></dfn> attribute of the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TextTrack</anchor></code> object, on getting, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">live</anchor> list that contains the cues found in the track,
whether active or not, or effective or not.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> The <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiCloneTrack</anchor></code></dfn> method of the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TextTrack</anchor></code> object <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return a new
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TextTrack</anchor></code> object.  The new object <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
have the same values as the original object for the attributes:
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">kind</anchor></code>, <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">label</anchor></code>,
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">language</anchor></code>, <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mode</anchor></code>, and
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiIsInvalid</anchor></code>.  The <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiAllCues</anchor></code>
attribute of the new object <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> have a new <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TextTrackCueList</anchor></code>
object, containing the clones of the cues in the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiAllCues</anchor></code>
list of the original object, in order.  The clones <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be the object
that would be created by the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiCloneCue</anchor></code> method of the cues,
with their <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">track</anchor></code> attributes set to the new <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TextTrack</anchor></code>
object.</p></section><section><h1>Extensions to the <code class="DOMi" xml:lang="en">TextTrackCue</code> interface</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <pre class="IDL code">partial interface TextTrackCue {
  readonly attribute long manakaiLine;
  readonly attribute long manakaiColumn;
  TextTrackCue manakaiCloneCue();
};</pre></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiLine</anchor></code></dfn> attribute of the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TextTrackCue</anchor></code> object, on getting, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
return the line number in the original resource at which the cue
is declared, if available, or the value -1, otherwise.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiColumn</anchor></code></dfn> attribute of the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TextTrackCue</anchor></code> object, on getting, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
return the column number in the original resource at which the cue
is declared, if available, or the value -1, otherwise.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> The <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiCloneCue</anchor></code></dfn> method of the
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TextTrackCue</anchor></code> object <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return a new
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TextTrackCue</anchor></code> object.  The new object <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
have the same values as the original object for the attributes:
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">id</anchor></code>, <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">startTime</anchor></code>,
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">endTime</anchor></code>, <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pauseOnExit</anchor></code>,
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">vertical</anchor></code>, <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">snapToLines</anchor></code>,
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">line</anchor></code>, <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">position</anchor></code>, <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">size</anchor></code>,
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">align</anchor></code>, and <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">text</anchor></code>.</p></section><section><h1>The <code class="DOMi" xml:lang="en">URIReference</code> interface</h1><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><figure xmlns="http://www.w3.org/1999/xhtml"><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[105]</anchor-end> <pre class="IDL code"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMImplementation</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createURIReference</anchor>((<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor>) url);
};

[NoInterfaceObject]
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriReference</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriScheme</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriAuthority</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriUserinfo</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriHost</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriPort</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriPath</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriQuery</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriFragment</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>[] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getURIPathSegment</anchor>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unsigned long</anchor> index);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">void</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setURIPathSegment</anchor>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unsigned long</anchor> index, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> newValue);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isURI</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isURI3986</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isIRI</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isIRI3987</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isRelativeReference</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isRelativeReference3986</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isRelativeIRIReference</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isRelativeIRIReference3987</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isURIReference</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isURIReference3986</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isIRIReference</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isIRIReference3987</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isAbsoluteURI</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isAbsoluteURI3986</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isAbsoluteIRI</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isAbsoluteIRI3987</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isEmptyReference</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getURIReference</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getURIReference3986</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getIRIReference</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getIRIReference3987</anchor>();
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getAbsoluteReference</anchor>((<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor>) base, any opt...);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getAbsoluteReference3986</anchor>((<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor>) base, any opt...);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getAbsoluteReference3987</anchor>((<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor>) base, any opt...);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isSameDocumentReference</anchor>((<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor>) base);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isSameDocumentReference3986</anchor>((<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor>) base);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getRelativeReference</anchor>((<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor>) base);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cloneURIReference</anchor>();
};</pre></p></figure><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="106" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[106]</anchor-end> The <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createURIReference</anchor></code></dfn> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">method</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> run the following steps:<figure><ol><li>If <var xml:lang="en">url</var> is a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor></code> object, let <var xml:lang="en">url</var> be the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">url</anchor>
of <var xml:lang="en">url</var>.</li><li>Create a new <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor></code> object whose <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">url</anchor> is <var>url</var> and return the object.</li></ol></figure></p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="107" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[107]</anchor-end> In <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM Perl Binding</anchor>, <var xml:lang="en">url</var> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MAY</strong></anchor> be a reference to the string.
It <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be dereferenced before the aforementioned steps are invoked.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="110" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[110]</anchor-end> The <dfn><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor></code></dfn> object represents a <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>.  It has the associated <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">url</anchor>.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="108" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[108]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriReference</anchor></code></dfn> attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor></code>
object, on getting, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">url</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.
On setting, the attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">url</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> to the new value.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="109" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[109]</anchor-end> In <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM Perl binding</anchor>, the <code class="perl" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">stringify</anchor></code> method of the 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor></code> object <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">url</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="111" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[111]</anchor-end> Attributes <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriScheme</anchor></code></dfn>, <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriAuthority</anchor></code></dfn>,
<dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriUserinfo</anchor></code></dfn>, <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriHost</anchor></code></dfn>,
<dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriPort</anchor></code></dfn>, <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriPath</anchor></code></dfn>,
<dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriQuery</anchor></code></dfn>, and <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uriFragment</anchor></code></dfn> corresponding to
scheme, authority, userinfo, hostname, port, path, query, and fragment components respectively.
On getting, these attributes <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the corresponding component of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">url</anchor>
of the context object, not including delimiters before or after the component, if any, or 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> otherwise.
On setting, these attributes <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> replace the corresponding component by the new value,
if the new value is syntactically sound value as that component, or do nothing, otherwise.<ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Need more precious definition.</ed></p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="112" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[112]</anchor-end> The <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getURIPathSegment</anchor></code></dfn> method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor></code>
object <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the path segment of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">url</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> with the index
specified as the argument.  The path segments of the URL is the components of the path separated by a
<code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> character.  If the path segment with the specified index is not found,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be returned instead.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="113" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[113]</anchor-end> The <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setURIPathSegment</anchor></code></dfn> method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor></code>
object <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the path segment of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">url</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> with the index
specified by the first argument <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be replaced or added by the value specified
as the second argument.  If the index is greater than the number of path segments, the path
segments with indexes greater than or equal to the number of the path segments and less than
the specified index <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be set to the empty string.</p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="114" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[114]</anchor-end> Define methods; In DOM Perl Binding, string arguments can be scalar references.</ed><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[115]</anchor-end> In <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM Perl Binding</anchor>, the <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">clone</anchor></code></dfn> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">method</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
act as if the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cloneURIReference</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">method</anchor> has been invoked.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="116" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[116]</anchor-end> In <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM Perl Binding</anchor>, the <code class="perl"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">eq</anchor></code> operator on the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URIReference</anchor></code>
object <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> compare the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">url</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> with the other value.</p></delete></section><section><h1>The <code class="DOMi" xml:lang="en">InternetMediaType</code> interface</h1><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><figure xmlns="http://www.w3.org/1999/xhtml"><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="121" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[121]</anchor-end> <pre class="IDL code"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMImplementation</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InternetMediaType</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createInternetMediaType</anchor>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> type, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> subtype);
};

[NoInterfaceObject]
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InternetMediaType</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">stringifier</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">readonly</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">imtText</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">readonly</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">topLevelType</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">subtype</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">readonly</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unsigned long</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">parameterLength</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getAttribute</anchor>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unsigned long</anchor> index);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">void</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setAttribute</anchor>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unsigned long</anchor> index, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> attr);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getValue</anchor>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unsigned long</anchor> index);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">void</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setValue</anchor>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">unsigned long</anchor> index, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> value);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getParameter</anchor>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> attr);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">void</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setParameter</anchor>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> attr, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> value);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">void</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">addParameter</anchor>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> attr, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> value);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">void</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">removeParameter</anchor>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> attr);
};</pre></p></figure><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="122" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[122]</anchor-end> The <dfn><code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InternetMediaType</anchor></code></dfn> object represents a <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME type</anchor>.
It has associated <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">subtype</anchor>, and ordered list of parameter name/value pairs.
The <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">subtype</anchor>, and parameter names <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">converted to ASCII lowercase</anchor>
when it is set.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="123" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[123]</anchor-end> The <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createInternetMediaType</anchor></code> method <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
return a new <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InternetMediaType</anchor></code> object whose <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor> is set to the first argument,
whose <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">subtype</anchor> is set to the second argument, and the parameters is set to empty.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[124]</anchor-end> For the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM Perl Binding</anchor>, the <code class="perl" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cmp</anchor></code> operation <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> compare
the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">stringifier</anchor>'s return value with the other value.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="125" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[125]</anchor-end> The <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">imtText</anchor></code> attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the serialized representation
of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME type</anchor>.<ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Need to define serialization.</ed></p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="126" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[126]</anchor-end> The <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor></code> attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the serialized representation
of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME type</anchor> without parameters.<ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Need to define serialization.</ed></p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="127" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[127]</anchor-end> The <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">topLevelType</anchor></code> attribute, on getting, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor>
of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.  On setting, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="128" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[128]</anchor-end> The <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">subtype</anchor></code> attribute, on getting, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">subtype</anchor>
of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.  On setting, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">subtype</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.</p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Methods...</ed></delete></section><section><h1>New configuration parameters</h1><section><h1>Loose document children</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end>
The <dfn xml:lang="en">configuration parameter <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">http://suika.fam.cx/www/2006/dom-config/strict-document-children</anchor></code></dfn>
can be used to force the implementation to obey DOM
Level 3 Core rule for children of <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code>
nodes.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Note that this configuration parameter does
affect operations only <em xmlns="http://www.w3.org/1999/xhtml">after</em> it is set.
Changing the configuration parameter value
itself does not mutate the underlying document tree
even if the tree violate the rule applied under
the new value.</comment-p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">The definition is incomplete.</ed><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end>
If the parameter is set to <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code>,
the getter of the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">textContent</anchor></code>
attribute of a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> object
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> behave as if it were a
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentFragment</anchor></code> object,
except that the concatenation process <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
ignore any <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> object.</p><p>If the parameter is set to <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code>,
the setter of the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">textContent</anchor></code>
attribute of a <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> object
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> behave as if it were a
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentFragment</anchor></code> object.</p></section></section><section><h1>The <code class="DOMi" xml:lang="en">ParentNode</code> interface</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="177" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[177]</anchor-end> Following members are moved to the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ParentNode</anchor></code> interface.</p><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="175" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[175]</anchor-end> <pre class="IDL code">partial interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ParentNode</anchor> {
  attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">innerHTML</anchor>;
  HTMLCollection getElementsByTagName(DOMString localName);
  HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
  HTMLCollection getElementsByClassName(DOMString classNames);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NodeList</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getItems</anchor>(optional <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> typeNames = &quot;&quot;);
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="143" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[143]</anchor-end> The <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">innerHTML</anchor></code> attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentFragment</anchor></code> object
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> act as if that were the <code class="HTMLe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">body</anchor></code> element in the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML namespace</anchor>.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="146" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[146]</anchor-end> The <code xmlns="http://www.w3.org/1999/xhtml" class="HTMLe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">body</anchor></code> element is used here such that this definition is consistent
with the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">outerHTML</anchor></code> attribute.</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="154" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[154]</anchor-end> Methods <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getElementsByClassName</anchor></code>, <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getElementsByTagName</anchor></code>, and
<code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getElementsByTagNameNS</anchor></code> of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentFragment</anchor></code> object <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
act as if those methods of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code> interface.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="176" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[176]</anchor-end> The <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getItems</anchor></code> method <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the node list containing elements
that create top-level microdata items in the subtree rooted by the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> (inclusive).
The method <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return a <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">static</anchor> node list.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="178" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[178]</anchor-end> This is a <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">willful violation</anchor> to the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML Standard</anchor>.</comment-p></section><section><h1>Parsing and Serialization</h1><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="145" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[145]</anchor-end> Need to define XML parsing</ed><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="147" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[147]</anchor-end> The steps to <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">produce an HTML serialization</anchor> or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">produce an XML serialization</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be
defined as following:<ul><li>If the node is <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code>, <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Text</anchor></code>, <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Comment</anchor></code>, or
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ProcessingInstruction</anchor></code>: Return the result of running the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML fragment serialization algorithm</anchor>
or the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML fragment serialization algorithm</anchor>, respectively, on a fictional node whose only child is
the node.</li><li>If the node is <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code>: Return the result of running the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML fragment serialization algorithm</anchor>
or the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML fragment serialization algorithm</anchor>, respectively, on a fictional document node whose only children are
the node and an element and then remove the serialization of the element from the string returned by the algorithm.</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="148" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[148]</anchor-end> If the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">serializeToString</anchor></code> method is invoked with an <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Attr</anchor></code>,
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ElementTypeDefinition</anchor></code>, <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AttributeDefinition</anchor></code>, <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code>,
or <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Notation</anchor></code> node, then a &quot;<code class="DOMe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NotSupportedError</anchor></code>&quot; exception <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
be <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">thrown</anchor>.</p></section><section><h1>Events</h1><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="158" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[158]</anchor-end><pre class="IDL code">partial interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Event</anchor> {
  readonly attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiDispatched</anchor>;
  readonly attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiImmediatePropagationStopped</anchor>;
  readonly attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiPropagationStopped</anchor>;
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[159]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiDispatched</anchor></code></dfn> attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Event</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">dispatch flag</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="160" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[160]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiImmediatePropagationStopped</anchor></code></dfn> attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Event</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return whether the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">stop immediate propagation flag</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>
is set or not.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="161" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[161]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiPropagationStopped</anchor></code></dfn> attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Event</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return whether the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">stop propagation flag</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>
is set or not.</p><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="162" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[162]</anchor-end> <pre class="IDL code">partial interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MouseEvent</anchor> {
  readonly attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">altGraphKey</anchor>;
};
partial interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">KeyboardEvent</anchor> {
  readonly attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">altGraphKey</anchor>;
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="163" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[163]</anchor-end> The <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">altGraphKey</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the return value
of the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getModifierState</anchor></code> method on the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> with the argument <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AltGraph</anchor></code>.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[164]</anchor-end> Implemented by <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor>.</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="165" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[165]</anchor-end> The <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">initKeyboardEvent</anchor></code>] method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">KeyboardEvent</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> also recognize the key name <COCDE xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AltGraph</anchor></COCDE> in its <code class="DOMp" xml:lang="en">modifiersListArg</code>
argument.</p></section><section><h1>CSSOM</h1><figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="166" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[166]</anchor-end> <pre class="IDL code">partial interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">StyleSheet</anchor> {
  readonly attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiBaseURI</anchor>;
  readonly attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiInputEncoding</anchor>;
};

partial interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSStyleSheet</anchor> {
  attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cssText</anchor>;
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiLookupNamespaceURI</anchor>([TreatNullAs=EmptyString] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> prefix);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor>? <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiLookupNamespacePrefix</anchor>([TreatNullAs=EmptyString] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> namespace);
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiIsDefaultNamespace</anchor>([TreatNullAs=EmptyString] <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOMString</anchor> namespace);
};</pre></p></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="167" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[167]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiBaseURI</anchor></code></dfn> attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">StyleSheet</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">base URL</anchor> associated with the style sheet when it is created.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="168" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[168]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiInputEncoding</anchor></code></dfn> attribute of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">StyleSheet</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">encoding name</anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Encoding Standard</anchor></src> used to interpret the style sheet.
If the style sheet is created from a character sequence (rather than byte sequence), it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
return <code class="charset" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">utf-8</anchor></code> instead.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="169" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[169]</anchor-end> On getting, the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cssText</anchor></code> attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cssText</anchor></code>
attribute values of the rules contained in the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cssRules</anchor></code> of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSStyleSheet</anchor></code>
object, in same order, separated by a <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+000A</anchor></code> character.</p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Setter is not yet defined.</ed><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="170" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[170]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiLookupNamespaceURI</anchor></code></dfn> method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSStyleSheet</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the namespace name of the namespace prefix specified by the argument, if any,
or null otherwise.  If there are multiple <code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">@namespace</anchor></code> at-rules in the style sheet,
only the last one takes effect by definition.  If the argument is the empty string, namespace name
of the default namespace, if any, is returned instead.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="171" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[171]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiLookupNamespacePrefix</anchor></code></dfn> method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSStyleSheet</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the namespace prefix bound to the namespace which is equal to the argument, if any, 
or null otherwise.  If there are more than one namespace prefixes bound to the namespace, the namespace prefix
declared later in the list of rules in the style sheet <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be returned.  Note that any
<code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">@namespace</anchor></code> at-rules with no prefix is ignored for the purpose of this method.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="172" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[172]</anchor-end> The <dfn><code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakaiIsDefaultNamespace</anchor></code></dfn> method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSStyleSheet</anchor></code>
interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return true if the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">default namespace</anchor> of the style sheet <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">css-namespaces</anchor></src>
is equal to the argument, or false otherwise.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="173" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[173]</anchor-end> A namespace name consist of the empty string represents the null namespace in CSS Namespaces <src><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">css-namespaces</anchor></src>.</comment-p></section><section><h1>Non-browser script support</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="156" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[156]</anchor-end> When the steps are invoked in the context where the &quot;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">entry script</anchor>&quot; concept is not defined by any other
specification (e.g. when a non-browser script invokes a DOM method), the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">base URL</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">entry script</anchor> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">about:blank</anchor></code> unless otherwise specified by an <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">applicable specification</anchor>.</p></section><section><h1>DOM3 bug fixes</h1><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> The <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createAttribute</anchor></code></dfn> method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> interface
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> run the following steps:<figure><ol><li>Let <var xml:lang="en">localName</var> be the argument.</li><li>If <var xml:lang="en">localName</var> does not match the XML <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Name</anchor></code> production, throw an 
&quot;<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InvalidCharacterError</anchor></code>&quot; exception and terminate these steps.</li><li>Return a new <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> with namespace set to <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor>, local name set to <var>localName</var>, 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node document</anchor> set to the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">owner element</anchor> set to null, and
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">value</anchor> set to the empty string.</li></ol></figure></p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> The <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createAttributeNS</anchor></code></dfn> method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> interface
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> act as if the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createElementNS</anchor></code> method was invoked, except that
a new <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor>, instead of a new <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">element</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be created.  The <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">value</anchor> of the newly 
created <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be the empty string.</p></delete><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> Methods <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createEntityReference</anchor></code></dfn> and <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createCDATASection</anchor></code></dfn>
of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">throw</anchor> a
&quot;<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NotSupportedError</anchor></code>&quot; <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">exception</anchor>.</p><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> If the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">getAttributeNode</anchor></code> method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code> interface
founds multiple attributes, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return the first attribute.
If the document is an <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML document</anchor> and the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> is in the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML namespace</anchor>, 
the argument to the method <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">converted to ASCII lowercase</anchor> first.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> The <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setAttributeNode</anchor></code></dfn> method and the <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setAttributeNodeNS</anchor></code></dfn>
method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Element</anchor></code> interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> run these steps:<figure><ol><li>Let <var xml:lang="en">newAttr</var> be the argument.</li><li>If the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">owner element</anchor> of <var xml:lang="en">newAttr</var> is not <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> and is different from the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">throw</anchor> an &quot;<code class="DOMe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">InUseAttributeError</anchor></code>&quot; <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">exception</anchor> and abort these steps.</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Adopt</anchor> <var xml:lang="en">newAttr</var>.</li><li>If the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> has the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> whose <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespace</anchor> and <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">local name</anchor> are equal to
those of <var xml:lang="en">newAttr</var>, let <var xml:lang="en">oldAttr</var> be the attribute and set the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">owner element</anchor>
of <var xml:lang="en">oldAttr</var> to <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor>.  Otherwise, let <var xml:lang="en">oldAttr</var> be <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor>.</li><li>If <var>oldAttr</var> is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor>, append <var xml:lang="en">newAttr</var> to the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attributes</anchor> of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.</li><li>Otherwise, if <var>oldAttr</var> is not <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor>, replace <var xml:lang="en">oldAttr</var> in the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attributes</anchor>
of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> by <var xml:lang="en">newAttr</var>.</li><li>Set the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">owner element</anchor> of <var xml:lang="en">newAttr</var> to the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor>.</li><li>If <var xml:lang="en">oldAttr</var> is null, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute is set</anchor> and <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute is added</anchor>.</li><li>Otherwise, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute is set</anchor> and <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute is changed</anchor>.</li><li>Return <var xml:lang="en">oldAttr</var>.</li></ol><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">MutationEvent integration is necessary...</ed></figure></p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="149" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[149]</anchor-end> If the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">removeAttributeNode</anchor></code> method removes an attribute, then 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute is removed</anchor> just before the method returns a node.</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> The <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setNamedItem</anchor></code> method and the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setNamedItemNS</anchor></code>
method of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NamedNodeMap</anchor></code> interface <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> act in the
consistent way with these methods.</p></delete><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> The <dfn><code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isSameNode</anchor></code> method</dfn> of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor></code> interface
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor> if the argument is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor>.</p><figure xmlns="http://www.w3.org/1999/xhtml"><pre class="IDL code"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">partial</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">interface</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor> {
  <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">isSameNode</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Node</anchor>? other);
};</pre></figure></delete><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[142]</anchor-end> The node has a <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strong reference</anchor> to each of user data and user data handler associated with
the node using the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">setUserData</anchor></code> method until they has been removed from the node
by another invocation of the method with the same name argument.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="157" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[157]</anchor-end> For the purpose of the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">media</anchor></code> IDL attribute, the attribute has no default value.</p></section><section><h1>Implementation-specific requirements</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[155]</anchor-end> When a method on an object may or may not return the same <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NodeList</anchor></code> or 
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLCollection</anchor></code> object as returned by the earlier calls, then the same object
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be returned.</p><delete xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> Steps <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">list of elements with local name <var xmlns="http://www.w3.org/1999/xhtml">localName</var></anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">list of elements with namespace namespace and local name <var xmlns="http://www.w3.org/1999/xhtml">localName</var></anchor>, and
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">list of elements with class names <var xmlns="http://www.w3.org/1999/xhtml">classNames</var></anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> always return
the same <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLCollection</anchor></code> object as returned by the earlier calls with the 
same <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">context object</anchor> and argument.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> In <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM Standard</anchor> this is optional.</comment-p></delete><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> The <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">document</anchor> has the <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strict error checking</anchor></dfn> flag.  By default, the flag is set.
The <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strictErrorChecking</anchor></code> of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> interface
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">DOM3CORE</src>, on getting, 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> return whether the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strict error checking</anchor> flag of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">document</anchor> is set or not.
On setting, the attribute <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> set the flag if the true value is assigned, or unset otherwise.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="129" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[129]</anchor-end> Non-<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM3</anchor> implementation <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> throw exceptions or report errors as specified by
relevant specifications, unless an <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">applicable specification</anchor> explicitly specifies the
applicability of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strict error checking</anchor> flag.</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end>
As specified in DOM Level 3 Core specification <src>DOM3CORE</src>,
a DOM3 implementation may choose not to throw an exception
when the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strictErrorChecking</anchor></code> attribute
of the <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Document</anchor></code> object 
is set to <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code>.</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="130" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[130]</anchor-end> If the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strict error checking</anchor> flag of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node document</anchor> is set,
for the purpose of setting <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespace</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespace prefix</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">target</anchor>, and/or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">local name</anchor> of
a <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node</anchor> or <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">attribute</anchor> only, the definitions of <code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Name</anchor></code>, <code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NCName</anchor></code>, and
<code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QName</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be replaced by the following definition: &quot;a string of one or more
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode code points</anchor>&quot;.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="140" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[140]</anchor-end> If the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strict error checking</anchor> flag of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node document</anchor> is set,
for the purpose of setting the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor> of the <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> node only,
the definition of <code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Name</anchor></code> and <code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QName</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor>
be replaced by the following definition: &quot;a string of zero or more <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode code points</anchor>&quot;.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="136" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[136]</anchor-end> If the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strict error checking</anchor> flag of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node document</anchor> is set,
when a <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QName</anchor> is split to obtain the optional namespace prefix and the local name,<ul><li>If the first character is the <code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">COLON</anchor></code> character, the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespace prefix</anchor>]] is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor>
and the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">local name</anchor> is the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QName</anchor>.</li><li>If the first <code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">COLON</anchor></code> character in the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QName</anchor> is the last character,
the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">namespace prefix</anchor> is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> and the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">local name</anchor> is the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QName</anchor>.</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="131" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[131]</anchor-end> If the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strict error checking</anchor> flag of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node document</anchor> is set,
following tests, if any, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> be skipped upon creation of elements and attributes,
or setting of the namespace prefix and <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST NOT</strong></anchor> throw an exception for them:<ul><li>When the namespace prefix or the qualified name is <code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml</anchor></code> or <code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xmlns</anchor></code>,
whether the namespace URL is appropriate or not.</li><li>When the namespace URL is the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML namespace</anchor> or the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XMLNS namespace</anchor>, whether the namespace prefix or
the qualified name is appropriate or not.</li><li>When the namespace prefix is not <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> while the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">local name</anchor> is not <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor>,
whether the namespace URL is <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> or not.</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="139" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[139]</anchor-end> If the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strict error checking</anchor> flag of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node document</anchor> is set,
the <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">createProcessingInstruction</anchor></code> method <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> skip the test whether
the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">data</anchor> contains <code>?&gt;</code> or not and <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST NOT</strong></anchor> throw an exception for it.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="137" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[137]</anchor-end> If the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">strict error checking</anchor> flag of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">node document</anchor> is set,
the <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xmlVersion</anchor></code> attribute of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">document</anchor>, on setting, 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST NOT</strong></anchor> throw an exception because of the new value's invalidness and it
[<strong>MUST</strong>]] set the new value as the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML version</anchor> of the document.</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="138" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[138]</anchor-end> If an operation is defined in terms of the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML version</anchor> of the document or the
<code class="XMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xmlVersion</anchor></code> attribute value but its behavior on occurrence of unknown XML version
is not defined, it <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">MUST</strong></anchor> behave as if the <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML version</anchor> is <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1.0</anchor></code>.</p></section><section><h1>New language binding (informative)</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">manakai</anchor> is a set of <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Perl</anchor> modules
and it defines its own binding of <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor>.
For more information, see <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM Perl Binding</anchor>
[MDPB].</p></section><section><h1>References</h1><section><h1>Normative References</h1><dl><dt>[DOM3Core]</dt><dd>
<cite xml:lang="en">Document Object Model (DOM) Level 3 Core Specification Version 1.0</cite>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C</anchor> Recommendation, 7 April 2004,
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407">http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407</anchor-external>.
The latest version of DOM Level 3 Core is avalable at
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/DOM-Level-3-Core">http://www.w3.org/TR/DOM-Level-3-Core</anchor-external>.
(This version of the specification is referenced.)</dd><dt>[HTML5]</dt><dd>
<cite xml:lang="en">HTML 5</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WHATWG</anchor> Working Draft, work in progress,
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://whatwg.org/html5">http://whatwg.org/html5</anchor-external>.</dd><dt>[RFC 2119]</dt><dd>
<cite xml:lang="en">Key words for use in RFCs to Indicate Requirement Levels</cite>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2119</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BCP 14</anchor>, March 2004,
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="urn:ietf:rfc:2119">urn:ietf:rfc:2119</anchor-external>.
(This version of the specification is referenced.)</dd><dt>[Infoset]</dt><dd>
<cite xml:lang="en">XML Information Set (Second Edition)</cite>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C</anchor> Recommendation, 4 February 2004,
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2004/REC-xml-infoset-20040204">http://www.w3.org/TR/2004/REC-xml-infoset-20040204</anchor-external>.
The latest version of XML Information Set is available at
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/xml-infoset">http://www.w3.org/TR/xml-infoset</anchor-external>.
(Latest version of the specifcation whose
maturity level is higher than Candidate Recommendation
is referenced.)</dd><dt>[SelectorsAPI]</dt><dd>
<cite xml:lang="en">Selectors API</cite>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C</anchor> Editor's Draft, 29 August 2007,
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://dev.w3.org/cvsweb/~checkout~/2006/webapi/selectors-api/Overview.html?rev=1.28&amp;content-type=text/html;%20charset=utf-8">http://dev.w3.org/cvsweb/~checkout~/2006/webapi/selectors-api/Overview.html?rev=1.28&amp;content-type=text/html;%20charset=utf-8</anchor-external>.
The latest published version of Selectors API is available at
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/selectors-api/">http://www.w3.org/TR/selectors-api/</anchor-external>.
(Latest version of the specifcation whose
maturity level is higher than Candidate Recommendation, if any,
or latest Editor's Draft is referenced.)</dd></dl></section><section><h1>Informative References</h1><dl><dt>[DOM2Traversal]</dt><dd>
<cite xml:lang="en">Document Object Model (DOM) Level 2 Traversal and Range Specification Version 1.0</cite>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C</anchor> Recommendation, 13 November 2000,
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113">http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113</anchor-external>.
The latest version of DOM Level 2 Traversal and Range
is available at <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/DOM-Level-2-Traversal-Range">http://www.w3.org/TR/DOM-Level-2-Traversal-Range</anchor-external>.</dd><dt>[EBFD]</dt><dd><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">ECMAScript binding for DOM, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C</anchor> Editor's Draft.<dl xmlns="http://www.w3.org/1999/xhtml"><dt>[MDPB]</dt><dd>
<cite xml:lang="en">manakai's DOM Perl binding</cite>, work in progress,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM Perl Binding</anchor>.</dd></dl></ed></dd></dl></section></section><section><h1>memo (informative)</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end></p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"></ed><pre>       - If they are <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IF" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":tx|DocumentType">IF::tx|DocumentType</anchor-external>s and at least one of them
          has the <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="Feature" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":fe|XDoctype">Feature::fe|XDoctype</anchor-external> feature, their <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="A" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":DTDef.elementTypes">A::DTDef.elementTypes</anchor-external>
          <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IF" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":NamedNodeMap">IF::NamedNodeMap</anchor-external>s are equal, i.e. they both has the
          <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="Feature" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":fe|XDoctype">Feature::fe|XDoctype</anchor-external> feature and their <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="A" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":DTDef.elementTypes">A::DTDef.elementTypes</anchor-external>
          are equal (as defined for <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="A" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":Node.attributes">A::Node.attributes</anchor-external> except
          that they cannot be <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="DOM" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":null">DOM::null</anchor-external>), or the <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="A" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":DTDef.elementTypes">A::DTDef.elementTypes</anchor-external>
          of the node that has the <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="Feature" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":fe|XDoctype">Feature::fe|XDoctype</anchor-external> feature
          is empty (i.e. its <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="A" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":NamedNodeMap.length">A::NamedNodeMap.length</anchor-external> is zero).
          <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="SRC" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":manakai">SRC::manakai</anchor-external></pre><pre>        - If they are <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IF" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":ETDef">IF::ETDef</anchor-external>s, their <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="A" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":ETDef.attributeDefinitions">A::ETDef.attributeDefinitions</anchor-external>
          <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IF" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":NamedNodeMap">IF::NamedNodeMap</anchor-external>s are equal (as defined for
          <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="A" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":Node.attributes">A::Node.attributes</anchor-external> except that they cannot be <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="DOM" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":null">DOM::null</anchor-external>).
          <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="SRC" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":manakai">SRC::manakai</anchor-external></pre><pre>        - If they are <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IF" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":ATDef">IF::ATDef</anchor-external>s, the numeric attributes
          <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="A" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":ATDef.declaredType">A::ATDef.declaredType</anchor-external> and <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="A" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":ATDef.defaultType">A::ATDef.defaultType</anchor-external> are equal.
          <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="SRC" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":manakai">SRC::manakai</anchor-external></pre><pre>        - If they are <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IF" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":ATDef">IF::ATDef</anchor-external>s, the <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="A" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":ATDef.allowedToken">A::ATDef.allowedToken</anchor-external>
          <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IF" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":c|DOMStringList">IF::c|DOMStringList</anchor-external>s are equal, i.e. they have
          the same <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="A" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter=":c|DOMStringList.length">A::c|DOMStringList.length</anchor-external> and for each string
          that exists in one list there is a string that
          exists in the other list and is equal, although
          not necessarily at the same index.  In addition,
          the number of the items that are equal to a string in one list
          is equal to the number of such items in the other list.</pre></section></body></html>