/[suikacvs]/markup/xml/domdtdef/domdtdef-work.en.html
Suika

Diff of /markup/xml/domdtdef/domdtdef-work.en.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.22 by wakaba, Sat Dec 8 08:16:53 2007 UTC revision 1.30 by wakaba, Sun Dec 9 10:33:26 2007 UTC
# Line 1  Line 1 
1  <!DOCTYPE html>  <!DOCTYPE html>
2  <html lang="en" class="formal-specification status-work-in-progress">  <html lang="en" class="formal-specification"><!-- status-work-in-progress"-->
3  <head>  <head>
4  <title>DOM Document Type Definition Module</title>  <title>DOM Document Type Definition Module</title>
5  <link rel="stylesheet" href="http://suika.fam.cx/www/style/html/spec">  <link rel="stylesheet" href="http://suika.fam.cx/www/style/html/spec">
# Line 10  Line 10 
10    
11  <div class="header">  <div class="header">
12  <h1>DOM Document Type Definition Module</h1>  <h1>DOM Document Type Definition Module</h1>
13  <h2>Working Draft <time datetime=2007-12-08>8 December 2007</time></h2>  <h2>First Edition <!-- Working Draft -->
14    <time datetime=2007-12-09>9 December 2007</time></h2>
15    
16  <dl class="versions-uri">  <dl class="versions-uri">
17  <dt>This Version</dt>  <dt>This Version</dt>
18      <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-20071209"
19          >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-20071209</a>&gt;</code></dd>
20    <!--
21    <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-work"    <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-work"
22        >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-work</a>&gt;</code></dd>        >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-work</a>&gt;</code></dd>
23    -->
24  <dt>Latest Version</dt>  <dt>Latest Version</dt>
25    <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef"    <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef"
26        >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef</a>&gt;</code></dd>        >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef</a>&gt;</code></dd>
# Line 59  applications are able to access to the d Line 64  applications are able to access to the d
64  <div id="status" class="section">  <div id="status" class="section">
65  <h2>Status of This Document</h2>  <h2>Status of This Document</h2>
66    
67  <p class=section-info><em>This section describes the status of this document  <p class=section-info>This section describes the status of this document at the
68  at the time of its publication.  Other documents  time of its publication.  Other documents might supersede this document.</p>
69  might supersede this document.</em></p>  
70    <p>This document is a specification<!-- working draft -->,
71  <p>This document is a working draft, produced as part of the  produced as part of the
72  <a href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai</a>  <a href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai</a> project.  
73  project.  It might be updated, replaced, or obsoleted by  It might be updated, replaced, or obsoleted by other documents at any time.  
74  other documents at any time.  It is inappropriate to  <!-- It is inappropriate to cite this document as other than
75  cite this document as other than <q>work in progress</q>.</p>  <q>work in progress</q>. --></p>
76    
77  <p>Comments on this document are welcome and  <p>Comments on this document are welcome and
78  may be sent to the <a href="#author">author</a>.</p>  may be sent to the <a href="#author">author</a>.</p>
79    
80  <p>Translations of thie document might be available.  <p>Translations of this document might be available.
81  The English version of the document is the only  The English version of the document is the only
82  normative version.</p>  normative version.</p>
83  </div>  </div>
# Line 88  interfaces and modifications to existing Line 93  interfaces and modifications to existing
93  over which <abbr>DOM</abbr> applications are able to access to the  over which <abbr>DOM</abbr> applications are able to access to the
94  definitions of the document type.</p>  definitions of the document type.</p>
95    
96  <p>Interfaces defined in this specification are partially modeled from  <p>Interfaces defined in this document are partially modeled and inspired by
97  early drafts of <abbr>DOM</abbr> level 1 <span class=ed>@@ ref</span>,  early drafts of <abbr>DOM</abbr> Level 1
98  <abbr>DOM</abbr> Abstract Schema level 3 <span class=ed>@@ ref</span>, and  <cite class="bibref informative">[<a href="#ref-DOM1WD">DOM1WD</a>]</cite>,
99  <abbr>XML</abbr> Schema <abbr>API</abbr>, but are not compatible with  <abbr>DOM</abbr> Level 3 Abstract Schemas <abbr>W3C</abbr> Note
100  any of them as a whole.</p>  <cite class="bibref informative">[<a href="#ref-DOM3AS">DOM3AS</a>]</cite>,
101    and <abbr>XML</abbr> Schema <abbr>API</abbr> specification
102    <cite class="bibref informative">[<a href="#ref-XSAPI">XSAPI</a>]</cite>, but
103    they are not compatible with any of them as a whole.</p>
104  </div>  </div>
105    
106  <div class="section" id=conformance>  <div class="section" id=conformance>
# Line 102  any of them as a whole.</p> Line 110  any of them as a whole.</p>
110  <h3>Terminology</h3>  <h3>Terminology</h3>
111    
112  <p>All examples and notes in this specification are non$B!>(Bnormative,  <p>All examples and notes in this specification are non$B!>(Bnormative,
113  as are all sections explicitly marked non$B!>(Bnormative.  Everything  as are all sections explicitly marked non$B!>(Bnormative.</p>
114  else in this specification is normative.</p>  
115    <p class=ed>Known issues are marked like this.  They are non$B!>(Bnormative.  <!--
116    However, this paragraph itself is normative.  One may argue that this paragraph
117    is non$B!>(Bnormative, because this paragraph is marked as an editor's note.
118    Anyway, the other editor's notes are non$B!>(Bnormative. --></p>
119    
120    <p>Everything else in this document is normative.</p>
121    
122  <p>The key words <q><em class="rfc2119">MUST</em></q>,  <p>The key words <q><em class="rfc2119">MUST</em></q>,
123  <q><em class="rfc2119">MUST NOT</em></q>, and <q><em class=rfc2119>MAY</em></q>  <q><em class="rfc2119">MUST NOT</em></q>, and <q><em class=rfc2119>MAY</em></q>
# Line 120  introducing the algorithm.</p> Line 134  introducing the algorithm.</p>
134    
135  <p>Sometimes an exception is phrased as being required to be raised.  As  <p>Sometimes an exception is phrased as being required to be raised.  As
136  specified in the <abbr>DOM</abbr> Core specification  specified in the <abbr>DOM</abbr> Core specification
137  <span class=ed>[DOM3]</span>,  <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>,
138  when the value of the <code>strictErrorChecking</code> attribute of the  when the value of the <code>strictErrorChecking</code> attribute of the
139  <a href="#Document"><code>Document</code></a> node is <code>false</code>,  <a href="#Document"><code>Document</code></a> node is <code>false</code>,
140  then the exception is not have to be raised.</p>  then the exception is not have to be raised.</p>
# Line 137  accurate <q>an object implementing the i Line 151  accurate <q>an object implementing the i
151  <p>The construction <q>raise a <code><var>Bar</var></code></q>, where  <p>The construction <q>raise a <code><var>Bar</var></code></q>, where
152  <code><var>Bar</var></code> is an exception code, is used instead of the more  <code><var>Bar</var></code> is an exception code, is used instead of the more
153  accurate <q>raise an exception implementing the interface  accurate <q>raise an exception implementing the interface
154  <code>DOMException</code> <span class=ed>[DOM3]</span> with its  <code>DOMException</code>
155  <code>code</code> attribute set to <code><var>Bar</var></code></q>.</p>  <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>
156    with its <code>code</code> attribute set to
157    <code><var>Bar</var></code></q>.</p>
158    
159    <p>The terms
160    <em id=live><a href="http://www.whatwg.org/specs/web-apps/current-work/#live">live</a></em>
161    and <em id=setting>setting</em> and <em id=getting>getting</em> of an attribute
162    is defined in the HTML5 specification
163    <cite class="bibref normative">[<a href="#ref-HTML5">HTML5</a>]</cite>.</p>
164    
165  <p>The term  <p>The term
166  <q id=live><a href="http://www.whatwg.org/specs/web-apps/current-work/#live">live</a></q>  <em id=read-only><a href="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/glossary.html#dt-readonly-node">read$B!>(Bonly (node)</a></em>
167  is defined in the HTML5 specification <span class=ed>[HTML5]</span>.</p>  is defined in the <abbr>DOM</abbr> Level 3 Core specification
168    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p>
169  <p class=ed>@@ ref to DOM Binding Spec</p>  
170    <p>The <em id=idl-fragment><abbr>IDL</abbr> fragments</em> in this document are
171    to be interpreted as described in the <cite>Language Bindings for
172    <abbr>DOM</abbr> Specifications</cite> specification
173    <cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite>.</p>
174    
175    <p>Some <abbr>IDL</abbr> fragments are presented as <i>patch</i> to an
176    <abbr>IDL</abbr> fragment defined in another document.  They are to be
177    interpreted as an instance of
178    <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMembers"><code>InterfaceMembers</code></a>
179    <cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite>.
180    If the <abbr>IDL</abbr> fragment to which the <i>patch</i> is applied has any
181    instance of
182    <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMember"><code>InterfaceMember</code></a>
183    with same
184    <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#prod-identifier"><code>identifier</code></a>
185    part as that of any instance of
186    <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMember"><code>InterfaceMember</code></a>
187    in the <i>patch</i>, then the former instance of
188    <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMember"><code>InterfaceMember</code></a>
189    <em class=rfc2119>MUST</em> be ignored.</p>
190  </div>  </div>
191    
192  <div class=section id=conformance-categories>  <div class=section id=conformance-categories>
# Line 160  this specification:</p> Line 202  this specification:</p>
202    by this and other documents.  Unless otherwise noted, requirements in this    by this and other documents.  Unless otherwise noted, requirements in this
203    document are applied to <abbr>DOM</abbr> implementations.  To implement    document are applied to <abbr>DOM</abbr> implementations.  To implement
204    all the features in this document, the implementation have to implement    all the features in this document, the implementation have to implement
205    some version of <abbr>DOM</abbr> Core (e.g. <abbr>DOM</abbr> level 3    some version of <abbr>DOM</abbr> Core (e.g. <abbr>DOM</abbr> Level 3 Core
206    <span class=ed>[DOM3]</span>) with one or more language binding (e.g.    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>)
207    ECMAScript or Java binding <span class=ed>[BINDINGS]</span> or    with one or more language binding (e.g. ECMAScript and Java bindings
208    Perl binding <span class=ed>[PERLBINDING]</span>).</dd>    <cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite>
209      or Perl binding
210      <cite class="bibref normative">[<a href="#ref-DOMPERL">DOMPERL</a>]</cite>).
211      A conforming implementation <em class=rfc2119>MUST</em> also be a
212      <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#dfn-conforming-implementation">conforming
213      implementation</a> of the <abbr>IDL</abbr> fragments in this document, as
214      described in the <cite>Language Bindings for <abbr>DOM</abbr>
215      Specifications</cite> specification
216      <cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite>.</dd>
217  <dt id=category-xml-parser><abbr>XML</abbr> Parser (<abbr>XML</abbr> document  <dt id=category-xml-parser><abbr>XML</abbr> Parser (<abbr>XML</abbr> document
218  to <abbr>DOM</abbr> tree converter)</dt>  to <abbr>DOM</abbr> tree converter)</dt>
219    <dd>A software component that converts    <dd>A software component that converts
220    <abbr>XML</abbr> 1.0 or 1.1 document (or fragment thereof) into a    <abbr>XML</abbr> 1.0 or 1.1 document
221      <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
222      <a href="#ref-XML11">XML11</a>]</cite> (or fragment thereof) into a
223    <abbr>DOM</abbr> tree (or fragment thereof) in the context of this    <abbr>DOM</abbr> tree (or fragment thereof) in the context of this
224    document.  Note that this document does not define any particular way to    document.  Note that this document does not define any particular way to
225    parse an <abbr>XML</abbr> document or to construct an <abbr>DOM</abbr>    parse an <abbr>XML</abbr> document or to construct an <abbr>DOM</abbr>
# Line 182  tree to <abbr>XML</abbr> document conver Line 234  tree to <abbr>XML</abbr> document conver
234  <dt id=category-infoset-dom><abbr>XML</abbr> Information Set to  <dt id=category-infoset-dom><abbr>XML</abbr> Information Set to
235  <abbr>DOM</abbr> Tree Converter</dt>  <abbr>DOM</abbr> Tree Converter</dt>
236    <dd>A software component that converts an <abbr>XML</abbr> information set    <dd>A software component that converts an <abbr>XML</abbr> information set
237    into a <abbr>DOM</abbr> tree.  Note that this documetn does not define    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>
238    any particular way for the convertion, but it defines constraints for    into a <abbr>DOM</abbr> tree.  Note that this document does not define
239      any particular way for the conversion, but it defines constraints for
240    such processing.</dd>    such processing.</dd>
241  <dt id=category-dom-infoset><abbr>DOM</abbr> Tree to <abbr>XML</abbr>  <dt id=category-dom-infoset><abbr>DOM</abbr> Tree to <abbr>XML</abbr>
242  Information Set Converter</dt>  Information Set Converter</dt>
243    <dd>A software component that converts a <abbr>DOM</abbr> tree into    <dd>A software component that converts a <abbr>DOM</abbr> tree into
244    an <abbr>XML</abbr> information set.  Note that this documetn does not define    an <abbr>XML</abbr> information set.  Note that this document does not define
245    any particular way for the convertion, but it defines constraints for    any particular way for the conversion, but it defines constraints for
246    such processing.</dd>    such processing.</dd>
247  </dl>  </dl>
248  </div>  </div>
# Line 209  In addition, it modifies existing interf Line 262  In addition, it modifies existing interf
262  <a href="#Document"><code>Document</code></a>,  <a href="#Document"><code>Document</code></a>,
263  <a href="#DocumentType"><code>DocumentType</code></a>,  <a href="#DocumentType"><code>DocumentType</code></a>,
264  <a href="#Entity"><code>Entity</code></a>, and  <a href="#Entity"><code>Entity</code></a>, and
265  <a href="#Notation"><code>Notation</code></a>.</p>  <a href="#Notation"><code>Notation</code></a>
266    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p>
267    
268  <div class=section id=features>  <div class=section id=features>
269  <h3>Feature String</h3>  <h3>Feature String</h3>
# Line 217  In addition, it modifies existing interf Line 271  In addition, it modifies existing interf
271  <p>In a <abbr>DOM</abbr> implementation that supports the version 3.0 of  <p>In a <abbr>DOM</abbr> implementation that supports the version 3.0 of
272  the <abbr>DOM</abbr> Document Type Definition module, the  the <abbr>DOM</abbr> Document Type Definition module, the
273  <code>hasFeature</code> method of a <code>DOMImplementation</code> object  <code>hasFeature</code> method of a <code>DOMImplementation</code> object
274    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>
275  <em class=rfc2119>MUST</em> return <code>true</code> when the parameters are  <em class=rfc2119>MUST</em> return <code>true</code> when the parameters are
276  set to  set to
277  <dfn id=feature-XDoctype><code>http://suika.fam.cx/www/2006/feature/XDoctype</code></dfn>  <dfn id=feature-XDoctype><code>http://suika.fam.cx/www/2006/feature/XDoctype</code></dfn>
# Line 231  such as <code>hasFeature</code> or <code Line 286  such as <code>hasFeature</code> or <code
286    
287  <p>The implementation of the  <p>The implementation of the
288  <a href="#Node"><code>Node</code></a> interface  <a href="#Node"><code>Node</code></a> interface
289  <em class=rfc2119>MUST</em> be modified as following:</p>  <em class=rfc2119>MUST</em> be modified as the following
290    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
291  <pre class=idl><code>// Additions to the Node interface  <pre class=idl><code>// Additions to the Node interface
292    
293  // Additions to the NodeType definition group  // Additions to the NodeType definition group
# Line 252  these kinds of nodes, methods and attrib Line 308  these kinds of nodes, methods and attrib
308  <a href="#Node"><code>Node</code></a> interface must behave as following:</p>  <a href="#Node"><code>Node</code></a> interface must behave as following:</p>
309    
310  <dl>  <dl>
311  <dt><code id=attributes>attributes</code></dt>  <dt><code id=attributes>attributes</code>,
312    <code id=localName>localName</code>,
313    <code id=namespaceURI>namespaceURI</code>, and
314    <code id=prefix>prefix</code></dt>
315    <dd>    <dd>
316      <p>On getting, the attribute <em class=rfc2119>MUST</em> return      <p>On getting, the attributes <em class=rfc2119>MUST</em> return
317      <code>null</code>.</p>      <code>null</code>.</p>
318    </dd>    </dd>
319  <dt><code id=baseURI>baseURI</code></dt>  <dt><code id=baseURI>baseURI</code></dt>
# Line 298  these kinds of nodes, methods and attrib Line 357  these kinds of nodes, methods and attrib
357      and at least one of them has the support for the feature      and at least one of them has the support for the feature
358      <a href="#feature-XDoctype"><code>http://suika.fam.cx/www/2006/feature/XDoctype</code></a>:</p>      <a href="#feature-XDoctype"><code>http://suika.fam.cx/www/2006/feature/XDoctype</code></a>:</p>
359      <ul>      <ul>
360      <li>they are equal according to <abbr>DOM</abbr> level 3 definition      <li>they are equal according to <abbr>DOM</abbr> Level 3 Core definition
361      <span class=ed>@@ ref</span>, and      <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>,
362        and
363      <li>either:      <li>either:
364        <ul><!--        <ul><!--
365        <li>both of them does not support the feature        <li>both of them does not support the feature
# Line 340  these kinds of nodes, methods and attrib Line 400  these kinds of nodes, methods and attrib
400    the values of the <code>DOMStringList</code> objects in the    the values of the <code>DOMStringList</code> objects in the
401    <a href="#allowedTokens"><code>allowedTokens</code></a> attributes    <a href="#allowedTokens"><code>allowedTokens</code></a> attributes
402    are equal, i.e. their <code>length</code> attribute values are equal and    are equal, i.e. their <code>length</code> attribute values are equal and
403    each string exists in a list is contained in another list (their indeces    each string exists in a list is contained in another list (their indecies
404    may be different), with an additional constraint that the number of the    may be different), with an additional constraint that the number of the
405    items that are equal to a string in a list is equal to the number    items that are equal to a string in a list is equal to the number
406    of the items equal to the string in another list.</p></li>    of the items equal to the string in another list.</p></li>
407    </ul></dd>    </ul></dd>
408    <dt><code id=manakaiLocalName>manakaiLocalName</code>
409    <cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt>
410      <dd><p class=section-info>This entry is applied only to implementations
411      that support this attribute.</p>
412    
413      <p>On getting, the attributes <em class=rfc2119>MUST</em> return
414      <code>null</code>.</p></dd>
415  <dt><code id=lookupNamespaceURI>lookupNamespaceURI</code> and  <dt><code id=lookupNamespaceURI>lookupNamespaceURI</code> and
416  <code id=lookupPrefix>lookupPrefix</code></dt>  <code id=lookupPrefix>lookupPrefix</code></dt>
417    <dd><p>When invoked, the methods <em class=rfc2119>MUST</em> return    <dd><p>When invoked, the methods <em class=rfc2119>MUST</em> return
# Line 363  these kinds of nodes, methods and attrib Line 430  these kinds of nodes, methods and attrib
430    </dd>    </dd>
431  <dt><code id=nodeType>nodeType</code></dt>  <dt><code id=nodeType>nodeType</code></dt>
432    <dd>    <dd>
433      <p>On getting, the attribute <em class=rfc2119>MUST</em> return      <p>On getting, the attribute <!--<em class=rfc2119>MUST</em>--> returns
434        <!-- NOTE: No MUST, to avoid circular reference (nodeType==8100[12]
435        is defined that they MUST implement ElementType|AttributeDefinition). -->
436      <a href="#ELEMENT_TYPE_DEFINITION_NODE"><code>ELEMENT_TYPE_DEFINITION_NODE</code></a>      <a href="#ELEMENT_TYPE_DEFINITION_NODE"><code>ELEMENT_TYPE_DEFINITION_NODE</code></a>
437      (if the node is an      (if the node is an
438      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>) or      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>) or
# Line 399  following:</p> Line 468  following:</p>
468      On getting, the attributes <em class=rfc2119>MUST</em> return      On getting, the attributes <em class=rfc2119>MUST</em> return
469      <code>null</code>.</p>      <code>null</code>.</p>
470    
471      <div class="note memo">    <div class="note memo">
472        <p>Thus, on setting the attributes does nothing    <p>Thus, on setting the attributes does nothing
473        <span class=ed>[DOM3]</span>.</p>    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p>
474      </div>    </div>
   
     <p>On setting, the <a href="#textContent"><code>textContent</code></a>  
     attribute <em class=rfc2119>MUST NOT</em> raise a  
     <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>.  
     <span class=ed>@@ I forgot why this requirement is necessary.</span></p>  
475    
476    <p>If the node is an    <p>If the node is an
477    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>:    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>:
478    The attribute <em class=rfc2119>MUST</em> behave as if the node    The attribute <em class=rfc2119>MUST</em> behave as if the node
479    were <code>Attr</code> <span class=ed>[DOM3]</span>.</p></dd>    were <code>Attr</code>
480      <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p></dd>
481  <dt><code id=normalize>normalize</code></dt>  <dt><code id=normalize>normalize</code></dt>
482    <dd><p>When a <a href="#DocumentType"><code>DocumentType</code></a> is    <dd><p>When a <a href="#DocumentType"><code>DocumentType</code></a> is
483    normalized, any nodes in the <code>NamedNodeMap</code> object in the    normalized, any nodes in the <code>NamedNodeMap</code> object in the
# Line 474  with parameter values Line 539  with parameter values
539  and <a href="#feature-XDoctype-3.0"><code>3.0</code></a> respectively (if the  and <a href="#feature-XDoctype-3.0"><code>3.0</code></a> respectively (if the
540  <a href="#Document"><code>Document</code></a> node supports the  <a href="#Document"><code>Document</code></a> node supports the
541  feature <code>Core</code> version <code>3.0</code>  feature <code>Core</code> version <code>3.0</code>
542  <span class=ed>[DOM3]</span>).</p>  <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>).</p>
543    
544  <p>The <a href="#DocumentXDoctype"><code>DocumentXDoctype</code></a> interface  <p>The <a href="#DocumentXDoctype"><code>DocumentXDoctype</code></a> interface
545  <em class=rfc2119>MUST</em> be implemented as following:</p>  <em class=rfc2119>MUST</em> be implemented as the following
546    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
547  <pre class=idl><code>interface <dfn id=DocumentXDoctype><code>DocumentXDoctype</code></dfn> {  <pre class=idl><code>interface <dfn id=DocumentXDoctype><code>DocumentXDoctype</code></dfn> {
548    DocumentType <a href="#createDocumentTypeDefinition">createDocumentTypeDefinition</a>    DocumentType <a href="#createDocumentTypeDefinition">createDocumentTypeDefinition</a>
549      (in DOMString <a href="#createDocumentTypeDefinition-name"><var>name</var></a>)      (in DOMString <a href="#createDocumentTypeDefinition-name"><var>name</var></a>)
# Line 502  method</dt> Line 568  method</dt>
568    <dd>    <dd>
569      <p>This method creates a <code>DocumentType</code> node with the specified      <p>This method creates a <code>DocumentType</code> node with the specified
570      name, belonging to the document.</p>      name, belonging to the document.</p>
571      <p>The <dfn id=createDocumentTypeDefinition-name class=dom-param><var>name</var></dfn>      <p>The
572        <dfn id=createDocumentTypeDefinition-name class=dom-param><var>name</var></dfn>
573      parameter is the name of the document type.</p>      parameter is the name of the document type.</p>
574    
575      <p>When invoked, the method <em class=rfc2119>MUST</em> create and      <p>When invoked, the method <em class=rfc2119>MUST</em> create and
576      return a <code>DocumentType</code> node with the following attributes:</p>      return a <a href="#DocumentType"><code>DocumentType</code></a> node with
577        the following attributes:</p>
578      <dl>      <dl>
579      <dt><code>attributes</code>, <code>parentNode</code></dt>      <dt><code>attributes</code>, <code>parentNode</code></dt>
580        <dd><code>null</code>.</dd>        <dd><code>null</code>.</dd>
581      <dt><code>elementTypes</code>, <code>generalEntities</code>, and      <dt><a href="#elementTypes"><code>elementTypes</code></a>,
582      <code>notations</code></dt>      <a href="#entities"><code>entities</code></a>, and
583        <dd>Empty <code>NamedNodeMap</code> objects.</dd>      <a href="#notations"><code>notations</code></a></dt>
584      <dt><code>entities</code></dt>        <dd>Empty <code>NamedNodeMap</code> objects respectively.</dd>
       <dd>The same value as the <code>generalEntities</code> attribute.</dd>  
585      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
586        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
587      <dt><code>internalSubset</code>, <code>publicId</code>, and      <dt><a href="#internalSubset"><code>internalSubset</code></a>,
588      <code>systemId</code></dt>      <a href="#publicId"><code>publicId</code></a>, and
589        <a href="#systemId"><code>systemId</code></a></dt>
590        <dd>Empty strings.</dd>        <dd>Empty strings.</dd>
     <dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>  
       <dd><code>false</code>.</dd>  
591      <dt><code>nodeName</code></dt>      <dt><code>nodeName</code></dt>
592        <dd><a href="#createDocumentTypeDefinition-name"><var>name</var></a>.</dd>        <dd><a href="#createDocumentTypeDefinition-name"><var>name</var></a>.</dd>
593      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
594        <dd>The <code>Document</code> over which the method is invoked.</dd>        <dd>The <a href="#Document"><code>Document</code></a> node over which the
595          method is invoked.</dd>
596      </dl>      </dl>
597        <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
598        <a href="#read-only">read$B!>(Bonly</a>.</p>
599      <p>In addition, the method <em class=rfc2119>MUST</em> be marked as      <p>In addition, the method <em class=rfc2119>MUST</em> be marked as
600      containing five general entity declarations: <code>amp</code>,      containing five general entity declarations: <code>amp</code>,
601      <code>lt</code>, <code>gt</code>, <code>quot</code>, and      <code>lt</code>, <code>gt</code>, <code>quot</code>, and
# Line 548  method</dt> Line 617  method</dt>
617      <dl>      <dl>
618      <dt><a href="#attributeDefinitions"><code>attributeDefinitions</code></a></dt>      <dt><a href="#attributeDefinitions"><code>attributeDefinitions</code></a></dt>
619        <dd>An empty <code>NamedNodeMap</code> object.</dd>        <dd>An empty <code>NamedNodeMap</code> object.</dd>
     <dt><code>attributes</code>, <code>parentNode</code></dt>  
       <dd><code>null</code>.</dd>  
620      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
621        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
622      <dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>      <dt><a href="#nodeName"><code>nodeName</code></a></dt>
       <dd><code>false</code>.</dd>  
     <dt><code>nodeName</code></dt>  
623        <dd><a href="#createElementTypeDefinition-name"><var>name</var></a>.</dd>        <dd><a href="#createElementTypeDefinition-name"><var>name</var></a>.</dd>
624      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
625        <dd>The <code>Document</code> node over which the method is invoked.</dd>        <dd>The <code>Document</code> node over which the method is invoked.</dd>
626      <dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a></dt>      <dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
627        and <code>parentNode</code></dt>
628        <dd><code>null</code>.</dd>        <dd><code>null</code>.</dd>
     <dt class=ed>@@ Ensure all attributes are defined</dt>  
629      </dl>      </dl>
630        <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
631        <a href="#read-only">read$B!>(Bonly</a>.</p>
632    </dd>    </dd>
633  <dt><dfn id=createAttributeDefinition class=dom-method><code>createAttributeDefinition</code></dfn>,  <dt><dfn id=createAttributeDefinition class=dom-method><code>createAttributeDefinition</code></dfn>,
634  method</dt>  method</dt>
# Line 577  method</dt> Line 644  method</dt>
644      <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>      <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
645      node with the following attributes:</p>      node with the following attributes:</p>
646      <dl>      <dl>
647      <dt><code>allowedTokens</code></dt>      <dt><a href="#allowedTokens"><code>allowedTokens</code></a></dt>
648        <dd>An empty <code>DOMStringList</code> object.</dd>        <dd>An empty <code>DOMStringList</code> object.</dd>
     <dt><code>attributes</code>,  
     <a href="#ownerElementTypeDefinition"><code>ownerElementTypeDefinition</code></a>,  
     and <code>parentNode</code></dt>  
       <dd><code>null</code>.</dd>  
649      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
650        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
651      <dt><code>declaredType</code></dt>      <dt><a href="#declaredType"><code>declaredType</code></a></dt>
652        <dd><a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>.</dd>        <dd><a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>.</dd>
653      <dt><code>defaultType</code></dt>      <dt><a href="#defaultType"><code>defaultType</code></a></dt>
654        <dd><a href="#UNKNOWN_DEFAULT"><code>UNKNOWN_DEFAULT</code></a>.</dd>        <dd><a href="#UNKNOWN_DEFAULT"><code>UNKNOWN_DEFAULT</code></a>.</dd>
655      <dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>      <dt><a href="#nodeName"><code>nodeName</code></a></dt>
       <dd><code>false</code>.</dd>  
     <dt><code>nodeName</code></dt>  
656        <dd><a href="#createAttributeDefinition-name"><var>name</var></a>.</dd>        <dd><a href="#createAttributeDefinition-name"><var>name</var></a>.</dd>
657      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
658        <dd>The <code>Document</code> node over which the method is invoked.</dd>        <dd>The <code>Document</code> node over which the method is invoked.</dd>
659      <dt class=ed>@@ Ensure all attributes are defined</dt>      <dt><a href="#ownerElementTypeDefinition"><code>ownerElementTypeDefinition</code></a>
660        and <code>parentNode</code></dt>
661          <dd><code>null</code>.</dd>
662      </dl>      </dl>
663        <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
664        <a href="#read-only">read$B!>(Bonly</a>.</p>
665    
666        <!-- This requirement, if not droped, should be part of xml-id spec.
667      <div class=ed>      <div class=ed>
668      <p>@@ Should we keep these statements?:      <p>@@ Should we keep these statements?:
669  However, if the &lt;cfg::cfg|xml-id> configuration  However, if the &lt;cfg::cfg|xml-id> configuration
# Line 605  parameter is set to <code>true</code> an Line 671  parameter is set to <code>true</code> an
671  is <code>xml:id</code>, then the [CODE(DOMa)@en[[[declaredType]]]]  is <code>xml:id</code>, then the [CODE(DOMa)@en[[[declaredType]]]]
672  attribute is set to <code>ID_ATTR</code>.  attribute is set to <code>ID_ATTR</code>.
673  [CODE(DOMa)@en[[[defaultType]]]]?</p>  [CODE(DOMa)@en[[[defaultType]]]]?</p>
674      </div>      </div>-->
675    </dd>    </dd>
676  <dt><dfn id=createGeneralEntity class=dom-method><code>createGeneralEntity</code></dfn>,  <dt><dfn id=createGeneralEntity class=dom-method><code>createGeneralEntity</code></dfn>,
677  method</dt>  method</dt>
# Line 620  method</dt> Line 686  method</dt>
686      an <a href="#Entity"><code>Entity</code></a> node with the following      an <a href="#Entity"><code>Entity</code></a> node with the following
687      attributes:</p>      attributes:</p>
688      <dl>      <dl>
     <dt><code>attributes</code>, <code>notationName</code>,  
     <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>,  
     and <code>parentNode</code></dt>  
       <dd><code>null</code>.</dd>  
689      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
690        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
691      <dt><code>manakaiDeclarationBaseURI</code>,      <dt><code>manakaiDeclarationBaseURI</code>,
692      <code>manakaiEntityBaseURI</code>, and      <code>manakaiEntityBaseURI</code>, and <code>manakaiEntityURI</code>
693      <code>manakaiEntityURI</code> <span class=ed>@@ ref</span></dt>      <cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt>
694        <dd>No explicit value is set.</dd>        <dd><p class=section-info>This entry is applied only to implementations
695          that support these attributes.</p>
696    
697          <p>No explicit value is set.</p></dd>
698      <dt><a href="#hasReplacementTree"><code>hasReplacementTree</code></a> and      <dt><a href="#hasReplacementTree"><code>hasReplacementTree</code></a> and
699      <code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>      <a href="#isExternallyDeclared"><code>isExternallyDeclared</code></a></dt>
700        <dd><code>false</code>.</dd>        <dd><p><code>false</code>.</p></dd>
701      <dt><code>nodeName</code></dt>      <dt><code>nodeName</code></dt>
702        <dd><a href="#createGeneralEntity-name"><var>name</var></a>.</dd>        <dd><a href="#createGeneralEntity-name"><var>name</var></a>.</dd>
703        <dd>        <dd>
# Line 647  method</dt> Line 712  method</dt>
712            with its <code>nodeName</code> attribute set to <code>amp</code>.</p>            with its <code>nodeName</code> attribute set to <code>amp</code>.</p>
713          </div>          </div>
714        </dd>        </dd>
715        <dt><a href="#notationName"><code>notationName</code></a>,
716        <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>,
717        and <code>parentNode</code></dt>
718          <dd><code>null</code>.</dd>
719      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
720        <dd>The <code>Document</code> node over which the method is invoked.</dd>        <dd>The <code>Document</code> node over which the method is invoked.</dd>
721      <dt><code>publicId</code>, and <code>systemId</code></dt>      <dt><a href="#publicId"><code>publicId</code></a> and
722        <a href="#systemId"><code>systemId</code></a></dt>
723        <dd><code>null</code>.</dd>        <dd><code>null</code>.</dd>
724        <dd class=ed>@@ publicId and systemId should be empty string?</dd>        <dd class=ed>@@ publicId and systemId should be empty string?</dd>
     <dt class=ed>@@ Ensure all attributes are defined</dd>  
725      </dl>      </dl>
726    </dd>    <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
727      <a href="#read-only">read$B!>(Bonly</a>.</p></dd>
728  <dt><dfn id=createNotation class=dom-method><code>createNotation</code></dfn>,  <dt><dfn id=createNotation class=dom-method><code>createNotation</code></dfn>,
729  method</dt>  method</dt>
730    <dd>    <dd>
# Line 666  method</dt> Line 736  method</dt>
736      <p>When invoked, the method <em class=rfc2119>MUST</em> create and return      <p>When invoked, the method <em class=rfc2119>MUST</em> create and return
737      a <code>Notation</code> node with the following attributes:</p>      a <code>Notation</code> node with the following attributes:</p>
738      <dl>      <dl>
     <dt><code>attributes</code>,  
     <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>,  
     and <code>parentNode</code></dt>  
       <dd><code>null</code>.</dd>  
739      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
740        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
741      <dt><code>manakaiDeclarationBaseURI</code></dt>      <dt><code>manakaiDeclarationBaseURI</code>
742        <dd>No explicit value is set.</dd>      <cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt>
743      <dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>        <dd><p class=section-info>This entry is applied only to implementations
744        <dd><code>false</code>.</dd>        that support these attributes.</p>
745    
746          <p>No explicit value is set.</p></dd>
747      <dt><code>nodeName</code></dt>      <dt><code>nodeName</code></dt>
748        <dd><a href="#createNotation-name"><var>name</var></a>.</dd>        <dd><a href="#createNotation-name"><var>name</var></a>.</dd>
749      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
750        <dd>The <code>Document</code> node over which the method is invoked.</dd>        <dd><p>The <a href="#Document"><code>Document</code></a> node over which
751      <dt><code>publicId</code> and <code>systemId</code></dt>        the method is invoked.</p></dd>
752        <dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
753        and <code>parentNode</code></dt>
754          <dd><code>null</code>.</dd>
755        <dt><a href="#publicId"><code>publicId</code></a> and
756        <a href="#systemId"><code>systemId</code></a></dt>
757        <dd><code>null</code>.</dd>        <dd><code>null</code>.</dd>
758        <dd class=ed>@@ publicId and systemId should be empty string?</dd>        <dd class=ed>@@ publicId and systemId should be empty string?</dd>
     <dt class=ed>@@ Ensure all attributes are defined</dt>  
759      </dl>      </dl>
760    </dd>    <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
761      <a href="#read-only">read$B!>(Bonly</a>.</p></dd>
762  </dl>  </dl>
763    
764  <p>These methods <em class=rfc2119>MUST</em> raise an  <p>These methods <em class=rfc2119>MUST</em> raise an
765  <code>INVALID_CHARACTER_ERR</code> exception <span class=ed>@@ ref</span>  <code>INVALID_CHARACTER_ERR</code> if <var>name</var> is <em>not</em> a legal
766  if <var>name</var> is <em>not</em> a legal <code>Name</code> according to  <code>Name</code>
767  the <abbr>XML</abbr> version in use, as specified in the  <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
768  <code>xmlVersion</code> attribute of the <code>Document</code> node.</p>  <a href="#ref-XML11">XML11</a>]</cite> according to the <abbr>XML</abbr>
769    version specified in the <code>xmlVersion</code> attribute of the
770    <a href="#Document"><code>Document</code></a> node.</p>
771    
772  <div class="note memo">  <div class="note memo">
773  <p>Non$B!>(B<abbr>XML</abbr> case is intentionally left unspecified for now,  <p>Non$B!>(B<abbr>XML</abbr> case is intentionally left unspecified for now,
774  since <abbr>DOM3</abbr> specification <span class=ed>@@ ref</span> does not  since <abbr>DOM</abbr> Level 3 Core specification
775  define it for <code>Document</code> methods.</p>  <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>
776    does not define it for <a href="#Document"><code>Document</code></a>
777    methods.</p>
778    
779  <p><var>name</var> does not have to be a namespace qualified name.</p>  <p><var>name</var> does not have to be a namespace qualified name.</p>
780  </div>  </div>
# Line 711  Interface</h3> Line 788  Interface</h3>
788    
789  <p>A <a href="#DocumentType"><code>DocumentType</code></a> interface  <p>A <a href="#DocumentType"><code>DocumentType</code></a> interface
790  <em class=rfc2119>MAY</em> contain zero or more  <em class=rfc2119>MAY</em> contain zero or more
791  <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a>  <code>ProcessingInstruction</code> nodes in the <code>NodeList</code> object
792  nodes in the <code>NodeList</code> object contained in the  contained in the <code>childNodes</code> attribute of the
 <code>childNodes</code> attribute of the  
793  <a href="#DocumentType"><code>DocumentType</code></a> node.</p>  <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
794    
795  <p>If the <a href="#DocumentType"><code>DocumentType</code></a> node is created  <p>If the <a href="#DocumentType"><code>DocumentType</code></a> node is created
796  during the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr>  during the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr>
797  document, the <code>NodeList</code> object in the <code>childNodes</code>  document, the <code>NodeList</code> object in the <code>childNodes</code>
798  object <em class=rfc2119>MUST</em> contains the  object <em class=rfc2119>MUST</em> contains the
799  <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a>  <code>ProcessingInstruction</code> nodes representing the processing
800  nodes representing the processing instructions in the document type  instructions in the document type definition of the document processed
801  definition of the document processed <span class=ed>@@ ref</span> by  <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
802  the <abbr>XML</abbr> processor.  If the  <a href="#ref-XML11">XML11</a>]</cite> by the <abbr>XML</abbr> processor.  If
803  <a href="#DocumentType"><code>DocumentType</code></a> node is marked  the <a href="#DocumentType"><code>DocumentType</code></a> node is marked as
804  as read$B!>(Bonly, then all the child nodes <em class=rfc2119>MUST</em>  <a href="#read-only">read$B!>(Bonly</a>, then all the child nodes
805  also be marked as read$B!>(Bonly.</p>  <em class=rfc2119>MUST</em> also be marked as
806    <a href="#read-only">read$B!>(Bonly</a>.</p>
807    
808  <p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is created  <p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is created
809  from a document type declaration information item <span class=ed>@@ ref</span>,  from a
810    <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.doctype">document
811    type declaration information item</a>
812    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>,
813  the <code>NodeList</code> object in the <code>childNodes</code> attribute  the <code>NodeList</code> object in the <code>childNodes</code> attribute
814  of the node <em class=rfc2119>MUST</em> contain the  of the node <em class=rfc2119>MUST</em> contain the
815  <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes  <code>ProcessingInstruction</code> nodes created from any
816  created from the processing instruction information items in the list in the  <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.pi">processing
817  [children] property of the document type declaration item in the same  instruction information items</a> in the list in the [children] property of the
818  order.</p>  <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.doctype">document
819    type declaration item</a> in the same order.</p>
820    
821  <p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is mapped to  <p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is mapped to
822  a document type declaration information item, the list in the [children]  a document type declaration information item, the list in the [children]
823  property <em class=rfc2119>MUST</em> contain the processng instruction  property <em class=rfc2119>MUST</em> contain the processng instruction
824  information items created from the  information items created from the <code>ProcessingInstruction</code> nodes
 <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes  
825  in the <code>NodeList</code> object in the <code>childNodes</code> attribute  in the <code>NodeList</code> object in the <code>childNodes</code> attribute
826  of the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>  of the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
827    
828  <p>The implementation of the  <p>The implementation of the
829  <a href="#DocumentType"><code>DocumentType</code></a> interface  <a href="#DocumentType"><code>DocumentType</code></a> interface
830  <em class=rfc2119>MUST</em> be modified as following:</p>  <em class=rfc2119>MUST</em> be modified as the following
831    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
832  <pre class=idl><code>// Modifications to the DocumentType interface  <pre class=idl><code>// Modifications to the DocumentType interface
833    attribute DOMString <a href="#publicId">publicId</a>;    attribute DOMString <a href="#publicId">publicId</a>;
834    attribute DOMString <a href="#systemId">systemId</a>;    attribute DOMString <a href="#systemId">systemId</a>;
# Line 763  of the <a href="#DocumentType"><code>Doc Line 844  of the <a href="#DocumentType"><code>Doc
844  read$B!>(Bonly.</p>  read$B!>(Bonly.</p>
845    
846  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
847  <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>  <code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is
848  exception if the node is read$B!>(Bonly <span class=ed>@@ ref</span>.    <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it <em class=rfc2119>MUST</em>
849  Otherwise, it <em class=rfc2119>MUST</em> set the specified value as the value  set the specified value as the value associated to the attribute.  No
850  associated to the attribute.  No normalization, relative reference resolution,  normalization, relative reference resolution, or lexical validation is
851  or lexical validation is performed. <span class=ed>@@ If the new  performed. <span class=ed>@@ If the new value is <code>null</code>, should an
852  value is <code>null</code>, ...</span></p>  empty string be set?</span></p>
853    
854  <div class="note memo">  <div class="note memo">
855  <p>Setting an invalid identifier might make the node unserializable.  <p>Setting an invalid identifier might make the node unserializable.
856  Setting a public identifier while leaveing system identifier unspecified  Setting a public identifier while leaving system identifier unspecified
857  would also make the <a href="#DocumentType"><code>DocumentType</code></a>  would also make the <a href="#DocumentType"><code>DocumentType</code></a>
858  or <a href="#Entity"><code>Entity</code></a> node unserializable.</p>  or <a href="#Entity"><code>Entity</code></a> node unserializable.</p>
859  </div>  </div>
# Line 786  or <a href="#Entity"><code>Entity</code> Line 867  or <a href="#Entity"><code>Entity</code>
867  read$B!>(Bonly.</p>  read$B!>(Bonly.</p>
868    
869  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
870  <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>  <code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is
871  exception if the node is read$B!>(Bonly <span class=ed>@@ ref</span>.    <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it <em class=rfc2119>MUST</em>
872  Otherwise, it <em class=rfc2119>MUST</em> set the specified value as the value  set the specified value as the value associated to the attribute.  No
873  associated to the attribute.  No normalization, or lexical validation is  normalization, or lexical validation is performed.  <span class=ed>@@ If the
874  performed. <span class=ed>@@ If the new value is <code>null</code>,  new value is <code>null</code>, should an empty string be set?</span></p>
 ...</span></p>  
875    
876  </div>  </div>
877    
# Line 814  with parameter values Line 894  with parameter values
894  and <a href="#feature-XDoctype-3.0"><code>3.0</code></a> respectively (if the  and <a href="#feature-XDoctype-3.0"><code>3.0</code></a> respectively (if the
895  <a href="#DocumentType"><code>DocumentType</code></a> node supports the  <a href="#DocumentType"><code>DocumentType</code></a> node supports the
896  feature <code>Core</code> version <code>3.0</code>  feature <code>Core</code> version <code>3.0</code>
897  <span class=ed>[DOM3]</span>).</p>  <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>).</p>
   
 <div class="note memo">  
 <p>This interface is a separated interface from the  
 <a href="#DocumentType"><code>DocumentType</code></a>, not a set of extensions  
 to the <a href="#DocumentType"><code>DocumentType</code></a>,  
 for the historical reason.</p>  
   
 <p class=ed>Should the interface be merged with  
 <a href="#DocumentType"><code>DocumentType</code></a>?</p>  
 </div>  
898    
899  <p>The  <p>The
900  <a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a>  <a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a>
901  interface <em class=rfc2119>MUST</em> be implemented as following:</p>  interface <em class=rfc2119>MUST</em> be implemented as the following
902    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
903  <pre class=idl><code>interface <dfn id=DocumentTypeDefinition><code>DocumentTypeDefinition</code></dfn> {  <pre class=idl><code>interface <dfn id=DocumentTypeDefinition><code>DocumentTypeDefinition</code></dfn> {
904    readonly attribute NamedNodeMap <a href="#elementTypes">elementTypes</a>;    readonly attribute NamedNodeMap <a href="#elementTypes">elementTypes</a>;
905    readonly attribute NamedNodeMap <a href="#generalEntities">generalEntities</a>;    readonly attribute NamedNodeMap <a href="#generalEntities">generalEntities</a>;
# Line 864  type <code>NamedNodeMap</code>, read$B! Line 935  type <code>NamedNodeMap</code>, read$B!
935    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
936    nodes belonging to the <code>DocumentType</code> node.  The    nodes belonging to the <code>DocumentType</code> node.  The
937    <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be read$B!>(Bonly    <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be read$B!>(Bonly
938    if and only if the node is read$B!>(Bonly.  The <code>NamedNodeMap</code>    if and only if the node is <a href="#read-only">read$B!>(Bonly</a>.  The
939    object <em class=rfc2119>MUST</em> be <a href="#live">live</a>.</p>    <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be
940      <a href="#live">live</a>.</p>
941    
942    <p>If the <code>DocumentType</code> node is created during the process    <p>If the <code>DocumentType</code> node is created during the process
943    to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document, the following    to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document, the following
# Line 874  type <code>NamedNodeMap</code>, read$B! Line 946  type <code>NamedNodeMap</code>, read$B!
946    <em class=rfc2119>MUST</em> be so transformed that the object contains    <em class=rfc2119>MUST</em> be so transformed that the object contains
947    the <code>ElementTypeDefinition</code> nodes for the element types    the <code>ElementTypeDefinition</code> nodes for the element types
948    whose name is presented as the <code>Name</code> of the element type or    whose name is presented as the <code>Name</code> of the element type or
949    attribute definition list declarations processed by the <abbr>XML</abbr>    attribute definition list declarations processed
950      <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
951      <a href="#ref-XML11">XML11</a>]</cite> by the <abbr>XML</abbr>
952    processor.  If there are more than one element type declarations for an    processor.  If there are more than one element type declarations for an
953    element type, then the declarations other than the first one    element type, then the declarations other than the first one
954    <em class=rfc2119>MUST</em> be ignored for the purpose of constructing the    <em class=rfc2119>MUST</em> be ignored for the purpose of constructing the
# Line 886  of type <code>NamedNodeMap</code>, read Line 960  of type <code>NamedNodeMap</code>, read
960    <a href="#DocumentType"><code>DocumentType</code></a> node.</p>    <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
961        
962    <p>On getting, the attribute <em class=rfc2119>MUST</em> return the    <p>On getting, the attribute <em class=rfc2119>MUST</em> return the
963    same value as the <code>entities</code> attribute (defined in the    same value as the <code id=entities>entities</code> attribute (defined in the
964    <a href="#DocumentType"><code>DocumentType</code></a> interface) of the same    <a href="#DocumentType"><code>DocumentType</code></a> interface) of the same
965    node.</p>    node.</p>
966    
# Line 976  method</dt> Line 1050  method</dt>
1050    <a href="#elementTypes"><code>elementTypes</code></a> attribute of the    <a href="#elementTypes"><code>elementTypes</code></a> attribute of the
1051    node.  If there is no such node, it <em class=rfc2119>MUST</em> return    node.  If there is no such node, it <em class=rfc2119>MUST</em> return
1052    <code>null</code>.</p></dd>    <code>null</code>.</p></dd>
 <dt><dfn id=getElementTypeDefinitionNode class=dom-method><code>getElementTypeDefinitionNode</code></dfn>,  
 method</dt>  
   <dd><p>Returns the  
   <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node  
   with the specified name.</p>  
   
   <p>The  
   <dfn id=getElementTypeDefinitionNode-name class=dom-param><var>name</var></dfn>  
   parameter is the name of the element type.</p>  
   
   <p>When invoked, the method <em class=rfc2119>MUST</em> return the  
   <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node,  
   whose <a href="#nodeName"><code>nodeName</code></a> is equal to  
   <a href="#getElementTypeDefinitionNode-name"><var>name</var></a>, in the  
   <code>NamedNodeMap</code> object in the  
   <a href="#elementTypes"><code>elementTypes</code></a> attribute of the  
   node.  If there is no such node, it <em class=rfc2119>MUST</em> return  
   <code>null</code>.</p></dd>  
1053  <dt><dfn id=getGeneralEntityNode class=dom-method><code>getGeneralEntityNode</code></dfn>,  <dt><dfn id=getGeneralEntityNode class=dom-method><code>getGeneralEntityNode</code></dfn>,
1054  method</dt>  method</dt>
1055    <dd><p>Returns the <a href="#Entity"><code>Entity</code></a> node    <dd><p>Returns the <a href="#Entity"><code>Entity</code></a> node
1056    with the specified name.</p>    with the specified name.</p>
1057    
1058    <p>The <dfn id=getEntityNode-name class=dom-param><var>name</var></dfn>    <p>The
1059      <dfn id=getGeneralEntityNode-name class=dom-param><var>name</var></dfn>
1060    parameter is the name of the general entity.</p>    parameter is the name of the general entity.</p>
1061    
1062    <p>When invoked, the method <em class=rfc2119>MUST</em> return the    <p>When invoked, the method <em class=rfc2119>MUST</em> return the
1063    <a href="#Entity"><code>Entity</code></a> node,    <a href="#Entity"><code>Entity</code></a> node,
1064    whose <a href="#nodeName"><code>nodeName</code></a> is equal to    whose <a href="#nodeName"><code>nodeName</code></a> is equal to
1065    <a href="#getEntityNode-name"><var>name</var></a>, in the    <a href="#getGeneralEntityNode-name"><var>name</var></a>, in the
1066    <code>NamedNodeMap</code> object in the    <code>NamedNodeMap</code> object in the
1067    <a href="#entities"><code>entities</code></a> attribute of the    <a href="#entities"><code>entities</code></a> attribute of the
1068    node.  If there is no such node, it <em class=rfc2119>MUST</em> return    node.  If there is no such node, it <em class=rfc2119>MUST</em> return
1069    <code>null</code>.</p></dd>    <code>null</code>.</p></dd>
1070  <dt><dfn id=getNotationNode class=dom-method><code>getNotationNode</code></dfn>,  <dt><dfn id=getNotationNode class=dom-method><code>getNotationNode</code></dfn>,
1071  method</dt>  method</dt>
1072    <dd><p>Returns the <a href="#Notation"><code>Notation>/code></a> node    <dd><p>Returns the <a href="#Notation"><code>Notation</code></a> node
1073    with the specified name.</p>    with the specified name.</p>
1074    
1075    <p>The    <p>The
# Line 1029  method</dt> Line 1086  method</dt>
1086    <code>null</code>.</p></dd>    <code>null</code>.</p></dd>
1087  <dt><dfn id=setElementTypeDefinitionNode class=dom-method><code>setElementTypeDefinitionNode</code></dfn>,  <dt><dfn id=setElementTypeDefinitionNode class=dom-method><code>setElementTypeDefinitionNode</code></dfn>,
1088  method</dt>  method</dt>
1089    <dd class=ed>@@</dd>    <dd><p>Associate an
1090      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
1091      node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
1092    
1093      <p>The
1094      <dfn id=setElementTypeDefinitionNode-node class=dom-param><var>node</var></dfn>
1095      parameter is the node to associate.</p>
1096    
1097      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1098      to <a href="#algorithm-attach-node">attach a node</a>, where
1099      <a href="#attach-node-n"><var>n</var></a> is the
1100      <a href="#DocumentType"><code>DocumentType</code></a> node,
1101      <a href="#attach-node-l"><var>l</var></a> is the
1102      <a href="#elementTypes"><code>elementTypes</code></a> attribute value of the
1103      <a href="#DocumentType"><code>DocumentType</code></a> node,
1104      <a href="#attach-node-node"><var>node</var></a> is the
1105      <a href="#setElementTypeDefinitionNode-node"><var>node</var></a>, and
1106      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1107      <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
1108      attribute.</p></dd>
1109  <dt><dfn id=setGeneralEntityNode class=dom-method><code>setGeneralEntityNode</code></dfn>,  <dt><dfn id=setGeneralEntityNode class=dom-method><code>setGeneralEntityNode</code></dfn>,
1110  method</dt>  method</dt>
1111    <dd class=ed>@@</dd>    <dd><p>Associate an <a href="#Entity"><code>Entity</code></a>
1112      node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
1113    
1114      <p>The
1115      <dfn id=setGeneralEntityNode-node class=dom-param><var>node</var></dfn>
1116      parameter is the node to associate.</p>
1117    
1118      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1119      to <a href="#algorithm-attach-node">attach a node</a>, where
1120      <a href="#attach-node-n"><var>n</var></a> is the
1121      <a href="#DocumentType"><code>DocumentType</code></a> node,
1122      <a href="#attach-node-l"><var>l</var></a> is the
1123      <a href="#entities"><code>entities</code></a> attribute value of the
1124      <a href="#DocumentType"><code>DocumentType</code></a> node,
1125      <a href="#attach-node-node"><var>node</var></a> is the
1126      <a href="#setGeneralEntityNode-node"><var>node</var></a>, and
1127      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1128      <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
1129      attribute.</p></dd>
1130  <dt><dfn id=setNotationNode class=dom-method><code>setNotationNode</code></dfn>,  <dt><dfn id=setNotationNode class=dom-method><code>setNotationNode</code></dfn>,
1131  method</dt>  method</dt>
1132    <dd class=ed>@@</dd>    <dd><p>Associate an <a href="#Notation"><code>Notation</code></a>
1133      node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
1134    
1135      <p>The <dfn id=setNotationNode-node class=dom-param><var>node</var></dfn>
1136      parameter is the node to associate.</p>
1137    
1138      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1139      to <a href="#algorithm-attach-node">attach a node</a>, where
1140      <a href="#attach-node-n"><var>n</var></a> is the
1141      <a href="#DocumentType"><code>DocumentType</code></a> node,
1142      <a href="#attach-node-l"><var>l</var></a> is the
1143      <a href="#notations"><code>notations</code></a> attribute value of the
1144      <a href="#DocumentType"><code>DocumentType</code></a> node,
1145      <a href="#attach-node-node"><var>node</var></a> is the
1146      <a href="#setNotationNode-node"><var>node</var></a>, and
1147      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1148      <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
1149      attribute.</p></dd>
1150  </dl>  </dl>
1151    
1152    <p>When a <dfn id=algorithm-attach-node title="attach a node">node is
1153    attached</dfn>, the rules below, with parameters
1154    <dfn id=attach-node-n><var>n</var></dfn>,
1155    <dfn id=attach-node-l><var>l</var></dfn>,
1156    <dfn id=attach-node-node><var>node</var></dfn>, and
1157    <dfn id=attach-node-owner-attr><var>owner-attr</var></dfn>,
1158    <em class=rfc2119>MUST</em> be followed:</p>
1159      <ol>
1160      <li><p>Let
1161      <dfn id=attach-node-r><var>r</var></dfn> be the node in
1162      <var>l</var> whose <code>nodeName</code> attribute value is equal to the
1163      <code>nodeName</code> attribute value of <var>node</var>, if any.</p></li>
1164      <li><p>If <var>r</var> is different from <code>null</code> and <var>r</var>
1165      is same node as <var>node</var>, then abort these steps.</p></li>
1166      <li><p>If <var>n</var> is <a href="#read-only">read$B!>(Bonly</a>, then raise a
1167      <code>NO_MODIFICATION_ALLOWED_ERR</code> and abort these steps.</p></li>
1168      <li><p>If the <code>ownerDocument</code> attribute value of <var>node</var>
1169      is different from that of <var>n</var>, then raise a
1170      <code>WRONG_DOCUMENT_ERR</code> and abort these steps.</p></li>
1171      <li><p>If the value of the attribute <var>owner-attr</var> of <var>node</var>
1172      is different from <code>null</code>, then raise a
1173      <code>HIERARCHY_REQUEST_ERR</code> and abort these steps.</p></li>
1174      <li><p>If <var>r</var> is a node, then remove it from <var>r</var>.</p>
1175    
1176      <div class="note memo">
1177      <p>By the removal of <var>r</var>, the attribute <var>owner-attr</var> of
1178      <var>r</var> is set to <code>null</code>.</p>
1179      </div></li>
1180      <li><p>Add <var>node</var> to <var>l</var>.</p>
1181    
1182      <div class="note memo">
1183      <p>By the addition of <var>node</var>, the attribute <var>owner-attr</var> of
1184      <var>node</var> is set to <var>n</var>.</p>
1185      </div></li>
1186      </ol>
1187    
1188  <div class=ed>  <div class=ed>
1189  <p>A future version of this interface might define the  <p>A future version of this interface might define the
1190  <code>parameterEntities</code> and getter/setter for parameter entities.  <code>parameterEntities</code> and getter/setter for parameter entities.
# Line 1076  node cannot be a child of any node.  An Line 1223  node cannot be a child of any node.  An
1223  cannot have any child node.</p>  cannot have any child node.</p>
1224    
1225  <p>The <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>  <p>The <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
1226  interface <em class=rfc2119>MUST</em> be implemented as following:</p>  interface <em class=rfc2119>MUST</em> be implemented as the following
1227    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
1228  <pre class=idl><code>interface <dfn id=ElementTypeDefinition><code>ElementTypeDefinition</code></dfn> : <a href="#Node">Node</a> {  <pre class=idl><code>interface <dfn id=ElementTypeDefinition><code>ElementTypeDefinition</code></dfn> : <a href="#Node">Node</a> {
1229    readonly attribute <a href="#DocumentType">DocumentType</a> <a href="#ownerDocumentTypeDefinition">ownerDocumentTypeDefinition</a>;    readonly attribute <a href="#DocumentType">DocumentType</a> <a href="#ownerDocumentTypeDefinition">ownerDocumentTypeDefinition</a>;
1230    
# Line 1084  interface <em class=rfc2119>MUST</em> be Line 1232  interface <em class=rfc2119>MUST</em> be
1232    <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#getAttributeDefinitionNode">getAttributeDefinitionNode</a>    <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#getAttributeDefinitionNode">getAttributeDefinitionNode</a>
1233      (in DOMString <a href="#getAttributeDefinitionNode-name"><var>name</var></a>);      (in DOMString <a href="#getAttributeDefinitionNode-name"><var>name</var></a>);
1234    void <a href="#setAttributeDefinitionNode">setAttributeDefinitionNode</a>    void <a href="#setAttributeDefinitionNode">setAttributeDefinitionNode</a>
1235      (in <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#setAttributeDefinitionNode-name"><var>node</var></a>)      (in <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#setAttributeDefinitionNode-node"><var>node</var></a>)
1236      raises (DOMException);      raises (DOMException);
1237  }</code></pre>  }</code></pre>
1238    
# Line 1096  of type <a href="#DocumentType"><code>Do Line 1244  of type <a href="#DocumentType"><code>Do
1244    attribute of    attribute of
1245    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>,    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>,
1246    <a href="#Entity"><code>Entity</code></a>, and    <a href="#Entity"><code>Entity</code></a>, and
1247    <a href="#Notation"><code>Notation</code></a> interface contains the    <a href="#Notation"><code>Notation</code></a> interfaces contain the
1248    <a href="#DocumentType"><code>DocumentType</code></a> node to which the node    <a href="#DocumentType"><code>DocumentType</code></a> node to which the node
1249    is attached.</p>    is attached.</p>
1250    
# Line 1125  of type NamedNodeMap, read$B!>(Bonly</ Line 1273  of type NamedNodeMap, read$B!>(Bonly</
1273    belonging to the    belonging to the
1274    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.
1275    The <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be    The <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be
1276    read$B!>(Bonly if and only if the node is read$B!>(Bonly.  The    read$B!>(Bonly if and only if the node is <a href="#read-only">read$B!>(Bonly</a>.  
1277    <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be    The <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be
1278    <a href="#live">live</a>.</p>    <a href="#live">live</a>.</p>
1279        
1280    <p>If the    <p>If the
# Line 1139  of type NamedNodeMap, read$B!>(Bonly</ Line 1287  of type NamedNodeMap, read$B!>(Bonly</
1287    contains the    contains the
1288    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node
1289    corresponding to the attribute definitions in the attribute definition    corresponding to the attribute definitions in the attribute definition
1290    list declarations processed by the <abbr>XML</abbr> processor and    list declarations processed
1291      <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1292      <a href="#ref-XML11">XML11</a>]</cite> by the <abbr>XML</abbr> processor and
1293    associated to the element type represented by the node.  If there are more    associated to the element type represented by the node.  If there are more
1294    than one attribute definitions for an attribute, then the definitions other    than one attribute definitions for an attribute, then the definitions other
1295    than the first one <em class=rfc2119>MUST</em> be ignored for the purpose    than the first one <em class=rfc2119>MUST</em> be ignored for the purpose
# Line 1164  method</dt> Line 1314  method</dt>
1314    <em class=rfc2119>MUST</em> return <code>null</code>.</p></dd>    <em class=rfc2119>MUST</em> return <code>null</code>.</p></dd>
1315  <dt><dfn id=setAttributeDefinitionNode class=dom-method><code>setAttributeDefinitionNode</code></dfn>,  <dt><dfn id=setAttributeDefinitionNode class=dom-method><code>setAttributeDefinitionNode</code></dfn>,
1316  method</dt>  method</dt>
1317    <dd class=ed>@@</dd>    <dd><p>Associate an
1318      <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node with
1319      the
1320      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
1321      node.</p>
1322    
1323      <p>The
1324      <dfn id=setAttributeDefinitionNode-node class=dom-param><var>node</var></dfn>
1325      parameter is the node to associate.</p>
1326    
1327      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1328      to <a href="#algorithm-attach-node">attach a node</a>, where
1329      <a href="#attach-node-n"><var>n</var></a> is the
1330      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
1331      node, <a href="#attach-node-l"><var>l</var></a> is the
1332      <a href="#attributeDefinitions"><code>attributeDefinitions</code></a>
1333      attribute value of the
1334      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node,
1335      <a href="#attach-node-node"><var>node</var></a> is the
1336      <a href="#setAttributeDefinitionNode-node"><var>node</var></a>, and
1337      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1338      <a href="#ownerElementTypeDefinition"><code>ownerElementTypeDefinition</code></a>
1339      attribute.</p></dd>
1340  </dl>  </dl>
1341    
1342  <div class=ed>  <div class=ed>
# Line 1198  that attribute.</p> Line 1370  that attribute.</p>
1370  node cannot be a child of any node.  An  node cannot be a child of any node.  An
1371  <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node  <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node
1372  can have zero or more child nodes of same kinds as those allowed for  can have zero or more child nodes of same kinds as those allowed for
1373  <code>Attr</code> nodes <span class=ed>[DOM3]</span>.</p>  <code>Attr</code> nodes
1374    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p>
1375    
1376  <p>The <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>  <p>The <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
1377  interface <em class=rfc2119>MUST</em> be implemented as following:</p>  interface <em class=rfc2119>MUST</em> be implemented as the following
1378    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
1379  <pre class=idl><code>interface <dfn id=AttributeDefinition><code>AttributeDefinition</code></dfn> : <a href="#Node">Node</a> {  <pre class=idl><code>interface <dfn id=AttributeDefinition><code>AttributeDefinition</code></dfn> : <a href="#Node">Node</a> {
1380    <span class=comment>// <a href="#DeclaredValueType">DeclaredValueType</a></span>    <span class=comment>// <a href="#DeclaredValueType">DeclaredValueType</a></span>
1381    const unsigned short <a href="#NO_TYPE_ATTR">NO_TYPE_ATTR</a> = 0;    const unsigned short <a href="#NO_TYPE_ATTR">NO_TYPE_ATTR</a> = 0;
# Line 1244  read$B!>(Bonly</dt> Line 1418  read$B!>(Bonly</dt>
1418    <p>On getting, the attribute <em class=rfc2119>MUST</em> return an    <p>On getting, the attribute <em class=rfc2119>MUST</em> return an
1419    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.
1420    It <em class=rfc2119>MUST</em> be such a node that whose    It <em class=rfc2119>MUST</em> be such a node that whose
1421    <a href="#attributeDefinitons"><code>attributeDefinitions</code></a>    <a href="#attributeDefinitions"><code>attributeDefinitions</code></a>
1422    attribute contains the <code>NamedNodeMap</code> object that contains    attribute contains the <code>NamedNodeMap</code> object that contains
1423    the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>    the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
1424    node.  If there is no such an    node.  If there is no such an
# Line 1252  read$B!>(Bonly</dt> Line 1426  read$B!>(Bonly</dt>
1426    then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p>    then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p>
1427  <dt><dfn id=declaredType class=dom-attr><code>declaredType</code></dfn> of type  <dt><dfn id=declaredType class=dom-attr><code>declaredType</code></dfn> of type
1428  <code>unsigned short</code></dt>  <code>unsigned short</code></dt>
1429    <dd><p>The declared type <span class=ed>@@ ref</span> of the attribute.    <dd><p>The declared type
1430    It is expected that this attribute contains a value from the definition group    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1431      <a href="#ref-XML11">XML11</a>]</cite> of the attribute.  It is expected that
1432      this attribute contains a value from the definition group
1433    <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>.</p>    <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>.</p>
1434    
1435    <p>On getting, the attribute <em class=rfc2119>MUST</em> return the    <p>On getting, the attribute <em class=rfc2119>MUST</em> return the
1436    value associated to this attribute.</p>    value associated to this attribute.</p>
1437    
1438    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
1439    <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>    <code>NO_MODIFICATION_ALLOWED_ERR</code> if the
   exception if the  
1440    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node
1441    is read$B!>(Bonly <span class=ed>@@ ref</span>.  Otherwise, it    is <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it
1442    <em class=rfc2119>MUST</em> set the specified value as the value    <em class=rfc2119>MUST</em> set the specified value as the value
1443    associated to this attribute.</p>    associated to this attribute.</p>
1444    
# Line 1286  group contains the following constants:< Line 1461  group contains the following constants:<
1461  <tbody>  <tbody>
1462  <tr>  <tr>
1463  <th scope=row><dfn id=NO_TYPE_ATTR class=dom-const><code>NO_TYPE_ATTR</code>  <th scope=row><dfn id=NO_TYPE_ATTR class=dom-const><code>NO_TYPE_ATTR</code>
1464  <td><code>0</code><td>No value <span class=ed>[INFOSET]</span>.</tr>  <td><code>0</code><td><a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">No
1465    value</a>
1466    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>.</tr>
1467  <tr>  <tr>
1468  <th scope=row><dfn id=CDATA_ATTR class=dom-const><code>CDATA_ATTR</code>  <th scope=row><dfn id=CDATA_ATTR class=dom-const><code>CDATA_ATTR</code>
1469  <td><code>1</code><td><code>CDATA</code> <span class=ed>[XML]</span>.</tr>  <td><code>1</code><td><code>CDATA</code>
1470    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1471    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1472  <tr>  <tr>
1473  <th scope=row><dfn id=ID_ATTR class=dom-const><code>ID_ATTR</code>  <th scope=row><dfn id=ID_ATTR class=dom-const><code>ID_ATTR</code>
1474  <td><code>2</code><td><code>ID</code> <span class=ed>[XML]</span>.</tr>  <td><code>2</code><td><code>ID</code>
1475    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1476    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1477  <tr>  <tr>
1478  <th scope=row><dfn id=IDREF_ATTR class=dom-const><code>IDREF_ATTR</code>  <th scope=row><dfn id=IDREF_ATTR class=dom-const><code>IDREF_ATTR</code>
1479  <td><code>3</code><td><code>IDREF</code> <span class=ed>[XML]</span>.</tr>  <td><code>3</code><td><code>IDREF</code>
1480    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1481    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1482  <tr>  <tr>
1483  <th scope=row><dfn id=IDREFS_ATTR class=dom-const><code>IDREFS_ATTR</code>  <th scope=row><dfn id=IDREFS_ATTR class=dom-const><code>IDREFS_ATTR</code>
1484  <td><code>4</code><td><code>IDREFS</code> <span class=ed>[XML]</span>.</tr>  <td><code>4</code><td><code>IDREFS</code>
1485    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1486    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1487  <tr>  <tr>
1488  <th scope=row><dfn id=ENTITY_ATTR class=dom-const><code>ENTITY_ATTR</code>  <th scope=row><dfn id=ENTITY_ATTR class=dom-const><code>ENTITY_ATTR</code>
1489  <td><code>5</code><td><code>ENTITY</code> <span class=ed>[XML]</span>.</tr>  <td><code>5</code><td><code>ENTITY</code>
1490    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1491    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1492  <tr>  <tr>
1493  <th scope=row><dfn id=ENTITIES_ATTR class=dom-const><code>ENTITIES_ATTR</code>  <th scope=row><dfn id=ENTITIES_ATTR class=dom-const><code>ENTITIES_ATTR</code>
1494  <td><code>6</code><td><code>ENTITIES</code> <span class=ed>[XML]</span>.</tr>  <td><code>6</code><td><code>ENTITIES</code>
1495    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1496    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1497  <tr>  <tr>
1498  <th scope=row><dfn id=NMTOKEN_ATTR class=dom-const><code>NMTOKEN_ATTR</code>  <th scope=row><dfn id=NMTOKEN_ATTR class=dom-const><code>NMTOKEN_ATTR</code>
1499  <td><code>7</code><td><code>NMTOKEN</code> <span class=ed>[XML]</span>.</tr>  <td><code>7</code><td><code>NMTOKEN</code>
1500    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1501    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1502  <tr>  <tr>
1503  <th scope=row><dfn id=NMTOKENS_ATTR class=dom-const><code>NMTOKENS_ATTR</code>  <th scope=row><dfn id=NMTOKENS_ATTR class=dom-const><code>NMTOKENS_ATTR</code>
1504  <td><code>8</code><td><code>NMTOKENS</code> <span class=ed>[XML]</span>.</tr>  <td><code>8</code><td><code>NMTOKENS</code>
1505    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1506    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1507  <tr>  <tr>
1508  <th scope=row><dfn id=NOTATION_ATTR class=dom-const><code>NOTATION_ATTR</code>  <th scope=row><dfn id=NOTATION_ATTR class=dom-const><code>NOTATION_ATTR</code>
1509  <td><code>9</code><td><code>NOTATION</code> <span class=ed>[XML]</span>.</tr>  <td><code>9</code><td><code>NOTATION</code>
1510    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1511    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1512  <tr>  <tr>
1513  <th scope=row><dfn id=ENUMERATION_ATTR class=dom-const><code>ENUMERATION_ATTR</code>  <th scope=row><dfn id=ENUMERATION_ATTR class=dom-const><code>ENUMERATION_ATTR</code>
1514  <td><code>10</code><td>Enumeration <span class=ed>[XML]</span>.</tr>  <td><code>10</code><td>Enumeration
1515    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1516    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1517  <tr>  <tr>
1518  <th scope=row><dfn id=UNKNOWN_ATTR class=dom-const><code>UNKNOWN_ATTR</code>  <th scope=row><dfn id=UNKNOWN_ATTR class=dom-const><code>UNKNOWN_ATTR</code>
1519  <td><code>11</code><td>Unknown, because no declaration for the attribute  <td><code>11</code><td><a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">Unknown</a>,
1520  has been read but the [all declaration processed] property  because no declaration for the attribute has been read but the
1521  <span class=ed>[INFOSET]</span> would be false.</tr>  <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.document">[all declaration processed]</a>
1522    property
1523    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>
1524    would be false.</tr>
1525  </tbody>  </tbody>
1526  </table>  </table>
1527    
1528  <p>If no attribute type information is available, or if the source  <p>If no attribute type information is available, or if the source
1529  of the information does not distinguish <q>no value</q> and <q>unknown</q>  of the information does not distinguish
1530  <span class=ed>[INFOSET]</span>, then the value  <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">no
1531    value</a> and
1532    <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">unknown</a>
1533    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>,
1534    then the value
1535  <a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>  <a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>
1536  <em class=rfc2119>MUST</em> be used.</p>  <em class=rfc2119>MUST</em> be used.</p>
1537    
# Line 1339  method has its <a href="#declaredType">< Line 1543  method has its <a href="#declaredType"><
1543  set to <a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>.</p>  set to <a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>.</p>
1544  </div>  </div>
1545    
1546  <p>If the source of the information does not distinguish <q>no value</q>  <p>If the source of the information does not distinguish
1547  and/or <q>unknown</q> <span class=ed>[INFOSET]</span> and  <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">no
1548  <code>CDATA</code> <span class=ed>[XML]</span>, then the value  value</a> and/or
1549    <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">unknown</a>
1550    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite> and
1551    <code>CDATA</code>
1552    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1553    <a href="#ref-XML11">XML11</a>]</cite>, then the value
1554  <a href="#CDATA_ATTR"><code>CDATA_ATTR</code></a> <em class=rfc2119>MUST</em>  <a href="#CDATA_ATTR"><code>CDATA_ATTR</code></a> <em class=rfc2119>MUST</em>
1555  be used.</p>  be used.</p>
1556    
1557  <p>In Perl binding <span class=ed>[PERLBINDING]</span>, the  <p>In Perl binding
1558    <cite class="bibref normative">[<a href="#ref-DOMPERL">DOMPERL</a>]</cite>, the
1559  <code>Attr</code> nodes <em class=rfc2119>MUST</em> implement the  <code>Attr</code> nodes <em class=rfc2119>MUST</em> implement the
1560  <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>  <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>
1561  definition group.</p>  definition group.</p>
# Line 1360  type <code>DOMStringList</code>, read$B Line 1570  type <code>DOMStringList</code>, read$B
1570    <em class=rfc2119>MAY</em> contain zero or more ordered strings, consist of    <em class=rfc2119>MAY</em> contain zero or more ordered strings, consist of
1571    zero or more characters respectively, possibly with duplications.  The    zero or more characters respectively, possibly with duplications.  The
1572    object <em class=rfc2119>MUST</em> be read$B!>(Bonly if and only if the node    object <em class=rfc2119>MUST</em> be read$B!>(Bonly if and only if the node
1573    is read$B!>(Bonly.</p>    is <a href="#read-only">read$B!>(Bonly</a>.</p>
1574    
1575    <p>If the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>    <p>If the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
1576    node is created during the process to create a <abbr>DOM</abbr> from an    node is created during the process to create a <abbr>DOM</abbr> from an
# Line 1392  type <code>unsigned short</code></dt> Line 1602  type <code>unsigned short</code></dt>
1602    the value associated to this attribute.</p>    the value associated to this attribute.</p>
1603    
1604    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
1605    <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>    <code>NO_MODIFICATION_ALLOWED_ERR</code> if the
   exception if the  
1606    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node
1607    is read$B!>(Bonly <span class=ed>@@ ref</span>.  Otherwise, it    is <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it
1608    <em class=rfc2119>MUST</em> set the specified value as the value    <em class=rfc2119>MUST</em> set the specified value as the value
1609    associated to this attribute.</p>    associated to this attribute.</p>
1610    
# Line 1410  type <code>unsigned short</code></dt> Line 1619  type <code>unsigned short</code></dt>
1619    <p>The definition group    <p>The definition group
1620    <dfn id=DefaultValueType><code>DefaultValueType</code></dfn>    <dfn id=DefaultValueType><code>DefaultValueType</code></dfn>
1621    contains integers indicating the type of the default for the attribute.    contains integers indicating the type of the default for the attribute.
1622    The definition group contains the following constans:</p>    The definition group contains the following constants:</p>
1623    
1624    <table>    <table>
1625    <thead>    <thead>
# Line 1422  type <code>unsigned short</code></dt> Line 1631  type <code>unsigned short</code></dt>
1631    <td><code>0</code><td>Unknown.</tr>    <td><code>0</code><td>Unknown.</tr>
1632    <tr>    <tr>
1633    <th scope=row><dfn id=FIXED_DEFAULT class=dom-const><code>FIXED_DEFAULT</code></dfn>    <th scope=row><dfn id=FIXED_DEFAULT class=dom-const><code>FIXED_DEFAULT</code></dfn>
1634    <td><code>1</code><td>Provided explicitly and fixed    <td><code>1</code><td>Provided explicitly and only the value is allowed.
1635    <span class=ed>@@ ref</span> to that value.</tr>    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1636      <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1637    <tr>    <tr>
1638    <th scope=row><dfn id=REQUIRED_DEFAULT class=dom-const><code>REQUIRED_DEFAULT</code></dfn>    <th scope=row><dfn id=REQUIRED_DEFAULT class=dom-const><code>REQUIRED_DEFAULT</code></dfn>
1639    <td><code>2</code><td>No default value and the attribute have to be    <td><code>2</code><td>No default value and the attribute have to be
1640    explicitly specified.</tr>    explicitly specified.</tr>
1641    <tr>    <tr>
1642    <th scope=row><dfn id=IMPLIED_DEFAULT class=dom-const><code>IMPLIED_DEFAULT</code></dfn>    <th scope=row><dfn id=IMPLIED_DEFAULT class=dom-const><code>IMPLIED_DEFAULT</code></dfn>
1643    <td><code>3</code><td>Implied <span class=ed>@@ ref</span>.</tr>    <td><code>3</code><td>Implied
1644      <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1645      <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1646    <tr>    <tr>
1647    <th scope=row><dfn id=EXPLICIT_DEFAULT class=dom-const><code>EXPLICIT_DEFAULT</code></dfn>    <th scope=row><dfn id=EXPLICIT_DEFAULT class=dom-const><code>EXPLICIT_DEFAULT</code></dfn>
1648    <td><code>4</code><td>Provided explicitly.</tr>    <td><code>4</code><td>Provided explicitly.</tr>
# Line 1458  type <code>unsigned short</code></dt> Line 1670  type <code>unsigned short</code></dt>
1670  <h3>Modifications to the <code id=Entity>Entity</code> Interface</h3>  <h3>Modifications to the <code id=Entity>Entity</code> Interface</h3>
1671    
1672  <p>The implementation of the <a href="#Entity"><code>Entity</code></a>  <p>The implementation of the <a href="#Entity"><code>Entity</code></a>
1673  interface <em class=rfc2119>MUST</em> be modified as following:</p>  interface <em class=rfc2119>MUST</em> be modified as the following
1674    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
1675  <pre class=idl><code>// Modifications to the Entity interface  <pre class=idl><code>// Modifications to the Entity interface
1676    attribute DOMString <a href="#publicId">publicId</a>;    attribute DOMString <a href="#publicId">publicId</a>;
1677    attribute DOMString <a href="#systemId">systemId</a>;    attribute DOMString <a href="#systemId">systemId</a>;
# Line 1476  interface <em class=rfc2119>MUST</em> be Line 1689  interface <em class=rfc2119>MUST</em> be
1689  read$B!>(Bonly.</p>  read$B!>(Bonly.</p>
1690    
1691  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
1692  <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>  <code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is
1693  exception if the node is read$B!>(Bonly <span class=ed>@@ ref</span>.  <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it <em class=rfc2119>MUST</em>
1694  Otherwise, it <em class=rfc2119>MUST</em> set the specified value as the value  set the specified value as the value associated to the attribute.  No lexical
1695  associated to the attribute.  No lexical validation is performed.  The new  validation is performed.  The new value <em class=rfc2119>MAY</em> be
1696  value <em class=rfc2119>MAY</em> be <code>null</code>.</p>  <code>null</code>.</p>
1697    
1698  <dl>  <dl>
1699  <dt><dfn id=hasReplacementTree class=dom-attr><code>hasReplacementTree</code></dfn>  <dt><dfn id=hasReplacementTree class=dom-attr><code>hasReplacementTree</code></dfn>
# Line 1493  of type boolean</dt> Line 1706  of type boolean</dt>
1706    the value associated to this attribute.</p>    the value associated to this attribute.</p>
1707    
1708    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
1709    <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>    <code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is
1710    exception if the node is read$B!>(Bonly <span class=ed>@@ ref</span>.      <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it
1711    Otherwise, it <em class=rfc2119>MUST</em> set the specified value as the    <em class=rfc2119>MUST</em> set the specified value as the
1712    value associated to this attribute.</p>    value associated to this attribute.</p>
1713    
1714    <div class="note memo">    <div class="note memo">
# Line 1539  of type boolean</dt> Line 1752  of type boolean</dt>
1752    the value associated to this attribute.</p>    the value associated to this attribute.</p>
1753    
1754    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
1755    <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>    <code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is
1756    exception if the node is read$B!>(Bonly <span class=ed>@@ ref</span>.      <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it
1757    Otherwise, it <em class=rfc2119>MUST</em> set the specified value as the    <em class=rfc2119>MUST</em> set the specified value as the value associated
1758    value associated to this attribute.</p>    to this attribute.</p>
1759    
1760    <p>If the <a href="#Entity"><code>Entity</code></a> node is created during    <p>If the <a href="#Entity"><code>Entity</code></a> node is created during
1761    the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document,    the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document,
# Line 1558  of type boolean</dt> Line 1771  of type boolean</dt>
1771  <h3>Modifications to the <code id=Notation>Notation</code> Interface</h3>  <h3>Modifications to the <code id=Notation>Notation</code> Interface</h3>
1772    
1773  <p>The implementation of the <a href="#Notation"><code>Notation</code></a>  <p>The implementation of the <a href="#Notation"><code>Notation</code></a>
1774  interface <em class=rfc2119>MUST</em> be modified as following:</p>  interface <em class=rfc2119>MUST</em> be modified as the following
1775    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
1776  <pre class=idl><code>// Modifications to the Notation interface  <pre class=idl><code>// Modifications to the Notation interface
1777    attribute DOMString <a href="#publicId">publicId</a>;    attribute DOMString <a href="#publicId">publicId</a>;
1778    attribute DOMString <a href="#systemId">systemId</a>;    attribute DOMString <a href="#systemId">systemId</a>;
# Line 1578  interface <em class=rfc2119>MUST</em> be Line 1792  interface <em class=rfc2119>MUST</em> be
1792    
1793  <dl>  <dl>
1794  <dt id=ref-DOM3CORE>DOM3CORE</dt>  <dt id=ref-DOM3CORE>DOM3CORE</dt>
1795    <dd class=ed>@@ W3C DOM Level 3 Core</dd>    <dd><cite><a href="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407">Document
1796  <dt id=ref-DOMDTDEF>DOMDTDEF</dt>    Object Model (<abbr>DOM</abbr>) Level 3 Core Specification, Version
1797    <dd class=ed>@@ manakai's extension to DOM for document type definitions</dd>    1.0</a></cite>, <abbr>W3C</abbr> Recommendation, <time datetime=2004-04-07>7
1798      April 2004</time>.  <em>This</em> version of the specification is referenced.
1799      The latest version of the specification is available at
1800      <code class=uri>&lt;<a href="http://www.w3.org/TR/DOM-Level-3-Core">http://www.w3.org/TR/DOM-Level-3-Core</a>></code>.</dd>
1801    <dt id=ref-DOMBIND>DOMBIND</dt>
1802      <dd><cite><a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/">Language
1803      Bindings for <abbr>DOM</abbr> Specifications</a></cite>, <abbr>W3C</abbr>
1804      Working Draft, <time datetime=2007-10-17>17 October 2007</time>.  
1805      <em>This</em> version of the specification is referenced.  The latest version
1806      of the specification is available at
1807      <code class=uri>&lt;<a href="http://www.w3.org/TR/DOM-Bindings/">http://www.w3.org/TR/DOM-Bindings/</a>></code>.</dd>
1808    <dt id=ref-DOMPERL>DOMPERL</dt>
1809      <dd><cite><a href="http://suika.fam.cx/gate/2005/sw/manakai/DOM%20Perl%20Binding">manakai's
1810      <abbr>DOM</abbr> Perl Binding</a></cite>, editor's draft.  Work in
1811      progress.</dd>
1812    <dt id=ref-HTML5>HTML5</dt>
1813      <dd><cite><a href="http://whatwg.org/html5"><abbr>HTML</abbr> 5</a></cite>,
1814      <abbr title="Web Hypertext Application Technology Working Group">WHATWG</abbr>
1815      Working Draft.  Work in progress.</dd>
1816    <dt id=ref-INFOSET>INFOSET</dt>
1817      <dd><cite><a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204"><abbr>XML</abbr>
1818      Information Set (Second Edition)</a></cite>, <abbr>W3C</abbr> Recommendation,
1819      <time datetime=2004-02-04>4 February 2004</time>.  <em>This</em> version of
1820      the specification is referenced.  The latest version of the specification is
1821      available at
1822      <code class=uri>&lt;<a href="http://www.w3.org/TR/xml-infoset">http://www.w3.org/TR/xml-infoset</a>></code>.</dd>
1823  <dt id="ref-KEYWORDS">KEYWORDS</dt>  <dt id="ref-KEYWORDS">KEYWORDS</dt>
1824    <dd><cite><a href="urn:ietf:rfc:2119">Key words for use in    <dd><cite><a href="urn:ietf:rfc:2119">Key words for use in
1825    <abbr>RFCs</abbr> to Indicate Requirement Levels</a></cite>,    <abbr>RFCs</abbr> to Indicate Requirement Levels</a></cite>,
# Line 1589  interface <em class=rfc2119>MUST</em> be Line 1828  interface <em class=rfc2119>MUST</em> be
1828    14</a>, <abbr title="Request for Comments">RFC</abbr> 2119,    14</a>, <abbr title="Request for Comments">RFC</abbr> 2119,
1829    <time datetime=1997-03>March 1997</time>.    <time datetime=1997-03>March 1997</time>.
1830    <em>This</em> version of the specification is referenced.</dd>    <em>This</em> version of the specification is referenced.</dd>
1831  <dt id=ref-INFOSET>INFOSET</dt>  <dt id=ref-MANAKAI>MANAKAI</dt>
1832    <dd class=ed>@@</dd>    <dd><cite><a href="http://suika.fam.cx/gate/2005/sw/manakai/DOM%20Extensions">
1833  <dt id=ref-XML10">XML10</dt>    manakai's <abbr>DOM</abbr> Extensions</a></cite>, editor's draft.  Work in
1834      progress.</dd>
1835    <dt id=ref-XML10>XML10</dt>
1836    <dd><cite><a href="http://www.w3.org/TR/2006/REC-xml-20060816">Extensible    <dd><cite><a href="http://www.w3.org/TR/2006/REC-xml-20060816">Extensible
1837    Markup Language (<abbr>XML</abbr>) 1.0 (Fourth Edition)</a></cite>,    Markup Language (<abbr>XML</abbr>) 1.0 (Fourth Edition)</a></cite>,
1838    <abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August    <abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August
1839    2006</time>, edited in place <time datetime=2006-09-29>29 September    2006</time>, edited in place <time datetime=2006-09-29>29 September
1840    2006</time>.  Tje latest version of the specification is available at    2006</time>.  <em>This</em> version of the specification is referenced.  The
1841    <code class=uri>&lt;<a href="http://www.w3.org/TR/xml">http://www.w3.org/TR/xml</a>&gt;</code>.    latest version of the specification is available at
1842    <em>This</em> version of the specification is referenced.</dd>    <code class=uri>&lt;<a href="http://www.w3.org/TR/xml">http://www.w3.org/TR/xml</a>&gt;</code>.</dd>
1843  <dt id=ref-XML11>XML11</dt>  <dt id=ref-XML11>XML11</dt>
1844    <dd class=ed>@@</dd>    <dd><cite><a href="http://www.w3.org/TR/2006/REC-xml11-20060816/">Extensible
1845      Markup Language (<abbr>XML</abbr>) 1.1 (Second Edition)</a></cite>,
1846      <abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August
1847      2006</time>, edited in place <time datetime=2006-09-29>29 September
1848      2006</time>.  <em>This</em> version of the specification is referenced.  The
1849      latest version of the specification is available at
1850      <code class=uri>&lt;<a href="http://www.w3.org/TR/xml11">http://www.w3.org/TR/xml11</a>></code>.</dd>
1851  </dl>  </dl>
1852  </div>  </div>
1853    
1854  <div id="informative-references" class="section informative reference">  <div id="informative-references" class="section informative reference">
1855  <h3>Non$B!>(Bnormative References</h3>  <h3>Non$B!>(Bnormative References</h3>
1856    
1857  <dl class=ed>  <dl>
1858  <dt id=ref-CSS>CSS</dt>  <dt id=ref-DOM1WD>DOM1WD</dt>
1859    <dd><cite><a href="http://www.w3.org/TR/2007/CR-CSS21-20070719">Cascading    <dd><cite><a href="http://www.w3.org/TR/WD-DOM-971209/">Document Object
1860    Style Sheets Level 2 Revision 1 (<abbr>CSS</abbr> 2.1)    Model Specification</a></cite>, <abbr>W3C</abbr> Working Draft,
1861    Specification</a></cite>,    <time datetime=1997-12-09>9 December 1997</time>.</dd>
1862    <abbr title="World Wide Web Consortium">W3C</abbr> Candidate    <dd><cite><a href="http://www.w3.org/TR/WD-DOM-19980318/">Document Object
1863    Recommendation, <time datetime=2007-07-19>19 July 2007</time>.    Model Specification</a></cite>, <abbr>W3C</abbr> Working Draft,
1864    Work in progress.  The latest version of the specification is    <time datetime=1998-03-18>18 March 1998</time>.</dd>
1865    available at    <dd><cite><a href="http://www.w3.org/TR/1998/WD-DOM-19980416/">Document
1866    <code class=URI>&lt;<a href="http://www.w3.org/TR/CSS21">http://www.w3.org/TR/CSS21</a>></code>.</dd>    Object Model Specification, Version 1.0</a></cite>, <abbr>W3C</abbr> Working
1867  <dt id=ref-CSSOM>CSSOM</dt>    Draft, <time datetime=1998-04-16>16 April 1998</time>.</dd>
1868    <dd><cite><a href="http://dev.w3.org/cvsweb/~checkout~/csswg/cssom/Overview.html?rev=1.55&amp;content-type=text/html;%20charset=utf-8">Cascading  <dt id=ref-DOM3AS>DOM3AS</dt>
1869    Style Sheets Object Model (<abbr>CSSOM</abbr>)</a></cite>,    <dd><cite><a href="http://www.w3.org/TR/2002/NOTE-DOM-Level-3-AS-20020725/">Document
1870    <abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft,    Object Model (<abbr>DOM</abbr>) Level 3 Abstract Schemas Specification,
1871    <time datetime=2007-06-18>18 June 2007</time>.  Work in progress.    Version 1.0</a></cite>, <abbr>W3C</abbr> Note, <time datetime=2002-07-25>25
1872    The latest Editor's Draft of the specification is available at    July 2002</time>.  The latest version of the specification is available at
1873    <code class=URI>&lt;<a href="http://dev.w3.org/csswg/cssom/Overview.html">http://dev.w3.org/csswg/cssom/Overview.html</a>></code>.</dd>    <code class=uri>&lt;<a href="http://www.w3.org/TR/DOM-Level-3-AS">http://www.w3.org/TR/DOM-Level-3-AS</a>></code>.</dd>
1874  <dt id=ref-HTML5>HTML5</dt>  <dt id=ref-XSAPI>XSAPI</dt>
1875    <dd><cite><a href="http://whatwg.org/html5"><abbr>HTML</abbr> 5</a></cite>,    <dd><cite><a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/"><abbr>XML</abbr>
1876    <abbr title="Web Hypertext Application Technology Working Group">WHATWG</abbr>    Schema <abbr>API</abbr></a></cite>, <abbr>W3C</abbr> Member Submission,
1877    Working Draft.  Work in progress.</dd>    <time datetime=2004-03-09>9 March 2004</time>.  The latest version of the
1878  <dt id=ref-SAPI>SAPI</dt>    specification is available at
1879    <dd><cite><a href="http://dev.w3.org/cvsweb/~checkout~/2006/webapi/selectors-api/Overview.html?rev=1.28&amp;content-type=text/html;%20charset=utf-8">Selectors <abbr>API</abbr></a></cite>,    <code class=uri>&lt;<a href="http://www.w3.org/Submission/xmlschema-api/">http://www.w3.org/Submission/xmlschema-api/</a>></code>.</dd>
   <abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft,  
   <time datetime=2007-08-29>29 August 2007</time>.  Work in progress.  
   The latest Editor's Draft of the specification is available at  
   <code class=URI>&lt;<a href="http://dev.w3.org/2006/webapi/selectors-api/Overview.html">http://dev.w3.org/2006/webapi/selectors-api/Overview.html</a>></code>.  
   The latest published version of the specification is available at  
   <code class=URI>&lt;<a href="http://www.w3.org/TR/selectors-api/">http://www.w3.org/TR/selectors-api/</a>></code>.</dd>  
 <dt id=XBL2>XBL2</dt>  
   <dd><cite><a href="http://www.mozilla.org/projects/xbl/xbl2.html"><abbr>XBL</abbr>  
   2.0</a></cite>, Mozilla.org, <time datetime=2007-03-15>15 Mar 2007</time>.  
   Work in progress.  The latest  
   <abbr title="World Wide Web Consortium">W3C</abbr>$B!>(Bpublished  
   version of the specification is available at  
   <code class=URI>&lt;<a href="http://www.w3.org/TR/xbl/">http://www.w3.org/TR/xbl/</a>></code>.</dd>  
 <dt id=ref-XML5>XML5</dt>  
   <dd class=ed>@@</dd>  
1880  </dl>  </dl>
1881  </div>  </div>
1882    

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.30

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24