/[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.31 by wakaba, Sun Jun 15 08:08:05 2008 UTC
# 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=2008-06-15>15 June 2008</time></h2>
15    
16  <dl class="versions-uri">  <dl class="versions-uri">
17  <dt>This Version</dt>  <dt>This Version</dt>
18    <!--
19      <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-20071209"
20          >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-20071209</a>&gt;</code></dd>
21    -->
22    <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"
23        >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>
24  <dt>Latest Version</dt>  <dt>Latest Version</dt>
# Line 22  Line 27 
27  <dt>Latest Working Draft</dt>  <dt>Latest Working Draft</dt>
28    <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"
29        >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>
30  <!-- <dt>Previous Version</dt> -->  <dt>Previous Stable Version</dt>
31      <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-20071209"
32          >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-20071209</a>&gt;</code></dd>
33  <dt>Version History</dt>  <dt>Version History</dt>
34    <dd><code class=URI>&lt;<a href="http://suika.fam.cx/gate/cvs/markup/xml/domdtdef/domdtdef-work.en.html">http://suika.fam.cx/gate/cvs/markup/xml/domdtdef/domdtdef-work.en.html</a>&gt;</code></dd>    <dd><code class=URI>&lt;<a href="http://suika.fam.cx/gate/cvs/markup/xml/domdtdef/domdtdef-work.en.html">http://suika.fam.cx/gate/cvs/markup/xml/domdtdef/domdtdef-work.en.html</a>&gt;</code></dd>
35  <dt id=author>Author</dt>  <dt id=author>Author</dt>
# Line 32  Line 39 
39        >w@suika.fam.cx</a>&gt;</code></dd>        >w@suika.fam.cx</a>&gt;</code></dd>
40  </dl>  </dl>
41    
42  <p class="copyright" lang="en">&#xA9; <time>2007</time> <a  <p class="copyright" lang="en">&#xA9; <time>2007</time>$B!>(B<time>2008</time> <a
43      href="http://suika.fam.cx/~wakaba/who?" rel="author">Wakaba</a>.      href="http://suika.fam.cx/~wakaba/who?" rel="author">Wakaba</a>.
44  Permission is granted to copy, distribute and/or modify this document  Permission is granted to copy, distribute and/or modify this document
45  under the terms of the <a rel="license"  under the terms of the <a rel="license"
# Line 59  applications are able to access to the d Line 66  applications are able to access to the d
66  <div id="status" class="section">  <div id="status" class="section">
67  <h2>Status of This Document</h2>  <h2>Status of This Document</h2>
68    
69  <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
70  at the time of its publication.  Other documents  time of its publication.  Other documents might supersede this document.</p>
71  might supersede this document.</em></p>  
72    <p>This document is a specification<!-- working draft -->,
73  <p>This document is a working draft, produced as part of the  produced as part of the
74  <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.  
75  project.  It might be updated, replaced, or obsoleted by  It might be updated, replaced, or obsoleted by other documents at any time.  
76  other documents at any time.  It is inappropriate to  <!-- It is inappropriate to cite this document as other than
77  cite this document as other than <q>work in progress</q>.</p>  <q>work in progress</q>. --></p>
78    
79  <p>Comments on this document are welcome and  <p>Comments on this document are welcome and
80  may be sent to the <a href="#author">author</a>.</p>  may be sent to the <a href="#author">author</a>.</p>
81    
82  <p>Translations of thie document might be available.  <p>Translations of this document might be available.
83  The English version of the document is the only  The English version of the document is the only
84  normative version.</p>  normative version.</p>
85  </div>  </div>
# Line 88  interfaces and modifications to existing Line 95  interfaces and modifications to existing
95  over which <abbr>DOM</abbr> applications are able to access to the  over which <abbr>DOM</abbr> applications are able to access to the
96  definitions of the document type.</p>  definitions of the document type.</p>
97    
98  <p>Interfaces defined in this specification are partially modeled from  <p>Interfaces defined in this document are partially modeled and inspired by
99  early drafts of <abbr>DOM</abbr> level 1 <span class=ed>@@ ref</span>,  early drafts of <abbr>DOM</abbr> Level 1
100  <abbr>DOM</abbr> Abstract Schema level 3 <span class=ed>@@ ref</span>, and  <cite class="bibref informative">[<a href="#ref-DOM1WD">DOM1WD</a>]</cite>,
101  <abbr>XML</abbr> Schema <abbr>API</abbr>, but are not compatible with  <abbr>DOM</abbr> Level 3 Abstract Schemas <abbr>W3C</abbr> Note
102  any of them as a whole.</p>  <cite class="bibref informative">[<a href="#ref-DOM3AS">DOM3AS</a>]</cite>,
103    and <abbr>XML</abbr> Schema <abbr>API</abbr> specification
104    <cite class="bibref informative">[<a href="#ref-XSAPI">XSAPI</a>]</cite>, but
105    they are not compatible with any of them as a whole.</p>
106  </div>  </div>
107    
108  <div class="section" id=conformance>  <div class="section" id=conformance>
# Line 102  any of them as a whole.</p> Line 112  any of them as a whole.</p>
112  <h3>Terminology</h3>  <h3>Terminology</h3>
113    
114  <p>All examples and notes in this specification are non$B!>(Bnormative,  <p>All examples and notes in this specification are non$B!>(Bnormative,
115  as are all sections explicitly marked non$B!>(Bnormative.  Everything  as are all sections explicitly marked non$B!>(Bnormative.</p>
116  else in this specification is normative.</p>  
117    <p class=ed>Known issues are marked like this.  They are non$B!>(Bnormative.  <!--
118    However, this paragraph itself is normative.  One may argue that this paragraph
119    is non$B!>(Bnormative, because this paragraph is marked as an editor's note.
120    Anyway, the other editor's notes are non$B!>(Bnormative. --></p>
121    
122    <p>Everything else in this document is normative.</p>
123    
124  <p>The key words <q><em class="rfc2119">MUST</em></q>,  <p>The key words <q><em class="rfc2119">MUST</em></q>,
125  <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 136  introducing the algorithm.</p>
136    
137  <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
138  specified in the <abbr>DOM</abbr> Core specification  specified in the <abbr>DOM</abbr> Core specification
139  <span class=ed>[DOM3]</span>,  <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>,
140  when the value of the <code>strictErrorChecking</code> attribute of the  when the value of the <code>strictErrorChecking</code> attribute of the
141  <a href="#Document"><code>Document</code></a> node is <code>false</code>,  <a href="#Document"><code>Document</code></a> node is <code>false</code>,
142  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 153  accurate <q>an object implementing the i
153  <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
154  <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
155  accurate <q>raise an exception implementing the interface  accurate <q>raise an exception implementing the interface
156  <code>DOMException</code> <span class=ed>[DOM3]</span> with its  <code>DOMException</code>
157  <code>code</code> attribute set to <code><var>Bar</var></code></q>.</p>  <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>
158    with its <code>code</code> attribute set to
159    <code><var>Bar</var></code></q>.</p>
160    
161    <p>The terms
162    <em id=live><a href="http://www.whatwg.org/specs/web-apps/current-work/#live">live</a></em>
163    and <em id=setting>setting</em> and <em id=getting>getting</em> of an attribute
164    is defined in the HTML5 specification
165    <cite class="bibref normative">[<a href="#ref-HTML5">HTML5</a>]</cite>.</p>
166    
167  <p>The term  <p>The term
168  <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>
169  is defined in the HTML5 specification <span class=ed>[HTML5]</span>.</p>  is defined in the <abbr>DOM</abbr> Level 3 Core specification
170    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p>
171  <p class=ed>@@ ref to DOM Binding Spec</p>  
172    <p>The <em id=idl-fragment><abbr>IDL</abbr> fragments</em> in this document are
173    to be interpreted as described in the <cite>Language Bindings for
174    <abbr>DOM</abbr> Specifications</cite> specification
175    <cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite>.</p>
176    
177    <p>Some <abbr>IDL</abbr> fragments are presented as <i>patch</i> to an
178    <abbr>IDL</abbr> fragment defined in another document.  They are to be
179    interpreted as an instance of
180    <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMembers"><code>InterfaceMembers</code></a>
181    <cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite>.
182    If the <abbr>IDL</abbr> fragment to which the <i>patch</i> is applied has any
183    instance of
184    <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMember"><code>InterfaceMember</code></a>
185    with same
186    <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#prod-identifier"><code>identifier</code></a>
187    part as that of an instance of
188    <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMember"><code>InterfaceMember</code></a>
189    in the <i>patch</i>, then the former instance of
190    <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMember"><code>InterfaceMember</code></a>
191    <em class=rfc2119>MUST</em> be ignored.</p>
192  </div>  </div>
193    
194  <div class=section id=conformance-categories>  <div class=section id=conformance-categories>
# Line 160  this specification:</p> Line 204  this specification:</p>
204    by this and other documents.  Unless otherwise noted, requirements in this    by this and other documents.  Unless otherwise noted, requirements in this
205    document are applied to <abbr>DOM</abbr> implementations.  To implement    document are applied to <abbr>DOM</abbr> implementations.  To implement
206    all the features in this document, the implementation have to implement    all the features in this document, the implementation have to implement
207    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
208    <span class=ed>[DOM3]</span>) with one or more language binding (e.g.    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>)
209    ECMAScript or Java binding <span class=ed>[BINDINGS]</span> or    with one or more language binding (e.g. ECMAScript and Java bindings
210    Perl binding <span class=ed>[PERLBINDING]</span>).</dd>    <cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite>
211      or Perl binding
212      <cite class="bibref normative">[<a href="#ref-DOMPERL">DOMPERL</a>]</cite>).
213      A conforming implementation <em class=rfc2119>MUST</em> also be a
214      <a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#dfn-conforming-implementation">conforming
215      implementation</a> of the <abbr>IDL</abbr> fragments in this document, as
216      described in the <cite>Language Bindings for <abbr>DOM</abbr>
217      Specifications</cite> specification
218      <cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite>.</dd>
219  <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
220  to <abbr>DOM</abbr> tree converter)</dt>  to <abbr>DOM</abbr> tree converter)</dt>
221    <dd>A software component that converts    <dd>A software component that converts
222    <abbr>XML</abbr> 1.0 or 1.1 document (or fragment thereof) into a    <abbr>XML</abbr> 1.0 or 1.1 document
223      <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
224      <a href="#ref-XML11">XML11</a>]</cite> (or fragment thereof) into a
225    <abbr>DOM</abbr> tree (or fragment thereof) in the context of this    <abbr>DOM</abbr> tree (or fragment thereof) in the context of this
226    document.  Note that this document does not define any particular way to    document.  Note that this document does not define any particular way to
227    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 236  tree to <abbr>XML</abbr> document conver
236  <dt id=category-infoset-dom><abbr>XML</abbr> Information Set to  <dt id=category-infoset-dom><abbr>XML</abbr> Information Set to
237  <abbr>DOM</abbr> Tree Converter</dt>  <abbr>DOM</abbr> Tree Converter</dt>
238    <dd>A software component that converts an <abbr>XML</abbr> information set    <dd>A software component that converts an <abbr>XML</abbr> information set
239    into a <abbr>DOM</abbr> tree.  Note that this documetn does not define    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>
240    any particular way for the convertion, but it defines constraints for    into a <abbr>DOM</abbr> tree.  Note that this document does not define
241      any particular way for the conversion, but it defines constraints for
242    such processing.</dd>    such processing.</dd>
243  <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>
244  Information Set Converter</dt>  Information Set Converter</dt>
245    <dd>A software component that converts a <abbr>DOM</abbr> tree into    <dd>A software component that converts a <abbr>DOM</abbr> tree into
246    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
247    any particular way for the convertion, but it defines constraints for    any particular way for the conversion, but it defines constraints for
248    such processing.</dd>    such processing.</dd>
249  </dl>  </dl>
250  </div>  </div>
# Line 209  In addition, it modifies existing interf Line 264  In addition, it modifies existing interf
264  <a href="#Document"><code>Document</code></a>,  <a href="#Document"><code>Document</code></a>,
265  <a href="#DocumentType"><code>DocumentType</code></a>,  <a href="#DocumentType"><code>DocumentType</code></a>,
266  <a href="#Entity"><code>Entity</code></a>, and  <a href="#Entity"><code>Entity</code></a>, and
267  <a href="#Notation"><code>Notation</code></a>.</p>  <a href="#Notation"><code>Notation</code></a>
268    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p>
269    
270  <div class=section id=features>  <div class=section id=features>
271  <h3>Feature String</h3>  <h3>Feature String</h3>
# Line 217  In addition, it modifies existing interf Line 273  In addition, it modifies existing interf
273  <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
274  the <abbr>DOM</abbr> Document Type Definition module, the  the <abbr>DOM</abbr> Document Type Definition module, the
275  <code>hasFeature</code> method of a <code>DOMImplementation</code> object  <code>hasFeature</code> method of a <code>DOMImplementation</code> object
276    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>
277  <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
278  set to  set to
279  <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 288  such as <code>hasFeature</code> or <code
288    
289  <p>The implementation of the  <p>The implementation of the
290  <a href="#Node"><code>Node</code></a> interface  <a href="#Node"><code>Node</code></a> interface
291  <em class=rfc2119>MUST</em> be modified as following:</p>  <em class=rfc2119>MUST</em> be modified as the following
292    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
293  <pre class=idl><code>// Additions to the Node interface  <pre class=idl><code>// Additions to the Node interface
294    
295  // Additions to the NodeType definition group  // Additions to the NodeType definition group
# Line 252  these kinds of nodes, methods and attrib Line 310  these kinds of nodes, methods and attrib
310  <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>
311    
312  <dl>  <dl>
313  <dt><code id=attributes>attributes</code></dt>  <dt><code id=attributes>attributes</code>,
314    <code id=localName>localName</code>,
315    <code id=namespaceURI>namespaceURI</code>, and
316    <code id=prefix>prefix</code></dt>
317    <dd>    <dd>
318      <p>On getting, the attribute <em class=rfc2119>MUST</em> return      <p>On getting, the attributes <em class=rfc2119>MUST</em> return
319      <code>null</code>.</p>      <code>null</code>.</p>
320    </dd>    </dd>
321  <dt><code id=baseURI>baseURI</code></dt>  <dt><code id=baseURI>baseURI</code></dt>
# Line 298  these kinds of nodes, methods and attrib Line 359  these kinds of nodes, methods and attrib
359      and at least one of them has the support for the feature      and at least one of them has the support for the feature
360      <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>
361      <ul>      <ul>
362      <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
363      <span class=ed>@@ ref</span>, and      <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>,
364        and
365      <li>either:      <li>either:
366        <ul><!--        <ul><!--
367        <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 402  these kinds of nodes, methods and attrib
402    the values of the <code>DOMStringList</code> objects in the    the values of the <code>DOMStringList</code> objects in the
403    <a href="#allowedTokens"><code>allowedTokens</code></a> attributes    <a href="#allowedTokens"><code>allowedTokens</code></a> attributes
404    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
405    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
406    may be different), with an additional constraint that the number of the    may be different), with an additional constraint that the number of the
407    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
408    of the items equal to the string in another list.</p></li>    of the items equal to the string in another list.</p></li>
409    </ul></dd>    </ul></dd>
410    <dt><code id=manakaiLocalName>manakaiLocalName</code>
411    <cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt>
412      <dd><p class=section-info>This entry is applied only to implementations
413      that support this attribute.</p>
414    
415      <p>On getting, the attributes <em class=rfc2119>MUST</em> return
416      <code>null</code>.</p></dd>
417  <dt><code id=lookupNamespaceURI>lookupNamespaceURI</code> and  <dt><code id=lookupNamespaceURI>lookupNamespaceURI</code> and
418  <code id=lookupPrefix>lookupPrefix</code></dt>  <code id=lookupPrefix>lookupPrefix</code></dt>
419    <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 432  these kinds of nodes, methods and attrib
432    </dd>    </dd>
433  <dt><code id=nodeType>nodeType</code></dt>  <dt><code id=nodeType>nodeType</code></dt>
434    <dd>    <dd>
435      <p>On getting, the attribute <em class=rfc2119>MUST</em> return      <p>On getting, the attribute <!--<em class=rfc2119>MUST</em>--> returns
436        <!-- NOTE: No MUST, to avoid circular reference (nodeType==8100[12]
437        is defined that they MUST implement ElementType|AttributeDefinition). -->
438      <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>
439      (if the node is an      (if the node is an
440      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>) or      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>) or
# Line 399  following:</p> Line 470  following:</p>
470      On getting, the attributes <em class=rfc2119>MUST</em> return      On getting, the attributes <em class=rfc2119>MUST</em> return
471      <code>null</code>.</p>      <code>null</code>.</p>
472    
473      <div class="note memo">    <div class="note memo">
474        <p>Thus, on setting the attributes does nothing    <p>Thus, on setting the attributes does nothing
475        <span class=ed>[DOM3]</span>.</p>    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p>
476      </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>  
477    
478    <p>If the node is an    <p>If the node is an
479    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>:    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>:
480    The attribute <em class=rfc2119>MUST</em> behave as if the node    The attribute <em class=rfc2119>MUST</em> behave as if the node
481    were <code>Attr</code> <span class=ed>[DOM3]</span>.</p></dd>    were <code>Attr</code>
482      <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p></dd>
483  <dt><code id=normalize>normalize</code></dt>  <dt><code id=normalize>normalize</code></dt>
484    <dd><p>When a <a href="#DocumentType"><code>DocumentType</code></a> is    <dd><p>When a <a href="#DocumentType"><code>DocumentType</code></a> is
485    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 541  with parameter values
541  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
542  <a href="#Document"><code>Document</code></a> node supports the  <a href="#Document"><code>Document</code></a> node supports the
543  feature <code>Core</code> version <code>3.0</code>  feature <code>Core</code> version <code>3.0</code>
544  <span class=ed>[DOM3]</span>).</p>  <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>).</p>
545    
546  <p>The <a href="#DocumentXDoctype"><code>DocumentXDoctype</code></a> interface  <p>The <a href="#DocumentXDoctype"><code>DocumentXDoctype</code></a> interface
547  <em class=rfc2119>MUST</em> be implemented as following:</p>  <em class=rfc2119>MUST</em> be implemented as the following
548    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
549  <pre class=idl><code>interface <dfn id=DocumentXDoctype><code>DocumentXDoctype</code></dfn> {  <pre class=idl><code>interface <dfn id=DocumentXDoctype><code>DocumentXDoctype</code></dfn> {
550    DocumentType <a href="#createDocumentTypeDefinition">createDocumentTypeDefinition</a>    DocumentType <a href="#createDocumentTypeDefinition">createDocumentTypeDefinition</a>
551      (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 570  method</dt>
570    <dd>    <dd>
571      <p>This method creates a <code>DocumentType</code> node with the specified      <p>This method creates a <code>DocumentType</code> node with the specified
572      name, belonging to the document.</p>      name, belonging to the document.</p>
573      <p>The <dfn id=createDocumentTypeDefinition-name class=dom-param><var>name</var></dfn>      <p>The
574        <dfn id=createDocumentTypeDefinition-name class=dom-param><var>name</var></dfn>
575      parameter is the name of the document type.</p>      parameter is the name of the document type.</p>
576    
577      <p>When invoked, the method <em class=rfc2119>MUST</em> create and      <p>When invoked, the method <em class=rfc2119>MUST</em> create and
578      return a <code>DocumentType</code> node with the following attributes:</p>      return a <a href="#DocumentType"><code>DocumentType</code></a> node with
579        the following attributes:</p>
580      <dl>      <dl>
581      <dt><code>attributes</code>, <code>parentNode</code></dt>      <dt><code>attributes</code>, <code>parentNode</code></dt>
582        <dd><code>null</code>.</dd>        <dd><code>null</code>.</dd>
583      <dt><code>elementTypes</code>, <code>generalEntities</code>, and      <dt><a href="#elementTypes"><code>elementTypes</code></a>,
584      <code>notations</code></dt>      <a href="#entities"><code>entities</code></a>, and
585        <dd>Empty <code>NamedNodeMap</code> objects.</dd>      <a href="#notations"><code>notations</code></a></dt>
586      <dt><code>entities</code></dt>        <dd>Empty <code>NamedNodeMap</code> objects respectively.</dd>
       <dd>The same value as the <code>generalEntities</code> attribute.</dd>  
587      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
588        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
589      <dt><code>internalSubset</code>, <code>publicId</code>, and      <dt><a href="#internalSubset"><code>internalSubset</code></a>,
590      <code>systemId</code></dt>      <a href="#publicId"><code>publicId</code></a>, and
591        <a href="#systemId"><code>systemId</code></a></dt>
592        <dd>Empty strings.</dd>        <dd>Empty strings.</dd>
     <dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>  
       <dd><code>false</code>.</dd>  
593      <dt><code>nodeName</code></dt>      <dt><code>nodeName</code></dt>
594        <dd><a href="#createDocumentTypeDefinition-name"><var>name</var></a>.</dd>        <dd><a href="#createDocumentTypeDefinition-name"><var>name</var></a>.</dd>
595      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
596        <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
597          method is invoked.</dd>
598      </dl>      </dl>
599        <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
600        <a href="#read-only">read$B!>(Bonly</a>.</p>
601      <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
602      containing five general entity declarations: <code>amp</code>,      containing five general entity declarations: <code>amp</code>,
603      <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 619  method</dt>
619      <dl>      <dl>
620      <dt><a href="#attributeDefinitions"><code>attributeDefinitions</code></a></dt>      <dt><a href="#attributeDefinitions"><code>attributeDefinitions</code></a></dt>
621        <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>  
622      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
623        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
624      <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>  
625        <dd><a href="#createElementTypeDefinition-name"><var>name</var></a>.</dd>        <dd><a href="#createElementTypeDefinition-name"><var>name</var></a>.</dd>
626      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
627        <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>
628      <dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a></dt>      <dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
629        and <code>parentNode</code></dt>
630        <dd><code>null</code>.</dd>        <dd><code>null</code>.</dd>
     <dt class=ed>@@ Ensure all attributes are defined</dt>  
631      </dl>      </dl>
632        <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
633        <a href="#read-only">read$B!>(Bonly</a>.</p>
634    </dd>    </dd>
635  <dt><dfn id=createAttributeDefinition class=dom-method><code>createAttributeDefinition</code></dfn>,  <dt><dfn id=createAttributeDefinition class=dom-method><code>createAttributeDefinition</code></dfn>,
636  method</dt>  method</dt>
# Line 577  method</dt> Line 646  method</dt>
646      <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>      <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
647      node with the following attributes:</p>      node with the following attributes:</p>
648      <dl>      <dl>
649      <dt><code>allowedTokens</code></dt>      <dt><a href="#allowedTokens"><code>allowedTokens</code></a></dt>
650        <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>  
651      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
652        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
653      <dt><code>declaredType</code></dt>      <dt><a href="#declaredType"><code>declaredType</code></a></dt>
654        <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>
655      <dt><code>defaultType</code></dt>      <dt><a href="#defaultType"><code>defaultType</code></a></dt>
656        <dd><a href="#UNKNOWN_DEFAULT"><code>UNKNOWN_DEFAULT</code></a>.</dd>        <dd><a href="#UNKNOWN_DEFAULT"><code>UNKNOWN_DEFAULT</code></a>.</dd>
657      <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>  
658        <dd><a href="#createAttributeDefinition-name"><var>name</var></a>.</dd>        <dd><a href="#createAttributeDefinition-name"><var>name</var></a>.</dd>
659      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
660        <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>
661      <dt class=ed>@@ Ensure all attributes are defined</dt>      <dt><a href="#ownerElementTypeDefinition"><code>ownerElementTypeDefinition</code></a>
662        and <code>parentNode</code></dt>
663          <dd><code>null</code>.</dd>
664      </dl>      </dl>
665        <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
666        <a href="#read-only">read$B!>(Bonly</a>.</p>
667    
668        <!-- This requirement, if not droped, should be part of xml-id spec.
669      <div class=ed>      <div class=ed>
670      <p>@@ Should we keep these statements?:      <p>@@ Should we keep these statements?:
671  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 673  parameter is set to <code>true</code> an
673  is <code>xml:id</code>, then the [CODE(DOMa)@en[[[declaredType]]]]  is <code>xml:id</code>, then the [CODE(DOMa)@en[[[declaredType]]]]
674  attribute is set to <code>ID_ATTR</code>.  attribute is set to <code>ID_ATTR</code>.
675  [CODE(DOMa)@en[[[defaultType]]]]?</p>  [CODE(DOMa)@en[[[defaultType]]]]?</p>
676      </div>      </div>-->
677    </dd>    </dd>
678  <dt><dfn id=createGeneralEntity class=dom-method><code>createGeneralEntity</code></dfn>,  <dt><dfn id=createGeneralEntity class=dom-method><code>createGeneralEntity</code></dfn>,
679  method</dt>  method</dt>
# Line 620  method</dt> Line 688  method</dt>
688      an <a href="#Entity"><code>Entity</code></a> node with the following      an <a href="#Entity"><code>Entity</code></a> node with the following
689      attributes:</p>      attributes:</p>
690      <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>  
691      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
692        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
693      <dt><code>manakaiDeclarationBaseURI</code>,      <dt><code>manakaiDeclarationBaseURI</code>,
694      <code>manakaiEntityBaseURI</code>, and      <code>manakaiEntityBaseURI</code>, and <code>manakaiEntityURI</code>
695      <code>manakaiEntityURI</code> <span class=ed>@@ ref</span></dt>      <cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt>
696        <dd>No explicit value is set.</dd>        <dd><p class=section-info>This entry is applied only to implementations
697          that support these attributes.</p>
698    
699          <p>No explicit value is set.</p></dd>
700      <dt><a href="#hasReplacementTree"><code>hasReplacementTree</code></a> and      <dt><a href="#hasReplacementTree"><code>hasReplacementTree</code></a> and
701      <code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>      <a href="#isExternallyDeclared"><code>isExternallyDeclared</code></a></dt>
702        <dd><code>false</code>.</dd>        <dd><p><code>false</code>.</p></dd>
703      <dt><code>nodeName</code></dt>      <dt><code>nodeName</code></dt>
704        <dd><a href="#createGeneralEntity-name"><var>name</var></a>.</dd>        <dd><a href="#createGeneralEntity-name"><var>name</var></a>.</dd>
705        <dd>        <dd>
# Line 647  method</dt> Line 714  method</dt>
714            with its <code>nodeName</code> attribute set to <code>amp</code>.</p>            with its <code>nodeName</code> attribute set to <code>amp</code>.</p>
715          </div>          </div>
716        </dd>        </dd>
717        <dt><a href="#notationName"><code>notationName</code></a>,
718        <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>,
719        and <code>parentNode</code></dt>
720          <dd><code>null</code>.</dd>
721      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
722        <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>
723      <dt><code>publicId</code>, and <code>systemId</code></dt>      <dt><a href="#publicId"><code>publicId</code></a> and
724        <a href="#systemId"><code>systemId</code></a></dt>
725        <dd><code>null</code>.</dd>        <dd><code>null</code>.</dd>
726        <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>  
727      </dl>      </dl>
728    </dd>    <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
729      <a href="#read-only">read$B!>(Bonly</a>.</p></dd>
730  <dt><dfn id=createNotation class=dom-method><code>createNotation</code></dfn>,  <dt><dfn id=createNotation class=dom-method><code>createNotation</code></dfn>,
731  method</dt>  method</dt>
732    <dd>    <dd>
# Line 666  method</dt> Line 738  method</dt>
738      <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
739      a <code>Notation</code> node with the following attributes:</p>      a <code>Notation</code> node with the following attributes:</p>
740      <dl>      <dl>
     <dt><code>attributes</code>,  
     <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>,  
     and <code>parentNode</code></dt>  
       <dd><code>null</code>.</dd>  
741      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
742        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
743      <dt><code>manakaiDeclarationBaseURI</code></dt>      <dt><code>manakaiDeclarationBaseURI</code>
744        <dd>No explicit value is set.</dd>      <cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt>
745      <dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>        <dd><p class=section-info>This entry is applied only to implementations
746        <dd><code>false</code>.</dd>        that support these attributes.</p>
747    
748          <p>No explicit value is set.</p></dd>
749      <dt><code>nodeName</code></dt>      <dt><code>nodeName</code></dt>
750        <dd><a href="#createNotation-name"><var>name</var></a>.</dd>        <dd><a href="#createNotation-name"><var>name</var></a>.</dd>
751      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
752        <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
753      <dt><code>publicId</code> and <code>systemId</code></dt>        the method is invoked.</p></dd>
754        <dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
755        and <code>parentNode</code></dt>
756          <dd><code>null</code>.</dd>
757        <dt><a href="#publicId"><code>publicId</code></a> and
758        <a href="#systemId"><code>systemId</code></a></dt>
759        <dd><code>null</code>.</dd>        <dd><code>null</code>.</dd>
760        <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>  
761      </dl>      </dl>
762    </dd>    <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
763      <a href="#read-only">read$B!>(Bonly</a>.</p></dd>
764  </dl>  </dl>
765    
766  <p>These methods <em class=rfc2119>MUST</em> raise an  <p>These methods <em class=rfc2119>MUST</em> raise an
767  <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
768  if <var>name</var> is <em>not</em> a legal <code>Name</code> according to  <code>Name</code>
769  the <abbr>XML</abbr> version in use, as specified in the  <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
770  <code>xmlVersion</code> attribute of the <code>Document</code> node.</p>  <a href="#ref-XML11">XML11</a>]</cite> according to the <abbr>XML</abbr>
771    version specified in the <code>xmlVersion</code> attribute of the
772    <a href="#Document"><code>Document</code></a> node.</p>
773    
774  <div class="note memo">  <div class="note memo">
775  <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,
776  since <abbr>DOM3</abbr> specification <span class=ed>@@ ref</span> does not  since <abbr>DOM</abbr> Level 3 Core specification
777  define it for <code>Document</code> methods.</p>  <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>
778    does not define it for <a href="#Document"><code>Document</code></a>
779    methods.</p>
780    
781  <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>
782  </div>  </div>
# Line 711  Interface</h3> Line 790  Interface</h3>
790    
791  <p>A <a href="#DocumentType"><code>DocumentType</code></a> interface  <p>A <a href="#DocumentType"><code>DocumentType</code></a> interface
792  <em class=rfc2119>MAY</em> contain zero or more  <em class=rfc2119>MAY</em> contain zero or more
793  <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a>  <code>ProcessingInstruction</code> nodes in the <code>NodeList</code> object
794  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  
795  <a href="#DocumentType"><code>DocumentType</code></a> node.</p>  <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
796    
797  <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
798  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>
799  document, the <code>NodeList</code> object in the <code>childNodes</code>  document, the <code>NodeList</code> object in the <code>childNodes</code>
800  object <em class=rfc2119>MUST</em> contains the  object <em class=rfc2119>MUST</em> contains the
801  <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a>  <code>ProcessingInstruction</code> nodes representing the processing
802  nodes representing the processing instructions in the document type  instructions in the document type definition of the document processed
803  definition of the document processed <span class=ed>@@ ref</span> by  <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
804  the <abbr>XML</abbr> processor.  If the  <a href="#ref-XML11">XML11</a>]</cite> by the <abbr>XML</abbr> processor.  If
805  <a href="#DocumentType"><code>DocumentType</code></a> node is marked  the <a href="#DocumentType"><code>DocumentType</code></a> node is marked as
806  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
807  also be marked as read$B!>(Bonly.</p>  <em class=rfc2119>MUST</em> also be marked as
808    <a href="#read-only">read$B!>(Bonly</a>.</p>
809    
810  <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
811  from a document type declaration information item <span class=ed>@@ ref</span>,  from a
812    <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.doctype">document
813    type declaration information item</a>
814    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>,
815  the <code>NodeList</code> object in the <code>childNodes</code> attribute  the <code>NodeList</code> object in the <code>childNodes</code> attribute
816  of the node <em class=rfc2119>MUST</em> contain the  of the node <em class=rfc2119>MUST</em> contain the
817  <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes  <code>ProcessingInstruction</code> nodes created from any
818  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
819  [children] property of the document type declaration item in the same  instruction information items</a> in the list in the [children] property of the
820  order.</p>  <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.doctype">document
821    type declaration item</a> in the same order.</p>
822    
823  <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
824  a document type declaration information item, the list in the [children]  a document type declaration information item, the list in the [children]
825  property <em class=rfc2119>MUST</em> contain the processng instruction  property <em class=rfc2119>MUST</em> contain the processng instruction
826  information items created from the  information items created from the <code>ProcessingInstruction</code> nodes
 <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes  
827  in the <code>NodeList</code> object in the <code>childNodes</code> attribute  in the <code>NodeList</code> object in the <code>childNodes</code> attribute
828  of the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>  of the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
829    
830  <p>The implementation of the  <p>The implementation of the
831  <a href="#DocumentType"><code>DocumentType</code></a> interface  <a href="#DocumentType"><code>DocumentType</code></a> interface
832  <em class=rfc2119>MUST</em> be modified as following:</p>  <em class=rfc2119>MUST</em> be modified as the following
833    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
834  <pre class=idl><code>// Modifications to the DocumentType interface  <pre class=idl><code>// Modifications to the DocumentType interface
835    attribute DOMString <a href="#publicId">publicId</a>;    attribute DOMString <a href="#publicId">publicId</a>;
836    attribute DOMString <a href="#systemId">systemId</a>;    attribute DOMString <a href="#systemId">systemId</a>;
# Line 763  of the <a href="#DocumentType"><code>Doc Line 846  of the <a href="#DocumentType"><code>Doc
846  read$B!>(Bonly.</p>  read$B!>(Bonly.</p>
847    
848  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
849  <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>  <code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is
850  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>
851  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
852  associated to the attribute.  No normalization, relative reference resolution,  normalization, relative reference resolution, or lexical validation is
853  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
854  value is <code>null</code>, ...</span></p>  empty string be set?</span></p>
855    
856  <div class="note memo">  <div class="note memo">
857  <p>Setting an invalid identifier might make the node unserializable.  <p>Setting an invalid identifier might make the node unserializable.
858  Setting a public identifier while leaveing system identifier unspecified  Setting a public identifier while leaving system identifier unspecified
859  would also make the <a href="#DocumentType"><code>DocumentType</code></a>  would also make the <a href="#DocumentType"><code>DocumentType</code></a>
860  or <a href="#Entity"><code>Entity</code></a> node unserializable.</p>  or <a href="#Entity"><code>Entity</code></a> node unserializable.</p>
861  </div>  </div>
# Line 786  or <a href="#Entity"><code>Entity</code> Line 869  or <a href="#Entity"><code>Entity</code>
869  read$B!>(Bonly.</p>  read$B!>(Bonly.</p>
870    
871  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
872  <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>  <code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is
873  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>
874  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
875  associated to the attribute.  No normalization, or lexical validation is  normalization, or lexical validation is performed.  <span class=ed>@@ If the
876  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>  
877    
878  </div>  </div>
879    
# Line 814  with parameter values Line 896  with parameter values
896  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
897  <a href="#DocumentType"><code>DocumentType</code></a> node supports the  <a href="#DocumentType"><code>DocumentType</code></a> node supports the
898  feature <code>Core</code> version <code>3.0</code>  feature <code>Core</code> version <code>3.0</code>
899  <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>  
900    
901  <p>The  <p>The
902  <a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a>  <a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a>
903  interface <em class=rfc2119>MUST</em> be implemented as following:</p>  interface <em class=rfc2119>MUST</em> be implemented as the following
904    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
905  <pre class=idl><code>interface <dfn id=DocumentTypeDefinition><code>DocumentTypeDefinition</code></dfn> {  <pre class=idl><code>interface <dfn id=DocumentTypeDefinition><code>DocumentTypeDefinition</code></dfn> {
906    readonly attribute NamedNodeMap <a href="#elementTypes">elementTypes</a>;    readonly attribute NamedNodeMap <a href="#elementTypes">elementTypes</a>;
907    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 937  type <code>NamedNodeMap</code>, read$B!
937    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
938    nodes belonging to the <code>DocumentType</code> node.  The    nodes belonging to the <code>DocumentType</code> node.  The
939    <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
940    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
941    object <em class=rfc2119>MUST</em> be <a href="#live">live</a>.</p>    <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be
942      <a href="#live">live</a>.</p>
943    
944    <p>If the <code>DocumentType</code> node is created during the process    <p>If the <code>DocumentType</code> node is created during the process
945    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 948  type <code>NamedNodeMap</code>, read$B!
948    <em class=rfc2119>MUST</em> be so transformed that the object contains    <em class=rfc2119>MUST</em> be so transformed that the object contains
949    the <code>ElementTypeDefinition</code> nodes for the element types    the <code>ElementTypeDefinition</code> nodes for the element types
950    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
951    attribute definition list declarations processed by the <abbr>XML</abbr>    attribute definition list declarations processed
952      <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
953      <a href="#ref-XML11">XML11</a>]</cite> by the <abbr>XML</abbr>
954    processor.  If there are more than one element type declarations for an    processor.  If there are more than one element type declarations for an
955    element type, then the declarations other than the first one    element type, then the declarations other than the first one
956    <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 962  of type <code>NamedNodeMap</code>, read
962    <a href="#DocumentType"><code>DocumentType</code></a> node.</p>    <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
963        
964    <p>On getting, the attribute <em class=rfc2119>MUST</em> return the    <p>On getting, the attribute <em class=rfc2119>MUST</em> return the
965    same value as the <code>entities</code> attribute (defined in the    same value as the <code id=entities>entities</code> attribute (defined in the
966    <a href="#DocumentType"><code>DocumentType</code></a> interface) of the same    <a href="#DocumentType"><code>DocumentType</code></a> interface) of the same
967    node.</p>    node.</p>
968    
# Line 915  and therefore any change of read-only fl Line 991  and therefore any change of read-only fl
991  reflected by that of the object.  reflected by that of the object.
992  -->  -->
993  <dt><dfn id=notations class=dom-attr><code>notations</code></dfn> of type  <dt><dfn id=notations class=dom-attr><code>notations</code></dfn> of type
994  <code>notations</code>, read$B!>(Bonly</code>  <code>NamedNodeMap</code>, read$B!>(Bonly</code>
995    <dd><p>A <a href="#live">live</a> <code>NamedNodeMap</code> object that    <dd><p>A <a href="#live">live</a> <code>NamedNodeMap</code> object that
996    contains all the notations belonging to the    contains all the notations belonging to the
997    <a href="#DocumentType"><code>DocumentType</code></a> node.</p>    <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
# Line 976  method</dt> Line 1052  method</dt>
1052    <a href="#elementTypes"><code>elementTypes</code></a> attribute of the    <a href="#elementTypes"><code>elementTypes</code></a> attribute of the
1053    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
1054    <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>  
1055  <dt><dfn id=getGeneralEntityNode class=dom-method><code>getGeneralEntityNode</code></dfn>,  <dt><dfn id=getGeneralEntityNode class=dom-method><code>getGeneralEntityNode</code></dfn>,
1056  method</dt>  method</dt>
1057    <dd><p>Returns the <a href="#Entity"><code>Entity</code></a> node    <dd><p>Returns the <a href="#Entity"><code>Entity</code></a> node
1058    with the specified name.</p>    with the specified name.</p>
1059    
1060    <p>The <dfn id=getEntityNode-name class=dom-param><var>name</var></dfn>    <p>The
1061      <dfn id=getGeneralEntityNode-name class=dom-param><var>name</var></dfn>
1062    parameter is the name of the general entity.</p>    parameter is the name of the general entity.</p>
1063    
1064    <p>When invoked, the method <em class=rfc2119>MUST</em> return the    <p>When invoked, the method <em class=rfc2119>MUST</em> return the
1065    <a href="#Entity"><code>Entity</code></a> node,    <a href="#Entity"><code>Entity</code></a> node,
1066    whose <a href="#nodeName"><code>nodeName</code></a> is equal to    whose <a href="#nodeName"><code>nodeName</code></a> is equal to
1067    <a href="#getEntityNode-name"><var>name</var></a>, in the    <a href="#getGeneralEntityNode-name"><var>name</var></a>, in the
1068    <code>NamedNodeMap</code> object in the    <code>NamedNodeMap</code> object in the
1069    <a href="#entities"><code>entities</code></a> attribute of the    <a href="#entities"><code>entities</code></a> attribute of the
1070    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
1071    <code>null</code>.</p></dd>    <code>null</code>.</p></dd>
1072  <dt><dfn id=getNotationNode class=dom-method><code>getNotationNode</code></dfn>,  <dt><dfn id=getNotationNode class=dom-method><code>getNotationNode</code></dfn>,
1073  method</dt>  method</dt>
1074    <dd><p>Returns the <a href="#Notation"><code>Notation>/code></a> node    <dd><p>Returns the <a href="#Notation"><code>Notation</code></a> node
1075    with the specified name.</p>    with the specified name.</p>
1076    
1077    <p>The    <p>The
# Line 1029  method</dt> Line 1088  method</dt>
1088    <code>null</code>.</p></dd>    <code>null</code>.</p></dd>
1089  <dt><dfn id=setElementTypeDefinitionNode class=dom-method><code>setElementTypeDefinitionNode</code></dfn>,  <dt><dfn id=setElementTypeDefinitionNode class=dom-method><code>setElementTypeDefinitionNode</code></dfn>,
1090  method</dt>  method</dt>
1091    <dd class=ed>@@</dd>    <dd><p>Associate an
1092      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
1093      node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
1094    
1095      <p>The
1096      <dfn id=setElementTypeDefinitionNode-node class=dom-param><var>node</var></dfn>
1097      parameter is the node to associate.</p>
1098    
1099      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1100      to <a href="#algorithm-attach-node">attach a node</a>, where
1101      <a href="#attach-node-n"><var>n</var></a> is the
1102      <a href="#DocumentType"><code>DocumentType</code></a> node,
1103      <a href="#attach-node-l"><var>l</var></a> is the
1104      <a href="#elementTypes"><code>elementTypes</code></a> attribute value of the
1105      <a href="#DocumentType"><code>DocumentType</code></a> node,
1106      <a href="#attach-node-node"><var>node</var></a> is the
1107      <a href="#setElementTypeDefinitionNode-node"><var>node</var></a>, and
1108      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1109      <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
1110      attribute.</p></dd>
1111  <dt><dfn id=setGeneralEntityNode class=dom-method><code>setGeneralEntityNode</code></dfn>,  <dt><dfn id=setGeneralEntityNode class=dom-method><code>setGeneralEntityNode</code></dfn>,
1112  method</dt>  method</dt>
1113    <dd class=ed>@@</dd>    <dd><p>Associate an <a href="#Entity"><code>Entity</code></a>
1114      node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
1115    
1116      <p>The
1117      <dfn id=setGeneralEntityNode-node class=dom-param><var>node</var></dfn>
1118      parameter is the node to associate.</p>
1119    
1120      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1121      to <a href="#algorithm-attach-node">attach a node</a>, where
1122      <a href="#attach-node-n"><var>n</var></a> is the
1123      <a href="#DocumentType"><code>DocumentType</code></a> node,
1124      <a href="#attach-node-l"><var>l</var></a> is the
1125      <a href="#entities"><code>entities</code></a> attribute value of the
1126      <a href="#DocumentType"><code>DocumentType</code></a> node,
1127      <a href="#attach-node-node"><var>node</var></a> is the
1128      <a href="#setGeneralEntityNode-node"><var>node</var></a>, and
1129      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1130      <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
1131      attribute.</p></dd>
1132  <dt><dfn id=setNotationNode class=dom-method><code>setNotationNode</code></dfn>,  <dt><dfn id=setNotationNode class=dom-method><code>setNotationNode</code></dfn>,
1133  method</dt>  method</dt>
1134    <dd class=ed>@@</dd>    <dd><p>Associate an <a href="#Notation"><code>Notation</code></a>
1135      node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
1136    
1137      <p>The <dfn id=setNotationNode-node class=dom-param><var>node</var></dfn>
1138      parameter is the node to associate.</p>
1139    
1140      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1141      to <a href="#algorithm-attach-node">attach a node</a>, where
1142      <a href="#attach-node-n"><var>n</var></a> is the
1143      <a href="#DocumentType"><code>DocumentType</code></a> node,
1144      <a href="#attach-node-l"><var>l</var></a> is the
1145      <a href="#notations"><code>notations</code></a> attribute value of the
1146      <a href="#DocumentType"><code>DocumentType</code></a> node,
1147      <a href="#attach-node-node"><var>node</var></a> is the
1148      <a href="#setNotationNode-node"><var>node</var></a>, and
1149      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1150      <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
1151      attribute.</p></dd>
1152  </dl>  </dl>
1153    
1154    <p>When a <dfn id=algorithm-attach-node title="attach a node">node is
1155    attached</dfn>, the rules below, with parameters
1156    <dfn id=attach-node-n><var>n</var></dfn>,
1157    <dfn id=attach-node-l><var>l</var></dfn>,
1158    <dfn id=attach-node-node><var>node</var></dfn>, and
1159    <dfn id=attach-node-owner-attr><var>owner-attr</var></dfn>,
1160    <em class=rfc2119>MUST</em> be followed:</p>
1161      <ol>
1162      <li><p>Let
1163      <dfn id=attach-node-r><var>r</var></dfn> be the node in
1164      <var>l</var> whose <code>nodeName</code> attribute value is equal to the
1165      <code>nodeName</code> attribute value of <var>node</var>, if any.</p></li>
1166      <li><p>If <var>r</var> is different from <code>null</code> and <var>r</var>
1167      is same node as <var>node</var>, then abort these steps.</p></li>
1168      <li><p>If <var>n</var> is <a href="#read-only">read$B!>(Bonly</a>, then raise a
1169      <code>NO_MODIFICATION_ALLOWED_ERR</code> and abort these steps.</p></li>
1170      <li><p>If the <code>ownerDocument</code> attribute value of <var>node</var>
1171      is different from that of <var>n</var>, then raise a
1172      <code>WRONG_DOCUMENT_ERR</code> and abort these steps.</p></li>
1173      <li><p>If the value of the attribute <var>owner-attr</var> of <var>node</var>
1174      is different from <code>null</code>, then raise a
1175      <code>HIERARCHY_REQUEST_ERR</code> and abort these steps.</p></li>
1176      <li><p>If <var>r</var> is a node, then remove it from <var>r</var>.</p>
1177    
1178      <div class="note memo">
1179      <p>By the removal of <var>r</var>, the attribute <var>owner-attr</var> of
1180      <var>r</var> is set to <code>null</code>.</p>
1181      </div></li>
1182      <li><p>Add <var>node</var> to <var>l</var>.</p>
1183    
1184      <div class="note memo">
1185      <p>By the addition of <var>node</var>, the attribute <var>owner-attr</var> of
1186      <var>node</var> is set to <var>n</var>.</p>
1187      </div></li>
1188      </ol>
1189    
1190  <div class=ed>  <div class=ed>
1191  <p>A future version of this interface might define the  <p>A future version of this interface might define the
1192  <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 1225  node cannot be a child of any node.  An
1225  cannot have any child node.</p>  cannot have any child node.</p>
1226    
1227  <p>The <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>  <p>The <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
1228  interface <em class=rfc2119>MUST</em> be implemented as following:</p>  interface <em class=rfc2119>MUST</em> be implemented as the following
1229    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
1230  <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> {
1231    readonly attribute <a href="#DocumentType">DocumentType</a> <a href="#ownerDocumentTypeDefinition">ownerDocumentTypeDefinition</a>;    readonly attribute <a href="#DocumentType">DocumentType</a> <a href="#ownerDocumentTypeDefinition">ownerDocumentTypeDefinition</a>;
1232    
# Line 1084  interface <em class=rfc2119>MUST</em> be Line 1234  interface <em class=rfc2119>MUST</em> be
1234    <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#getAttributeDefinitionNode">getAttributeDefinitionNode</a>    <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#getAttributeDefinitionNode">getAttributeDefinitionNode</a>
1235      (in DOMString <a href="#getAttributeDefinitionNode-name"><var>name</var></a>);      (in DOMString <a href="#getAttributeDefinitionNode-name"><var>name</var></a>);
1236    void <a href="#setAttributeDefinitionNode">setAttributeDefinitionNode</a>    void <a href="#setAttributeDefinitionNode">setAttributeDefinitionNode</a>
1237      (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>)
1238      raises (DOMException);      raises (DOMException);
1239  }</code></pre>  }</code></pre>
1240    
# Line 1096  of type <a href="#DocumentType"><code>Do Line 1246  of type <a href="#DocumentType"><code>Do
1246    attribute of    attribute of
1247    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>,    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>,
1248    <a href="#Entity"><code>Entity</code></a>, and    <a href="#Entity"><code>Entity</code></a>, and
1249    <a href="#Notation"><code>Notation</code></a> interface contains the    <a href="#Notation"><code>Notation</code></a> interfaces contain the
1250    <a href="#DocumentType"><code>DocumentType</code></a> node to which the node    <a href="#DocumentType"><code>DocumentType</code></a> node to which the node
1251    is attached.</p>    is attached.</p>
1252    
# Line 1113  of type <a href="#DocumentType"><code>Do Line 1263  of type <a href="#DocumentType"><code>Do
1263    a <a href="#DocumentType"><code>DocumentType</code></a> node,    a <a href="#DocumentType"><code>DocumentType</code></a> node,
1264    then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p></dd>    then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p></dd>
1265  <dt><dfn id=attributeDefinitions class=dom-attr><code>attributeDefinitions</code></dfn>  <dt><dfn id=attributeDefinitions class=dom-attr><code>attributeDefinitions</code></dfn>
1266  of type NamedNodeMap, read$B!>(Bonly</dt>  of type <code>NamedNodeMap</code>, read$B!>(Bonly</dt>
1267    <dd><p>A <a href="#live">live</a> <code>NamedNodeMap</code> object that    <dd><p>A <a href="#live">live</a> <code>NamedNodeMap</code> object that
1268    contains all the attribute definitions belonging to the    contains all the attribute definitions belonging to the
1269    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
# Line 1125  of type NamedNodeMap, read$B!>(Bonly</ Line 1275  of type NamedNodeMap, read$B!>(Bonly</
1275    belonging to the    belonging to the
1276    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.
1277    The <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be    The <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be
1278    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>.  
1279    <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be    The <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be
1280    <a href="#live">live</a>.</p>    <a href="#live">live</a>.</p>
1281        
1282    <p>If the    <p>If the
# Line 1139  of type NamedNodeMap, read$B!>(Bonly</ Line 1289  of type NamedNodeMap, read$B!>(Bonly</
1289    contains the    contains the
1290    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node
1291    corresponding to the attribute definitions in the attribute definition    corresponding to the attribute definitions in the attribute definition
1292    list declarations processed by the <abbr>XML</abbr> processor and    list declarations processed
1293      <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1294      <a href="#ref-XML11">XML11</a>]</cite> by the <abbr>XML</abbr> processor and
1295    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
1296    than one attribute definitions for an attribute, then the definitions other    than one attribute definitions for an attribute, then the definitions other
1297    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 1316  method</dt>
1316    <em class=rfc2119>MUST</em> return <code>null</code>.</p></dd>    <em class=rfc2119>MUST</em> return <code>null</code>.</p></dd>
1317  <dt><dfn id=setAttributeDefinitionNode class=dom-method><code>setAttributeDefinitionNode</code></dfn>,  <dt><dfn id=setAttributeDefinitionNode class=dom-method><code>setAttributeDefinitionNode</code></dfn>,
1318  method</dt>  method</dt>
1319    <dd class=ed>@@</dd>    <dd><p>Associate an
1320      <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node with
1321      the
1322      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
1323      node.</p>
1324    
1325      <p>The
1326      <dfn id=setAttributeDefinitionNode-node class=dom-param><var>node</var></dfn>
1327      parameter is the node to associate.</p>
1328    
1329      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1330      to <a href="#algorithm-attach-node">attach a node</a>, where
1331      <a href="#attach-node-n"><var>n</var></a> is the
1332      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
1333      node, <a href="#attach-node-l"><var>l</var></a> is the
1334      <a href="#attributeDefinitions"><code>attributeDefinitions</code></a>
1335      attribute value of the
1336      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node,
1337      <a href="#attach-node-node"><var>node</var></a> is the
1338      <a href="#setAttributeDefinitionNode-node"><var>node</var></a>, and
1339      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1340      <a href="#ownerElementTypeDefinition"><code>ownerElementTypeDefinition</code></a>
1341      attribute.</p></dd>
1342  </dl>  </dl>
1343    
1344  <div class=ed>  <div class=ed>
# Line 1198  that attribute.</p> Line 1372  that attribute.</p>
1372  node cannot be a child of any node.  An  node cannot be a child of any node.  An
1373  <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node  <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node
1374  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
1375  <code>Attr</code> nodes <span class=ed>[DOM3]</span>.</p>  <code>Attr</code> nodes
1376    <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p>
1377    
1378  <p>The <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>  <p>The <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
1379  interface <em class=rfc2119>MUST</em> be implemented as following:</p>  interface <em class=rfc2119>MUST</em> be implemented as the following
1380    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
1381  <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> {
1382    <span class=comment>// <a href="#DeclaredValueType">DeclaredValueType</a></span>    <span class=comment>// <a href="#DeclaredValueType">DeclaredValueType</a></span>
1383    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 1420  read$B!>(Bonly</dt>
1420    <p>On getting, the attribute <em class=rfc2119>MUST</em> return an    <p>On getting, the attribute <em class=rfc2119>MUST</em> return an
1421    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.
1422    It <em class=rfc2119>MUST</em> be such a node that whose    It <em class=rfc2119>MUST</em> be such a node that whose
1423    <a href="#attributeDefinitons"><code>attributeDefinitions</code></a>    <a href="#attributeDefinitions"><code>attributeDefinitions</code></a>
1424    attribute contains the <code>NamedNodeMap</code> object that contains    attribute contains the <code>NamedNodeMap</code> object that contains
1425    the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>    the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
1426    node.  If there is no such an    node.  If there is no such an
# Line 1252  read$B!>(Bonly</dt> Line 1428  read$B!>(Bonly</dt>
1428    then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p>    then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p>
1429  <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
1430  <code>unsigned short</code></dt>  <code>unsigned short</code></dt>
1431    <dd><p>The declared type <span class=ed>@@ ref</span> of the attribute.    <dd><p>The declared type
1432    It is expected that this attribute contains a value from the definition group    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1433      <a href="#ref-XML11">XML11</a>]</cite> of the attribute.  It is expected that
1434      this attribute contains a value from the definition group
1435    <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>.</p>    <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>.</p>
1436    
1437    <p>On getting, the attribute <em class=rfc2119>MUST</em> return the    <p>On getting, the attribute <em class=rfc2119>MUST</em> return the
1438    value associated to this attribute.</p>    value associated to this attribute.</p>
1439    
1440    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
1441    <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>    <code>NO_MODIFICATION_ALLOWED_ERR</code> if the
   exception if the  
1442    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node
1443    is read$B!>(Bonly <span class=ed>@@ ref</span>.  Otherwise, it    is <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it
1444    <em class=rfc2119>MUST</em> set the specified value as the value    <em class=rfc2119>MUST</em> set the specified value as the value
1445    associated to this attribute.</p>    associated to this attribute.</p>
1446    
# Line 1286  group contains the following constants:< Line 1463  group contains the following constants:<
1463  <tbody>  <tbody>
1464  <tr>  <tr>
1465  <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>
1466  <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
1467    value</a>
1468    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>.</tr>
1469  <tr>  <tr>
1470  <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>
1471  <td><code>1</code><td><code>CDATA</code> <span class=ed>[XML]</span>.</tr>  <td><code>1</code><td><code>CDATA</code>
1472    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1473    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1474  <tr>  <tr>
1475  <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>
1476  <td><code>2</code><td><code>ID</code> <span class=ed>[XML]</span>.</tr>  <td><code>2</code><td><code>ID</code>
1477    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1478    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1479  <tr>  <tr>
1480  <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>
1481  <td><code>3</code><td><code>IDREF</code> <span class=ed>[XML]</span>.</tr>  <td><code>3</code><td><code>IDREF</code>
1482    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1483    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1484  <tr>  <tr>
1485  <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>
1486  <td><code>4</code><td><code>IDREFS</code> <span class=ed>[XML]</span>.</tr>  <td><code>4</code><td><code>IDREFS</code>
1487    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1488    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1489  <tr>  <tr>
1490  <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>
1491  <td><code>5</code><td><code>ENTITY</code> <span class=ed>[XML]</span>.</tr>  <td><code>5</code><td><code>ENTITY</code>
1492    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1493    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1494  <tr>  <tr>
1495  <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>
1496  <td><code>6</code><td><code>ENTITIES</code> <span class=ed>[XML]</span>.</tr>  <td><code>6</code><td><code>ENTITIES</code>
1497    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1498    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1499  <tr>  <tr>
1500  <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>
1501  <td><code>7</code><td><code>NMTOKEN</code> <span class=ed>[XML]</span>.</tr>  <td><code>7</code><td><code>NMTOKEN</code>
1502    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1503    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1504  <tr>  <tr>
1505  <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>
1506  <td><code>8</code><td><code>NMTOKENS</code> <span class=ed>[XML]</span>.</tr>  <td><code>8</code><td><code>NMTOKENS</code>
1507    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1508    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1509  <tr>  <tr>
1510  <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>
1511  <td><code>9</code><td><code>NOTATION</code> <span class=ed>[XML]</span>.</tr>  <td><code>9</code><td><code>NOTATION</code>
1512    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1513    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1514  <tr>  <tr>
1515  <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>
1516  <td><code>10</code><td>Enumeration <span class=ed>[XML]</span>.</tr>  <td><code>10</code><td>Enumeration
1517    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1518    <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1519  <tr>  <tr>
1520  <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>
1521  <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>,
1522  has been read but the [all declaration processed] property  because no declaration for the attribute has been read but the
1523  <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>
1524    property
1525    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>
1526    would be false.</tr>
1527  </tbody>  </tbody>
1528  </table>  </table>
1529    
1530  <p>If no attribute type information is available, or if the source  <p>If no attribute type information is available, or if the source
1531  of the information does not distinguish <q>no value</q> and <q>unknown</q>  of the information does not distinguish
1532  <span class=ed>[INFOSET]</span>, then the value  <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">no
1533    value</a> and
1534    <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">unknown</a>
1535    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>,
1536    then the value
1537  <a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>  <a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>
1538  <em class=rfc2119>MUST</em> be used.</p>  <em class=rfc2119>MUST</em> be used.</p>
1539    
# Line 1339  method has its <a href="#declaredType">< Line 1545  method has its <a href="#declaredType"><
1545  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>
1546  </div>  </div>
1547    
1548  <p>If the source of the information does not distinguish <q>no value</q>  <p>If the source of the information does not distinguish
1549  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
1550  <code>CDATA</code> <span class=ed>[XML]</span>, then the value  value</a> and/or
1551    <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">unknown</a>
1552    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite> and
1553    <code>CDATA</code>
1554    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1555    <a href="#ref-XML11">XML11</a>]</cite>, then the value
1556  <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>
1557  be used.</p>  be used.</p>
1558    
1559  <p>In Perl binding <span class=ed>[PERLBINDING]</span>, the  <p>In Perl binding
1560    <cite class="bibref normative">[<a href="#ref-DOMPERL">DOMPERL</a>]</cite>, the
1561  <code>Attr</code> nodes <em class=rfc2119>MUST</em> implement the  <code>Attr</code> nodes <em class=rfc2119>MUST</em> implement the
1562  <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>  <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>
1563  definition group.</p>  definition group.</p>
# Line 1360  type <code>DOMStringList</code>, read$B Line 1572  type <code>DOMStringList</code>, read$B
1572    <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
1573    zero or more characters respectively, possibly with duplications.  The    zero or more characters respectively, possibly with duplications.  The
1574    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
1575    is read$B!>(Bonly.</p>    is <a href="#read-only">read$B!>(Bonly</a>.</p>
1576    
1577    <p>If the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>    <p>If the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
1578    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 1604  type <code>unsigned short</code></dt>
1604    the value associated to this attribute.</p>    the value associated to this attribute.</p>
1605    
1606    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
1607    <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>    <code>NO_MODIFICATION_ALLOWED_ERR</code> if the
   exception if the  
1608    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node
1609    is read$B!>(Bonly <span class=ed>@@ ref</span>.  Otherwise, it    is <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it
1610    <em class=rfc2119>MUST</em> set the specified value as the value    <em class=rfc2119>MUST</em> set the specified value as the value
1611    associated to this attribute.</p>    associated to this attribute.</p>
1612    
# Line 1410  type <code>unsigned short</code></dt> Line 1621  type <code>unsigned short</code></dt>
1621    <p>The definition group    <p>The definition group
1622    <dfn id=DefaultValueType><code>DefaultValueType</code></dfn>    <dfn id=DefaultValueType><code>DefaultValueType</code></dfn>
1623    contains integers indicating the type of the default for the attribute.    contains integers indicating the type of the default for the attribute.
1624    The definition group contains the following constans:</p>    The definition group contains the following constants:</p>
1625    
1626    <table>    <table>
1627    <thead>    <thead>
# Line 1422  type <code>unsigned short</code></dt> Line 1633  type <code>unsigned short</code></dt>
1633    <td><code>0</code><td>Unknown.</tr>    <td><code>0</code><td>Unknown.</tr>
1634    <tr>    <tr>
1635    <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>
1636    <td><code>1</code><td>Provided explicitly and fixed    <td><code>1</code><td>Provided explicitly and only the value is allowed.
1637    <span class=ed>@@ ref</span> to that value.</tr>    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1638      <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1639    <tr>    <tr>
1640    <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>
1641    <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
1642    explicitly specified.</tr>    explicitly specified.</tr>
1643    <tr>    <tr>
1644    <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>
1645    <td><code>3</code><td>Implied <span class=ed>@@ ref</span>.</tr>    <td><code>3</code><td>Implied
1646      <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
1647      <a href="#ref-XML11">XML11</a>]</cite>.</tr>
1648    <tr>    <tr>
1649    <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>
1650    <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 1672  type <code>unsigned short</code></dt>
1672  <h3>Modifications to the <code id=Entity>Entity</code> Interface</h3>  <h3>Modifications to the <code id=Entity>Entity</code> Interface</h3>
1673    
1674  <p>The implementation of the <a href="#Entity"><code>Entity</code></a>  <p>The implementation of the <a href="#Entity"><code>Entity</code></a>
1675  interface <em class=rfc2119>MUST</em> be modified as following:</p>  interface <em class=rfc2119>MUST</em> be modified as the following
1676    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
1677  <pre class=idl><code>// Modifications to the Entity interface  <pre class=idl><code>// Modifications to the Entity interface
1678    attribute DOMString <a href="#publicId">publicId</a>;    attribute DOMString <a href="#publicId">publicId</a>;
1679    attribute DOMString <a href="#systemId">systemId</a>;    attribute DOMString <a href="#systemId">systemId</a>;
# Line 1476  interface <em class=rfc2119>MUST</em> be Line 1691  interface <em class=rfc2119>MUST</em> be
1691  read$B!>(Bonly.</p>  read$B!>(Bonly.</p>
1692    
1693  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a  <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
1694  <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>  <code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is
1695  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>
1696  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
1697  associated to the attribute.  No lexical validation is performed.  The new  validation is performed.  The new value <em class=rfc2119>MAY</em> be
1698  value <em class=rfc2119>MAY</em> be <code>null</code>.</p>  <code>null</code>.</p>
1699    
1700  <dl>  <dl>
1701  <dt><dfn id=hasReplacementTree class=dom-attr><code>hasReplacementTree</code></dfn>  <dt><dfn id=hasReplacementTree class=dom-attr><code>hasReplacementTree</code></dfn>
1702  of type boolean</dt>  of type <code>boolean</code></dt>
1703    <dd><p>Whether the structure of the replacement text of the entity    <dd><p>Whether the structure of the replacement text of the entity
1704    is available via the <code>NodeList</code> object in the    is available via the <code>NodeList</code> object in the
1705    <code>childNodes</code> attribute of the entity.</p>    <code>childNodes</code> attribute of the entity.</p>
# Line 1493  of type boolean</dt> Line 1708  of type boolean</dt>
1708    the value associated to this attribute.</p>    the value associated to this attribute.</p>
1709    
1710    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
1711    <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>    <code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is
1712    exception if the node is read$B!>(Bonly <span class=ed>@@ ref</span>.      <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it
1713    Otherwise, it <em class=rfc2119>MUST</em> set the specified value as the    <em class=rfc2119>MUST</em> set the specified value as the
1714    value associated to this attribute.</p>    value associated to this attribute.</p>
1715    
1716    <div class="note memo">    <div class="note memo">
# Line 1528  of type boolean</dt> Line 1743  of type boolean</dt>
1743    attribute set to <code>false</code>.</p>    attribute set to <code>false</code>.</p>
1744    </div></dd>    </div></dd>
1745  <dt><dfn id=isExternallyDeclared class=dom-attr><code>isExternallyDeclared</code></dfn>  <dt><dfn id=isExternallyDeclared class=dom-attr><code>isExternallyDeclared</code></dfn>
1746  of type boolean</dt>  of type <code>boolean</code></dt>
1747    <dd><p>Whether the entity is declared by an external entity declaration or    <dd><p>Whether the entity is declared by an external entity declaration or
1748    not.  If the value is <code>true</code>, the entity is declared in an entity    not.  If the value is <code>true</code>, the entity is declared in an entity
1749    declaration in the external subset entity or in an external parameter entity.    declaration in the external subset entity or in an external parameter entity.
# Line 1539  of type boolean</dt> Line 1754  of type boolean</dt>
1754    the value associated to this attribute.</p>    the value associated to this attribute.</p>
1755    
1756    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
1757    <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>    <code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is
1758    exception if the node is read$B!>(Bonly <span class=ed>@@ ref</span>.      <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it
1759    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
1760    value associated to this attribute.</p>    to this attribute.</p>
1761    
1762    <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
1763    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 1773  of type boolean</dt>
1773  <h3>Modifications to the <code id=Notation>Notation</code> Interface</h3>  <h3>Modifications to the <code id=Notation>Notation</code> Interface</h3>
1774    
1775  <p>The implementation of the <a href="#Notation"><code>Notation</code></a>  <p>The implementation of the <a href="#Notation"><code>Notation</code></a>
1776  interface <em class=rfc2119>MUST</em> be modified as following:</p>  interface <em class=rfc2119>MUST</em> be modified as the following
1777    <a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p>
1778  <pre class=idl><code>// Modifications to the Notation interface  <pre class=idl><code>// Modifications to the Notation interface
1779    attribute DOMString <a href="#publicId">publicId</a>;    attribute DOMString <a href="#publicId">publicId</a>;
1780    attribute DOMString <a href="#systemId">systemId</a>;    attribute DOMString <a href="#systemId">systemId</a>;
# Line 1578  interface <em class=rfc2119>MUST</em> be Line 1794  interface <em class=rfc2119>MUST</em> be
1794    
1795  <dl>  <dl>
1796  <dt id=ref-DOM3CORE>DOM3CORE</dt>  <dt id=ref-DOM3CORE>DOM3CORE</dt>
1797    <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
1798  <dt id=ref-DOMDTDEF>DOMDTDEF</dt>    Object Model (<abbr>DOM</abbr>) Level 3 Core Specification, Version
1799    <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
1800      April 2004</time>.  <em>This</em> version of the specification is referenced.
1801      The latest version of the specification is available at
1802      <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>
1803    <dt id=ref-DOMBIND>DOMBIND</dt>
1804      <dd><cite><a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/">Language
1805      Bindings for <abbr>DOM</abbr> Specifications</a></cite>, <abbr>W3C</abbr>
1806      Working Draft, <time datetime=2007-10-17>17 October 2007</time>.  
1807      <em>This</em> version of the specification is referenced.  The latest version
1808      of the specification is available at
1809      <code class=uri>&lt;<a href="http://www.w3.org/TR/DOM-Bindings/">http://www.w3.org/TR/DOM-Bindings/</a>></code>.</dd>
1810    <dt id=ref-DOMPERL>DOMPERL</dt>
1811      <dd><cite><a href="http://suika.fam.cx/gate/2005/sw/manakai/DOM%20Perl%20Binding">manakai's
1812      <abbr>DOM</abbr> Perl Binding</a></cite>, editor's draft.  Work in
1813      progress.</dd>
1814    <dt id=ref-HTML5>HTML5</dt>
1815      <dd><cite><a href="http://whatwg.org/html5"><abbr>HTML</abbr> 5</a></cite>,
1816      <abbr title="Web Hypertext Application Technology Working Group">WHATWG</abbr>
1817      Working Draft.  Work in progress.</dd>
1818    <dt id=ref-INFOSET>INFOSET</dt>
1819      <dd><cite><a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204"><abbr>XML</abbr>
1820      Information Set (Second Edition)</a></cite>, <abbr>W3C</abbr> Recommendation,
1821      <time datetime=2004-02-04>4 February 2004</time>.  <em>This</em> version of
1822      the specification is referenced.  The latest version of the specification is
1823      available at
1824      <code class=uri>&lt;<a href="http://www.w3.org/TR/xml-infoset">http://www.w3.org/TR/xml-infoset</a>></code>.</dd>
1825  <dt id="ref-KEYWORDS">KEYWORDS</dt>  <dt id="ref-KEYWORDS">KEYWORDS</dt>
1826    <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
1827    <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 1830  interface <em class=rfc2119>MUST</em> be
1830    14</a>, <abbr title="Request for Comments">RFC</abbr> 2119,    14</a>, <abbr title="Request for Comments">RFC</abbr> 2119,
1831    <time datetime=1997-03>March 1997</time>.    <time datetime=1997-03>March 1997</time>.
1832    <em>This</em> version of the specification is referenced.</dd>    <em>This</em> version of the specification is referenced.</dd>
1833  <dt id=ref-INFOSET>INFOSET</dt>  <dt id=ref-MANAKAI>MANAKAI</dt>
1834    <dd class=ed>@@</dd>    <dd><cite><a href="http://suika.fam.cx/gate/2005/sw/manakai/DOM%20Extensions">
1835  <dt id=ref-XML10">XML10</dt>    manakai's <abbr>DOM</abbr> Extensions</a></cite>, editor's draft.  Work in
1836      progress.</dd>
1837    <dt id=ref-XML10>XML10</dt>
1838    <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
1839    Markup Language (<abbr>XML</abbr>) 1.0 (Fourth Edition)</a></cite>,    Markup Language (<abbr>XML</abbr>) 1.0 (Fourth Edition)</a></cite>,
1840    <abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August    <abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August
1841    2006</time>, edited in place <time datetime=2006-09-29>29 September    2006</time>, edited in place <time datetime=2006-09-29>29 September
1842    2006</time>.  Tje latest version of the specification is available at    2006</time>.  <em>This</em> version of the specification is referenced.  The
1843    <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
1844    <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>
1845  <dt id=ref-XML11>XML11</dt>  <dt id=ref-XML11>XML11</dt>
1846    <dd class=ed>@@</dd>    <dd><cite><a href="http://www.w3.org/TR/2006/REC-xml11-20060816/">Extensible
1847      Markup Language (<abbr>XML</abbr>) 1.1 (Second Edition)</a></cite>,
1848      <abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August
1849      2006</time>, edited in place <time datetime=2006-09-29>29 September
1850      2006</time>.  <em>This</em> version of the specification is referenced.  The
1851      latest version of the specification is available at
1852      <code class=uri>&lt;<a href="http://www.w3.org/TR/xml11">http://www.w3.org/TR/xml11</a>></code>.</dd>
1853  </dl>  </dl>
1854  </div>  </div>
1855    
1856  <div id="informative-references" class="section informative reference">  <div id="informative-references" class="section informative reference">
1857  <h3>Non$B!>(Bnormative References</h3>  <h3>Non$B!>(Bnormative References</h3>
1858    
1859  <dl class=ed>  <dl>
1860  <dt id=ref-CSS>CSS</dt>  <dt id=ref-DOM1WD>DOM1WD</dt>
1861    <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
1862    Style Sheets Level 2 Revision 1 (<abbr>CSS</abbr> 2.1)    Model Specification</a></cite>, <abbr>W3C</abbr> Working Draft,
1863    Specification</a></cite>,    <time datetime=1997-12-09>9 December 1997</time>.</dd>
1864    <abbr title="World Wide Web Consortium">W3C</abbr> Candidate    <dd><cite><a href="http://www.w3.org/TR/WD-DOM-19980318/">Document Object
1865    Recommendation, <time datetime=2007-07-19>19 July 2007</time>.    Model Specification</a></cite>, <abbr>W3C</abbr> Working Draft,
1866    Work in progress.  The latest version of the specification is    <time datetime=1998-03-18>18 March 1998</time>.</dd>
1867    available at    <dd><cite><a href="http://www.w3.org/TR/1998/WD-DOM-19980416/">Document
1868    <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
1869  <dt id=ref-CSSOM>CSSOM</dt>    Draft, <time datetime=1998-04-16>16 April 1998</time>.</dd>
1870    <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>
1871    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
1872    <abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft,    Object Model (<abbr>DOM</abbr>) Level 3 Abstract Schemas Specification,
1873    <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
1874    The latest Editor's Draft of the specification is available at    July 2002</time>.  The latest version of the specification is available at
1875    <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>
1876  <dt id=ref-HTML5>HTML5</dt>  <dt id=ref-XSAPI>XSAPI</dt>
1877    <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>
1878    <abbr title="Web Hypertext Application Technology Working Group">WHATWG</abbr>    Schema <abbr>API</abbr></a></cite>, <abbr>W3C</abbr> Member Submission,
1879    Working Draft.  Work in progress.</dd>    <time datetime=2004-03-09>9 March 2004</time>.  The latest version of the
1880  <dt id=ref-SAPI>SAPI</dt>    specification is available at
1881    <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>  
1882  </dl>  </dl>
1883  </div>  </div>
1884    

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24