/[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.10 by wakaba, Mon Dec 3 09:51:56 2007 UTC revision 1.16 by wakaba, Tue Dec 4 10:44:09 2007 UTC
# Line 125  raised is undefined.</p> Line 125  raised is undefined.</p>
125  interface.</p>  interface.</p>
126    
127  <p class=ed>@@ ref to DOM Binding Spec</p>  <p class=ed>@@ ref to DOM Binding Spec</p>
128    
129    <p>If the <code>strictErrorChecking</code> attribute of the
130    <code>Document</code> node is <code>false</code>, the methods are
131    not required to raise exceptions <span class=ed>[DOM3]</span>.</p>
132  </div>  </div>
133    
134  <div class=section id=dom-dtdef>  <div class=section id=dom-dtdef>
# Line 139  consists of three interfaces:</p> Line 143  consists of three interfaces:</p>
143  <li><a href="#AttributeDefinition"><code>AttributeDefinition</code></a></li>  <li><a href="#AttributeDefinition"><code>AttributeDefinition</code></a></li>
144  </ul>  </ul>
145    
146  <p>In addition, it adds methods, attributes, and/or constants to interfaces  <p>In addition, it modifies interfaces
147  <a href="#Node"><code>Node</code></a>,  <a href="#Node"><code>Node</code></a>,
148    <a href="#DocumentType"><code>DocumentType</code></a>,
149  <a href="#Entity"><code>Entity</code></a>,  <a href="#Entity"><code>Entity</code></a>,
150  <a href="#EntityReference"><code>EntityReference</code></a>, and  <a href="#EntityReference"><code>EntityReference</code></a>,
151  <a href="#Notation"><code>Notation</code></a>.  <a href="#Notation"><code>Notation</code></a>, and
152  It modifies semantics of some of methods and attributes in  <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a>.</p>
 <a href="#Node"><code>Node</code></a> and  
 <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a>  
 interfaces, for the support of new interfaces.</p>  
153    
154  <div class=section id=features>  <div class=section id=features>
155  <h3>Feature Name</h3>  <h3>Feature Name</h3>
# Line 172  feature names with or without version nu Line 174  feature names with or without version nu
174  aforementioned cases.</p>  aforementioned cases.</p>
175  </div>  </div>
176    
177    <div class=section id=section-node>
178    <h3>Modifications to the <code id=Node>Node</code> Interface</h3>
179    
180    <p>The implementation of the
181    <a href="#Node"><code>Node</code></a> interface
182    <em class=rfc2119>MUST</em> be modified as following:</p>
183    <pre class=idl><code>// Additions to the Node interface
184    
185    // Additions to the NodeType definition group
186    const unsigned short <a href="#ELEMENT_TYPE_DEFINITION_NODE">ELEMENT_TYPE_DEFINITION_NODE</a> = 81001;
187    const unsigned short <a href="#ATTRIBUTE_DEFINITION_NODE">ATTRIBUTE_DEFINITION_NODE</a> = 81002;
188    </pre>
189    
190    <p>This specification adds two new types (subinterfaces) of
191    <a href="#Node"><code>Node</code></a>: element type definition (node type
192    <a href="#ELEMENT_TYPE_DEFINITION_NODE"><code>ELEMENT_TYPE_DEFINITION_NODE</code></a>,
193    interface
194    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>) and
195    attribute definition (node type
196    <a href="#ATTRIBUTE_DEFINITION_NODE"><code>ATTRIBUTE_DEFINITION_NODE</code></a>,
197    interface
198    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>).  For
199    these kinds of nodes, methods and attributes in the
200    <a href="#Node"><code>Node</code></a> interface must behave as following:</p>
201    
202    <dl>
203    <dt><code id=attributes>attributes</code></dt>
204      <dd>
205        <p>On getting, the attribute <em class=rfc2119>MUST</em> return
206        <code>null</code>.</p>
207      </dd>
208    <dt><code id=baseURI>baseURI</code></dt>
209      <dd>
210        <p>On getting, the attribute <em class=rfc2119>MUST</em> return the
211        value of the <a href="#baseURI"><code>baseURI</code></a> attribute
212        of the node in the <code>ownerDocument</code> attribute of the node.
213        Note that the value might be <code>null</code>.</p>
214      </dd>
215    <dt><code id=nodeName>nodeName</code></dt>
216      <dd>
217        <p>If the node is an
218        <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>:
219        On getting, the attribute <em class=rfc2119>MUST</em> return the
220        name of the element type definition represented by the node.</p>
221    
222        <p>If the node is an
223        <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>:
224        On getting, the attribute <em class=rfc2119>MUST</em> return the
225        name of the attribute definition represented by the node.</p>
226      </dd>
227    <dt><code id=nodeType>nodeType</code></dt>
228      <dd>
229        <p>On getting, the attribute <em class=rfc2119>MUST</em> return
230        <a href="#ELEMENT_TYPE_DEFINITION_NODE"><code>ELEMENT_TYPE_DEFINITION_NODE</code></a>
231        (if the node is an
232        <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>) or
233        <a href="#ATTRIBUTE_DEFINITION_NODE"><code>ATTRIBUTE_DEFINITION_NODE</code></a>
234        (if the node is an
235        <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>).</p>
236    
237        <!-- NodeType -->
238    <p>Two constants are added to the <code id=NodeType>NodeType</code>
239    definition group of the <a href="#Node"><code>Node</code></a> interface as
240    following:</p>
241    <table>
242    <thead>
243    <tr><th scope=col>Name<th scope=col>Value<th scope=col>Description</tr>
244    </thead>
245    <tbody>
246    <tr>
247    <th scope=row><dfn id=ELEMENT_TYPE_DEFINITION_NODE class=dom-const><code>ELEMENT_TYPE_DEFINITION_NODE</code></dfn>
248    <td><code>81001</code><td>The node is an
249    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>.</tr>
250    <tr>
251    <th scope=row><dfn id=ATTRIBUTE_DEFINITION_NODE class=dom-const><code>ATTRIBUTE_DEFINITION_NODE</code></dfn>
252    <td><code>81002</code><td>The node is an
253    <a href="#ElementTypeDefinition"><code>AttributeDefinition</code></a>.</tr>
254    </tbody>
255    </table>
256      </dd>
257    <dt><code id=nodeValue>nodeValue</code> and
258    <code id=textContent>textContent</code></dt>
259      <dd>
260        <p>If the node is an
261        <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>:
262        On getting, the attributes <em class=rfc2119>MUST</em> return the
263        name of the element type.</p>
264    
265        <div class="note memo">
266          <p>Thus, on setting the attributes does nothing
267          <span class=ed>[DOM3]</span>.</p>
268        </div>
269    
270        <p>On setting, the <a href="#textContent"><code>textContent</code></a>
271        attribute <em class=rfc2119>MUST NOT</em> raise a
272        <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>.
273        <span class=ed>@@ I forgot why this requirement is necessary.</span></p>
274    
275        <p>If the node is an
276        <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>:</p>
277    
278        <pre class=ed>
279    The getter of the [CODE(DOMa)@en[[[nodeValue]]]] attribute
280    of an [CODE(DOMi)@en[[[AttributeDefinition]]]] object
281    [['''MUST''']] return the normalized default value
282    of the attribute.
283    
284    @@
285    
286    [4] The getter of the [CODE(DOMa)@en[[[textContent]]]]
287    attribute of an [CODE(DOMi)@en[[[AttributeDefinition]]]]
288    object [['''MUST''']] behave as if it were an
289    [CODE(DOMi)@en[[[Attr]]]] object.
290    
291    The setter of the [CODE(DOMa)@en[[[textContent]]]] attribute
292    of an [CODE(DOMi)@en[[[AttributeDefinition]]]] object
293    [['''MUST''']] behave as if the following algorithm
294    is performed:
295    = If the [CODE(DOMi)@en[[[AttributeDefinition]]]]
296    object is read-only, then throw an
297    [CODE(DOMc)@en[[[NO_MODIFICATION_ALLOWED_ERR]]]].
298    = Remove any child node the node has.
299    = If the new value is not empty and not [CODE(IDL)@en[[[null]]]],
300    then create a [CODE(DOMi)@en[[[Text]]]] node
301    whose [CODE(DOMa)@en[[[data]]]] is the new value
302    and append it to the [CODE(DOMi)@en[[[AttributeDefinition]]]].
303    </pre>
304      </dd>
305    <dt class=ed>@@ ...</dt>
306    </dl>
307    
308    </div>
309    
310  <div class=section id=section-documentxdoctype>  <div class=section id=section-documentxdoctype>
311  <h3>The <code>DocumentXDoctype</code> Interface</h3>  <h3>The <code>DocumentXDoctype</code> Interface</h3>
312    
313    <p>The <a href="#DocumentXDoctype"><code>DocumentXDoctype</code></a> interface
314    <em class=rfc2119>MUST</em> be implemented as following:</p>
315  <pre class=idl><code>interface <dfn id=DocumentXDoctype><code>DocumentXDoctype</code></dfn> {  <pre class=idl><code>interface <dfn id=DocumentXDoctype><code>DocumentXDoctype</code></dfn> {
316    DocumentType <a href="#createDocumentTypeDefinition">createDocumentTypeDefinition</a>    DocumentType <a href="#createDocumentTypeDefinition">createDocumentTypeDefinition</a>
317      (in DOMString <a href="#createDocumentTypeDefinition-name"><var>name</var></a>)      (in DOMString <a href="#createDocumentTypeDefinition-name"><var>name</var></a>)
318      raises (DOMException);      raises (DOMException);
319    ElementTypeDefinition <a href="#createElementTypeDefinition">createElementTypeDefinition</a>    <a href="#ElementTypeDefinition">ElementTypeDefinition</a> <a href="#createElementTypeDefinition">createElementTypeDefinition</a>
320      (in DOMString <a href="#createElementTypeDefinition-name"><var>name</var></a>)      (in DOMString <a href="#createElementTypeDefinition-name"><var>name</var></a>)
321      raises (DOMException);      raises (DOMException);
322    AttributeDefinition <a href="#createAttributeDefinition">createAttributeDefinition</a>    <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#createAttributeDefinition">createAttributeDefinition</a>
323      (in DOMString <a href="#createAttributeDefinition-name"><var>name</var></a>)      (in DOMString <a href="#createAttributeDefinition-name"><var>name</var></a>)
324      raises (DOMException);      raises (DOMException);
325    Entity <a href="#createGeneralEntity">createGeneralEntityDefinition</a>    <a href="#Entity">Entity</a> <a href="#createGeneralEntity">createGeneralEntityDefinition</a>
326      (in DOMString <a href="#createGeneralEntity-name"><var>name</var></a>)      (in DOMString <a href="#createGeneralEntity-name"><var>name</var></a>)
327      raises (DOMException);      raises (DOMException);
328    Notation <a href="#createNotation">createNotation</a>    <a href="#Notation">Notation</a> <a href="#createNotation">createNotation</a>
329      (in DOMString <a href="#createNotation-name"><var>name</var></a>)      (in DOMString <a href="#createNotation-name"><var>name</var></a>)
330      raises (DOMException);      raises (DOMException);
331  }</code></pre>  }</code></pre>
# Line 399  since <abbr>DOM3</abbr> specification <s Line 536  since <abbr>DOM3</abbr> specification <s
536  define it for <code>Document</code> methods.</p>  define it for <code>Document</code> methods.</p>
537    
538  <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>
539    </div>
540    
 <p>If the <code>strictErrorChecking</code> attribute of the  
 <code>Document</code> node is <code>false</code>, the methods are  
 not required to raise the exception <span class=ed>[DOM3]</span>.</p>  
541  </div>  </div>
542    
543    
544    <div class=section id=section-documenttype>
545    <h3>Modifications to the <code id=DocumentType>DocumentType</code>
546    Interface</h3>
547    
548    <p>A <a href="#DocumentType"><code>DocumentType</code></a> interface
549    <em class=rfc2119>MAY</em> contain zero or more
550    <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a>
551    nodes in the <code>NodeList</code> object contained in the
552    <code>childNodes</code> attribute of the
553    <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
554    
555    <p>If the <a href="#DocumentType"><code>DocumentType</code></a> node is created
556    during the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr>
557    document, the <code>NodeList</code> object in the <code>childNodes</code>
558    object <em class=rfc2119>MUST</em> contains the
559    <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a>
560    nodes representing the processing instructions in the document type
561    definition of the document processed <span class=ed>@@ ref</span> by
562    the <abbr>XML</abbr> processor.  If the
563    <a href="#DocumentType"><code>DocumentType</code></a> node is marked
564    as read$B!>(Bonly, then all the child nodes <em class=rfc2119>MUST</em>
565    also be marked as read$B!>(Bonly.</p>
566    
567    <p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is created
568    from a document type declaration information item <span class=ed>@@ ref</span>,
569    the <code>NodeList</code> object in the <code>childNodes</code> attribute
570    of the node <em class=rfc2119>MUST</em> contain the
571    <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes
572    created from the processing instruction information items in the list in the
573    [children] property of the document type declaration item in the same
574    order.</p>
575    
576    <p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is mapped to
577    a document type declaration information item, the list in the [children]
578    property <em class=rfc2119>MUST</em> contain the processng instruction
579    information items created from the
580    <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes
581    in the <code>NodeList</code> object in the <code>childNodes</code> attribute
582    of the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
583    
584    <p>The implementation of the
585    <a href="#DocumentType"><code>DocumentType</code></a> interface
586    <em class=rfc2119>MUST</em> be modified as following:</p>
587    <pre class=idl><code>// Modifications to the DocumentType interface
588      attribute DOMString <a href="#publicId">publicId</a>;
589      attribute DOMString <a href="#systemId">systemId</a>;
590    
591      attribute DOMString <a href="#internalSubset">internalSubset</a>;
592    </code></pre>
593    
594    <p>The <code id=publicId>publicId</code> attribute and the
595    <code id=systemId>systemId</code> attribute of
596    <a href="#DocumentType"><code>DocumentType</code></a>,
597    <a href="#Entity"><code>Entity</code></a>, and
598    <a href="#Notation"><code>Notation</code></a> interfaces are no longer
599    read$B!>(Bonly.</p>
600    
601    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
602    <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>
603    exception if the node is read$B!>(Bonly <span class=ed>@@ ref</span>.  
604    Otherwise, it <em class=rfc2119>MUST</em> set the specified value as the value
605    associated to the attribute.  No normalization, relative reference resolution,
606    or lexical validation is performed. <span class=ed>@@ If the new
607    value is <code>null</code>, ...</span></p>
608    
609    <div class="note memo">
610    <p>Setting an invalid identifier might make the node unserializable.
611    Setting a public identifier while leaveing system identifier unspecified
612    would also make the <a href="#DocumentType"><code>DocumentType</code></a>
613    or <a href="#Entity"><code>Entity</code></a> node unserializable.</p>
614    </div>
615    
616    <div class=ed>
617    <p>ISSUE: In HTML5, Firefox 1.5, and Opera 9, not specifying public or system identifier results in empty strings.</p>
618    </div>
619    
620    <p>The <code id=internalSubset>internalSubset</code> attribute of the
621    <a href="#DocumentType"><code>DocumentType</code></a> interface is no longer
622    read$B!>(Bonly.</p>
623    
624    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
625    <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>
626    exception if the node is read$B!>(Bonly <span class=ed>@@ ref</span>.  
627    Otherwise, it <em class=rfc2119>MUST</em> set the specified value as the value
628    associated to the attribute.  No normalization, or lexical validation is
629    performed. <span class=ed>@@ If the new value is <code>null</code>,
630    ...</span></p>
631    
632  </div>  </div>
633    
634  <div class=section id=section-documenttypedefinition>  <div class=section id=section-documenttypedefinition>
635  <h3>The <code>DocumentTypeDefinition</code> Interface</h3>  <h3>The <code>DocumentTypeDefinition</code> Interface</h3>
636    
637    <p>The
638    <a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a>
639    interface <em class=rfc2119>MUST</em> be implemented as following:</p>
640  <pre class=idl><code>interface <dfn id=DocumentTypeDefinition><code>DocumentTypeDefinition</code></dfn> {  <pre class=idl><code>interface <dfn id=DocumentTypeDefinition><code>DocumentTypeDefinition</code></dfn> {
641    readonly attribute NamedNodeMap <a href="#elementTypes">elementTypes</a>;    readonly attribute NamedNodeMap <a href="#elementTypes">elementTypes</a>;
642    readonly attribute NamedNodeMap <a href="#generalEntities">generalEntities</a>;    readonly attribute NamedNodeMap <a href="#generalEntities">generalEntities</a>;
643    readonly attribute NamedNodeMap <a href="#notations">notations</a>;    readonly attribute NamedNodeMap <a href="#notations">notations</a>;
644    
645    <span class=ed>more members come here...</span>    <a href="#ElementTypeDefinition">ElementTypeDefinition</a> <a href="#getElementTypeDefinitionNode">getElementTypeDefinitionNode</a>
646        (in DOMString <a href="#getElementTypeDefinitionNode-name"><var>name</var></a>);
647      <a href="#Entity">Entity</a> <a href="#getGeneralEntityNode">getGeneralEntityNode</a>
648        (in DOMString <a href="#getGeneralEntityNode-name"><var>name</var></a>);
649      <a href="#Notation">Notation</a> <a href="#getNotationNode">getNotationNode</a>
650        (in DOMString <a href="#getNotationNode-name"><var>name</var></a>);
651    
652      void <a href="#setElementTypeDefinitionNode">setElementTypeDefinitionNode</a>
653        (in DOMString <a href="#setElementTypeDefinitionNode-node"><var>node</var></a>)
654        raises (DOMException);
655      void <a href="#setGeneralEntityNode">setGeneralEntityNode</a>
656        (in DOMString <a href="#setGeneralEntityNode-node"><var>node</var></a>)
657        raises (DOMException);
658      void <a href="#setNotationNode">setNotationNode</a>
659        (in DOMString <a href="#setNotationNode-node"><var>node</var></a>)
660        raises (DOMException);
661  }</code></pre>  }</code></pre>
662    
663  <pre class=ed>  <pre class=ed>
# Line 542  reflected by that of the object. Line 784  reflected by that of the object.
784  <div class=section id=section-elementtypedefinition>  <div class=section id=section-elementtypedefinition>
785  <h3>The <code>ElementTypeDefinition</code> Interface</h3>  <h3>The <code>ElementTypeDefinition</code> Interface</h3>
786    
787    <p>The <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
788    interface <em class=rfc2119>MUST</em> be implemented as following:</p>
789  <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> {
790    readonly attribute <a href="#ownerDocumentTypeDefinition">ownerDocumentTypeDefinition</a>;    readonly attribute <a href="#ownerDocumentTypeDefinition">ownerDocumentTypeDefinition</a>;
791    
792    <span class=ed>@@ more</span>    <span class=ed>@@ more</span>
793  }</code></pre>  }</code></pre>
794    
795  <pre class=ed>** Modifications to [CODE(DOMi)@en[[[Node]]]] members  <pre class=ed>
   
 [3] The getter of the [CODE(DOMa)@en[[[attributes]]]] attribute  
 of an [CODE(DOMi)@en[[[ElementTypeDefinition]]]] object  
 [['''MUST''']] return [CODE(IDL)@en[[[null]]]].  
   
 [4] The getter of the [CODE(DOMa)@en[[[baseURI]]]] attribute  
 of an [CODE(DOMi)@en[[[ElementTypeDefinition]]]] object  
 [['''MUST''']] return the [CODE(DOMa)@en[[[baseURI]]]]  
 of the [CDOE(DOMa)@en[[[ownerDocument]]]] of the  
 [CODE(DOMi)@en[[[ElementTypeDefinition]]]] object.  
 Note that it might be [CODE(IDL)@en[[[null]]]].  
   
 [1] The getter of the [CODE(DOMa)@en[[[nodeName]]]] attribute  
 of an [CODE(DOMi)@en[[[ElementTypeDefinition]]]] object  
 [['''MUST''']] return the name of the element type.  
   
 [2] The getters of the [CODE(DOMa)@en[[[nodeValue]]]]  
 and [CODE(DOMa)@en[[[textContent]]]] attributes  
 of an [CODE(DOMi)@en[[[ElementTypeDefinition]]]]  
 object [['''MUST''']] return [CODE(IDL)@en[[[null]]]].  
   
 ;; Thus, the setter of these attributes do nothing.  
   
 The setter of the [CODE(DOMa)@en[[[textContent]]]]  
 attribute of an [CODE(DOMi)@en[[[ElementTypeDefinition]]]]  
 object [['''MUST NOT''']] throw a  
 [CODE(DOMc)@en[[[NO_MODIFICATION_ALLOWED_ERR]]]].  
   
 ** The [CODE(DOMi)@en[ElementTypeDefinition]] Interface  
   
 [5] The  
796  [DFN@en[[CODE(DOMa)@en[[[ownerDocumentTypeDefinition]]]] attribute]]  [DFN@en[[CODE(DOMa)@en[[[ownerDocumentTypeDefinition]]]] attribute]]
797  of the [CODE(DOMi)@en[[[ElementTypeDefinition]]]]  of the [CODE(DOMi)@en[[[ElementTypeDefinition]]]]
798  interface is defined in [[manakai//DOM Extensions]>>50].</pre>  interface is defined in [[manakai//DOM Extensions]>>50].</pre>
# Line 588  interface is defined in [[manakai//DOM E Line 801  interface is defined in [[manakai//DOM E
801  <div class=section id=section-attributedefinition>  <div class=section id=section-attributedefinition>
802  <h3>The <code>AttributeDefinition</code> Interface</h3>  <h3>The <code>AttributeDefinition</code> Interface</h3>
803    
804    <p>The <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
805    interface <em class=rfc2119>MUST</em> be implemented as following:</p>
806  <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> {
807    <span class=comment>// <a href="#DeclaredValueType">DeclaredValueType</a></span>    <span class=comment>// <a href="#DeclaredValueType">DeclaredValueType</a></span>
808    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 611  interface is defined in [[manakai//DOM E Line 826  interface is defined in [[manakai//DOM E
826    <span class=ed>...</span>    <span class=ed>...</span>
827  }</code></pre>  }</code></pre>
828    
829  <pre class=ed>** Modifications to [CODE(DOMi)@en[[[Node]]]] members  <dl>
830    <dt><dfn id=ownerElementTypeDefinition class=dom-attr><code>ownerElementTypeDefinition</code></dfn>
831  [3] The getter of the [CODE(DOMa)@en[[[attributes]]]] attribute  of type
832  of an [CODE(DOMi)@en[[[AttributeDefinition]]]] object  <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>,
833  [['''MUST''']] return [CODE(IDL)@en[[[null]]]].  read$B!>(Bonly</dt>
834      <dd><p>The
835  [9] The getter of the [CODE(DOMa)@en[[[baseURI]]]] attribute    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> to
836  of an [CODE(DOMi)@en[[[AttributeDefinition]]]] object    which the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
837  [['''MUST''']] return the [CODE(DOMa)@en[[[baseURI]]]]    node belongs.</p>
 of the [CDOE(DOMa)@en[[[ownerDocument]]]] of the  
 [CODE(DOMi)@en[[[AttributeDefinition]]]] object.  
 Note that it might be [CODE(IDL)@en[[[null]]]].  
   
 [1] The getter of the [CODE(DOMa)@en[[[nodeName]]]] attribute  
 of an [CODE(DOMi)@en[[[AttributeDefinition]]]] object  
 [['''MUST''']] return the name of the attribute.  
838    
839  [2] The getter of the [CODE(DOMa)@en[[[nodeValue]]]] attribute    <p>On getting, the attribute <em class=rfc2119>MUST</em> return an
840  of an [CODE(DOMi)@en[[[AttributeDefinition]]]] object    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.
841  [['''MUST''']] return the normalized default value    It <em class=rfc2119>MUST</em> be such a node that whose
842  of the attribute.    <a href="#attributeDefinitons"><code>attributeDefinitions</code></a>
843      attribute contains the <code>NamedNodeMap</code> object that contains
844      the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
845      node.  If there is no such an
846      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node,
847      then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p>
848    <dt><dfn id=declaredType class=dom-attr><code>declaredType</code></dfn> of type
849    <code>unsigned short</code></dt>
850      <dd><p>The declared type <span class=ed>@@ ref</span> of the attribute.
851      It is expected that this attribute contains a value from the definition group
852      <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>.</p>
853    
854  @@    <p>On getting, the attribute <em class=rfc2119>MUST</em> return the
855      value associated to this attribute.</p>
856    
857  [4] The getter of the [CODE(DOMa)@en[[[textContent]]]]    <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a
858  attribute of an [CODE(DOMi)@en[[[AttributeDefinition]]]]    <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>
859  object [['''MUST''']] behave as if it were an    exception if the
860  [CODE(DOMi)@en[[[Attr]]]] object.    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node
861      is read$B!>(Bonly <span class=ed>@@ ref</span>.  Otherwise, it
862      <em class=rfc2119>MUST</em> set the specified value as the value
863      associated to this attribute.</p>
864    
865  The setter of the [CODE(DOMa)@en[[[textContent]]]] attribute    <p>If the <code>AttributeDefinition</code> node is created during the process
866  of an [CODE(DOMi)@en[[[AttributeDefinition]]]] object    to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document, an
867  [['''MUST''']] behave as if the following algorithm    appropriate value from the
868  is performed:    <a href="#DeclaredValueType"><code>DeclaredValueType</code></a> constant
869  = If the [CODE(DOMi)@en[[[AttributeDefinition]]]]    group <em class=rfc2119>MUST</em> be set to the attribute.</p>
 object is read-only, then throw an  
 [CODE(DOMc)@en[[[NO_MODIFICATION_ALLOWED_ERR]]]].  
 = Remove any child node the node has.  
 = If the new value is not empty and not [CODE(IDL)@en[[[null]]]],  
 then create a [CODE(DOMi)@en[[[Text]]]] node  
 whose [CODE(DOMa)@en[[[data]]]] is the new value  
 and append it to the [CODE(DOMi)@en[[[AttributeDefinition]]]].  
 </pre>  
870    
871      <!-- DeclaredValueType -->
872  <p>The definition group  <p>The definition group
873  <dfn id=DeclaredValueType><code>DeclaredValueType</code></dfn> contains  <dfn id=DeclaredValueType><code>DeclaredValueType</code></dfn> contains
874  integers indicating the declared type of attributes.</p>  integers indicating the declared type of attributes.  The definition
875    group contains the following constants:</p>
876    
877  <table>  <table>
878  <thead>  <thead>
# Line 719  set to <a href="#NO_TYPE_ATTR"><code>NO_ Line 935  set to <a href="#NO_TYPE_ATTR"><code>NO_
935  </div>  </div>
936    
937  <p>If the source of the information does not distinguish <q>no value</q>  <p>If the source of the information does not distinguish <q>no value</q>
938  and/or <code>unknown</code> <span class=ed>[INFOSET]</span> and  and/or <q>unknown</q> <span class=ed>[INFOSET]</span> and
939  <code>CDATA</code> <span class=ed>[XML]</span>, then the value  <code>CDATA</code> <span class=ed>[XML]</span>, then the value
940  <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>
941  be used.</p>  be used.</p>
# Line 727  be used.</p> Line 943  be used.</p>
943  <p>In Perl binding <span class=ed>[PERLBINDING]</span>, the  <p>In Perl binding <span class=ed>[PERLBINDING]</span>, the
944  <code>Attr</code> nodes <em class=rfc2119>MUST</em> implement the  <code>Attr</code> nodes <em class=rfc2119>MUST</em> implement the
945  <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>  <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>
946  constant group.</p>  definition group.</p>
   
 <pre class=ed>  
 [7] The  
 [DFN@en[definition group [CODE(DOM)@en[[[DefaultValueType]]]]]]  
 contains integers indicating the type of  
 default attribute value:  
 ,[CODE(DOMc)@en[[[UNKNOWN_DEFAULT]]]],[CODE(IDL)[[[0]]]],The default value is unknown.  
 ,[CODE(DOMc)@en[[[FIXED_DEFAULT]]]],[CODE(IDL)[[[1]]]],The default value is provided and the attribute is [CODE(XML)@en[#[[FIXED]]]] to that value.  
 ,[CODE(DOMc)@en[[[REQUIRED_DEFAULT]]]],[CODE(IDL)[[[2]]]],An attribute specification is [CODE(XML)@en[#[[REQUIRED]]]] for the attribute.  
 ,[CODE(DOMc)@en[[[IMPLIED_DEFAULT]]]],[CODE(IDL)[[[3]]]],The default value is [CODE(XML)@en[#[[IMPLIED]]]].  
 ,[CODE(DOMc)@en[[[EXPLICIT_DEFAULT]]]],[CODE(IDL)[[[4]]]],The default value is provided but the attribute is not fixed to it.  
   
 The type of these constants are  
 [CODE(IDL)@en[[[unsigned]] [[short]]]].  
   
 If the source of the attribute default value type  
 does not distinguish the [CODE(XML)@en[#[[IMPLIED]]]]  
 default and unknown default, then the  
 [CODE(DOMc)@en[[[IMPLIED_DEFAULT]]]] value  
 [['''MUST''']] be used.  
   
 ;; A newly created [CODE(DOMi)@en[[[AttributeDefinition]]]]  
 object by [CODE(DOMm)@en[[[createAttributeDefinition]]]]  
 method has [CODE(DOMa)@en[[[declaredType]]]] attribute  
 set to [CODE(DOMc)@en[[[NO_TYPE_ATTR]]]].  
 </pre>  
   
 <dl>  
 <dt><dfn id=ownerElementTypeDefinition class=dom-attr><code>ownerElementTypeDefinition</code></dfn>  
 of type  
 <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>,  
 read$B!>(Bonly</dt>  
   <dd><p>The  
   <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> to  
   which the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>  
   node belongs.</p>  
   
   <p>On getting, the attribute <em class=rfc2119>MUST</em> return an  
   <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.  
   It <em class=rfc2119>MUST</em> be such a node that whose  
   <a href="#attributeDefinitons"><code>attributeDefinitions</code></a>  
   attribute contains the <code>NamedNodeMap</code> object that contains  
   the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>  
   node.  If there is no such an  
   <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node,  
   then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p>  
 <dt><dfn id=declaredType class=dom-attr><code>declaredType</code></dfn> of type  
 <code>unsigned short</code></dt>  
   <dd><p>The declared type <span class=ed>@@ ref</span> of the attribute.  
   It is expected that this attribute contains a value from the definition group  
   <a href="#DeclaredValueType"><code>DeclaredValueType</code></a>.</p>  
   
   <p>On getting, the attribute <em class=rfc2119>MUST</em> return the  
   value associated to this attribute.</p>  
   
   <p>On setting, the attribute <em class=rfc2119>MUST</em> raise a  
   <code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span>  
   exception if the  
   <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node  
   is read$B!>(Bonly <span class=ed>@@ ref</span>.  Otherwise, it  
   <em class=rfc2119>MUST</em> set the specified value as the value  
   associated to this attribute.</p>  
947    
948    <p>If the <code>AttributeDefinition</code> node is created during the process    </dd>
   to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document, an  
   appropriate value from the  
   <a href="#DeclaredValueType"><code>DeclaredValueType</code></a> constant  
   group <em class=rfc2119>MUST</em> be set to the attribute.</p></dd>  
949  <dt><dfn id=defaultType class=dom-attr><code>defaultType</code></dfn> of  <dt><dfn id=defaultType class=dom-attr><code>defaultType</code></dfn> of
950  type <code>unsigned short</code></dt>  type <code>unsigned short</code></dt>
951    <dd><p>The type of the default for the attribute.  It is expected that this    <dd><p>The type of the default for the attribute.  It is expected that this
# Line 813  type <code>unsigned short</code></dt> Line 963  type <code>unsigned short</code></dt>
963    <em class=rfc2119>MUST</em> set the specified value as the value    <em class=rfc2119>MUST</em> set the specified value as the value
964    associated to this attribute.</p>    associated to this attribute.</p>
965    
966    <p>If the <code>AttributeDefinition</code> node is created during the process    <p>If the
967    to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document, an    <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node is
968    appropriate value from the    created during the process to create a <abbr>DOM</abbr> from an
969    <a href="#DefaultValueType"><code>DefaultValueType</code></a> constant    <abbr>XML</abbr> document, an appropriate value from the
970    group <em class=rfc2119>MUST</em> be set to the attribute.</p></dd>    <a href="#DefaultValueType"><code>DefaultValueType</code></a> definition
971      group <em class=rfc2119>MUST</em> be set to the attribute.</p>
972    
973      <!-- DefaultValueType -->
974      <p>The definition group
975      <dfn id=DefaultValueType><code>DefaultValueType</code></dfn>
976      contains integers indicating the type of the default for the attribute.
977      The definition group contains the following constans:</p>
978    
979      <table>
980      <thead>
981      <tr><th scope=col>Name<th scope=col>Value<th scope=col>Description</tr>
982      </thead>
983      <tbody>
984      <tr>
985      <th scope=row><dfn id=UNKNOWN_DEFAULT class=dom-const><code>UNKNOWN_DEFAULT</code></dfn>
986      <td><code>0</code><td>Unknown.</tr>
987      <tr>
988      <th scope=row><dfn id=FIXED_DEFAULT class=dom-const><code>FIXED_DEFAULT</code></dfn>
989      <td><code>1</code><td>Provided explicitly and fixed
990      <span class=ed>@@ ref</span> to that value.</tr>
991      <tr>
992      <th scope=row><dfn id=REQUIRED_DEFAULT class=dom-const><code>REQUIRED_DEFAULT</code></dfn>
993      <td><code>2</code><td>No default value and the attribute have to be
994      explicitly specified.</tr>
995      <tr>
996      <th scope=row><dfn id=IMPLIED_DEFAULT class=dom-const><code>IMPLIED_DEFAULT</code></dfn>
997      <td><code>3</code><td>Implied <span class=ed>@@ ref</span>.</tr>
998      <tr>
999      <th scope=row><dfn id=EXPLICIT_DEFAULT class=dom-const><code>EXPLICIT_DEFAULT</code></dfn>
1000      <td><code>4</code><td>Provided explicitly.</tr>
1001      </tbody>
1002      </table>
1003    
1004      <p>If the source of the default type does not distinguish
1005      implied and unknown default types, then the value
1006      <a href="#IMPLIED_DEFAULT"><code>IMPLIED_DEFAULT</code></a>
1007      <em class=rfc2119>MUST</em> be used.</p>
1008    
1009      <div class="note memo">
1010      <p>An <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
1011      node created by the
1012      <a href="#createAttributeDefinition"><code>createAttributeDefinition</code></a>
1013      method has its <a href="#defaultType"><code>defaultType</code></a>
1014      attribute set to
1015      <a href="#UNKNOWN_DEFAULT"><code>UNKNOWN_DEFAULT</code></a>.</p>
1016      </div></dd>
1017  </dl>  </dl>
1018    
1019  </div>  </div>

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.16

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24