/[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.24 by wakaba, Sat Dec 8 13:10:28 2007 UTC revision 1.30 by wakaba, Sun Dec 9 10:33:26 2007 UTC
# Line 1  Line 1 
1  <!DOCTYPE html>  <!DOCTYPE html>
2  <html lang="en" class="formal-specification status-work-in-progress">  <html lang="en" class="formal-specification"><!-- status-work-in-progress"-->
3  <head>  <head>
4  <title>DOM Document Type Definition Module</title>  <title>DOM Document Type Definition Module</title>
5  <link rel="stylesheet" href="http://suika.fam.cx/www/style/html/spec">  <link rel="stylesheet" href="http://suika.fam.cx/www/style/html/spec">
# Line 10  Line 10 
10    
11  <div class="header">  <div class="header">
12  <h1>DOM Document Type Definition Module</h1>  <h1>DOM Document Type Definition Module</h1>
13  <h2>Working Draft <time datetime=2007-12-08>8 December 2007</time></h2>  <h2>First Edition <!-- Working Draft -->
14    <time datetime=2007-12-09>9 December 2007</time></h2>
15    
16  <dl class="versions-uri">  <dl class="versions-uri">
17  <dt>This Version</dt>  <dt>This Version</dt>
18      <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-20071209"
19          >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-20071209</a>&gt;</code></dd>
20    <!--
21    <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-work"    <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-work"
22        >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-work</a>&gt;</code></dd>        >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef-work</a>&gt;</code></dd>
23    -->
24  <dt>Latest Version</dt>  <dt>Latest Version</dt>
25    <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef"    <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef"
26        >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef</a>&gt;</code></dd>        >http://suika.fam.cx/www/markup/xml/domdtdef/domdtdef</a>&gt;</code></dd>
# Line 59  applications are able to access to the d Line 64  applications are able to access to the d
64  <div id="status" class="section">  <div id="status" class="section">
65  <h2>Status of This Document</h2>  <h2>Status of This Document</h2>
66    
67  <p class=section-info><em>This section describes the status of this document  <p class=section-info>This section describes the status of this document at the
68  at the time of its publication.  Other documents  time of its publication.  Other documents might supersede this document.</p>
69  might supersede this document.</em></p>  
70    <p>This document is a specification<!-- working draft -->,
71  <p>This document is a working draft, produced as part of the  produced as part of the
72  <a href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai</a>  <a href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai</a> project.  
73  project.  It might be updated, replaced, or obsoleted by  It might be updated, replaced, or obsoleted by other documents at any time.  
74  other documents at any time.  It is inappropriate to  <!-- It is inappropriate to cite this document as other than
75  cite this document as other than <q>work in progress</q>.</p>  <q>work in progress</q>. --></p>
76    
77  <p>Comments on this document are welcome and  <p>Comments on this document are welcome and
78  may be sent to the <a href="#author">author</a>.</p>  may be sent to the <a href="#author">author</a>.</p>
79    
80  <p>Translations of thie document might be available.  <p>Translations of this document might be available.
81  The English version of the document is the only  The English version of the document is the only
82  normative version.</p>  normative version.</p>
83  </div>  </div>
# Line 105  they are not compatible with any of them Line 110  they are not compatible with any of them
110  <h3>Terminology</h3>  <h3>Terminology</h3>
111    
112  <p>All examples and notes in this specification are non$B!>(Bnormative,  <p>All examples and notes in this specification are non$B!>(Bnormative,
113  as are all sections explicitly marked non$B!>(Bnormative.  Everything  as are all sections explicitly marked non$B!>(Bnormative.</p>
114  else in this specification is normative.</p>  
115    <p class=ed>Known issues are marked like this.  They are non$B!>(Bnormative.  <!--
116    However, this paragraph itself is normative.  One may argue that this paragraph
117    is non$B!>(Bnormative, because this paragraph is marked as an editor's note.
118    Anyway, the other editor's notes are non$B!>(Bnormative. --></p>
119    
120    <p>Everything else in this document is normative.</p>
121    
122  <p>The key words <q><em class="rfc2119">MUST</em></q>,  <p>The key words <q><em class="rfc2119">MUST</em></q>,
123  <q><em class="rfc2119">MUST NOT</em></q>, and <q><em class=rfc2119>MAY</em></q>  <q><em class="rfc2119">MUST NOT</em></q>, and <q><em class=rfc2119>MAY</em></q>
# Line 224  tree to <abbr>XML</abbr> document conver Line 235  tree to <abbr>XML</abbr> document conver
235  <abbr>DOM</abbr> Tree Converter</dt>  <abbr>DOM</abbr> Tree Converter</dt>
236    <dd>A software component that converts an <abbr>XML</abbr> information set    <dd>A software component that converts an <abbr>XML</abbr> information set
237    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>    <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>
238    into a <abbr>DOM</abbr> tree.  Note that this documetn does not define    into a <abbr>DOM</abbr> tree.  Note that this document does not define
239    any particular way for the convertion, but it defines constraints for    any particular way for the conversion, but it defines constraints for
240    such processing.</dd>    such processing.</dd>
241  <dt id=category-dom-infoset><abbr>DOM</abbr> Tree to <abbr>XML</abbr>  <dt id=category-dom-infoset><abbr>DOM</abbr> Tree to <abbr>XML</abbr>
242  Information Set Converter</dt>  Information Set Converter</dt>
243    <dd>A software component that converts a <abbr>DOM</abbr> tree into    <dd>A software component that converts a <abbr>DOM</abbr> tree into
244    an <abbr>XML</abbr> information set.  Note that this documetn does not define    an <abbr>XML</abbr> information set.  Note that this document does not define
245    any particular way for the convertion, but it defines constraints for    any particular way for the conversion, but it defines constraints for
246    such processing.</dd>    such processing.</dd>
247  </dl>  </dl>
248  </div>  </div>
# Line 297  these kinds of nodes, methods and attrib Line 308  these kinds of nodes, methods and attrib
308  <a href="#Node"><code>Node</code></a> interface must behave as following:</p>  <a href="#Node"><code>Node</code></a> interface must behave as following:</p>
309    
310  <dl>  <dl>
311  <dt><code id=attributes>attributes</code></dt>  <dt><code id=attributes>attributes</code>,
312    <code id=localName>localName</code>,
313    <code id=namespaceURI>namespaceURI</code>, and
314    <code id=prefix>prefix</code></dt>
315    <dd>    <dd>
316      <p>On getting, the attribute <em class=rfc2119>MUST</em> return      <p>On getting, the attributes <em class=rfc2119>MUST</em> return
317      <code>null</code>.</p>      <code>null</code>.</p>
318    </dd>    </dd>
319  <dt><code id=baseURI>baseURI</code></dt>  <dt><code id=baseURI>baseURI</code></dt>
# Line 386  these kinds of nodes, methods and attrib Line 400  these kinds of nodes, methods and attrib
400    the values of the <code>DOMStringList</code> objects in the    the values of the <code>DOMStringList</code> objects in the
401    <a href="#allowedTokens"><code>allowedTokens</code></a> attributes    <a href="#allowedTokens"><code>allowedTokens</code></a> attributes
402    are equal, i.e. their <code>length</code> attribute values are equal and    are equal, i.e. their <code>length</code> attribute values are equal and
403    each string exists in a list is contained in another list (their indeces    each string exists in a list is contained in another list (their indecies
404    may be different), with an additional constraint that the number of the    may be different), with an additional constraint that the number of the
405    items that are equal to a string in a list is equal to the number    items that are equal to a string in a list is equal to the number
406    of the items equal to the string in another list.</p></li>    of the items equal to the string in another list.</p></li>
407    </ul></dd>    </ul></dd>
408    <dt><code id=manakaiLocalName>manakaiLocalName</code>
409    <cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt>
410      <dd><p class=section-info>This entry is applied only to implementations
411      that support this attribute.</p>
412    
413      <p>On getting, the attributes <em class=rfc2119>MUST</em> return
414      <code>null</code>.</p></dd>
415  <dt><code id=lookupNamespaceURI>lookupNamespaceURI</code> and  <dt><code id=lookupNamespaceURI>lookupNamespaceURI</code> and
416  <code id=lookupPrefix>lookupPrefix</code></dt>  <code id=lookupPrefix>lookupPrefix</code></dt>
417    <dd><p>When invoked, the methods <em class=rfc2119>MUST</em> return    <dd><p>When invoked, the methods <em class=rfc2119>MUST</em> return
# Line 567  method</dt> Line 588  method</dt>
588      <a href="#publicId"><code>publicId</code></a>, and      <a href="#publicId"><code>publicId</code></a>, and
589      <a href="#systemId"><code>systemId</code></a></dt>      <a href="#systemId"><code>systemId</code></a></dt>
590        <dd>Empty strings.</dd>        <dd>Empty strings.</dd>
     <dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>  
       <dd><code>false</code>.</dd>  
591      <dt><code>nodeName</code></dt>      <dt><code>nodeName</code></dt>
592        <dd><a href="#createDocumentTypeDefinition-name"><var>name</var></a>.</dd>        <dd><a href="#createDocumentTypeDefinition-name"><var>name</var></a>.</dd>
593      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
594        <dd>The <a href="#Document"><code>Document</code></a> node over which the        <dd>The <a href="#Document"><code>Document</code></a> node over which the
595        method is invoked.</dd>        method is invoked.</dd>
596      </dl>      </dl>
597        <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
598        <a href="#read-only">read$B!>(Bonly</a>.</p>
599      <p>In addition, the method <em class=rfc2119>MUST</em> be marked as      <p>In addition, the method <em class=rfc2119>MUST</em> be marked as
600      containing five general entity declarations: <code>amp</code>,      containing five general entity declarations: <code>amp</code>,
601      <code>lt</code>, <code>gt</code>, <code>quot</code>, and      <code>lt</code>, <code>gt</code>, <code>quot</code>, and
# Line 596  method</dt> Line 617  method</dt>
617      <dl>      <dl>
618      <dt><a href="#attributeDefinitions"><code>attributeDefinitions</code></a></dt>      <dt><a href="#attributeDefinitions"><code>attributeDefinitions</code></a></dt>
619        <dd>An empty <code>NamedNodeMap</code> object.</dd>        <dd>An empty <code>NamedNodeMap</code> object.</dd>
     <dt><a href="#attributes"><code>attributes</code></a>,  
     <code>parentNode</code></dt>  
       <dd><code>null</code>.</dd>  
620      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
621        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
     <dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>  
       <dd><code>false</code>.</dd>  
622      <dt><a href="#nodeName"><code>nodeName</code></a></dt>      <dt><a href="#nodeName"><code>nodeName</code></a></dt>
623        <dd><a href="#createElementTypeDefinition-name"><var>name</var></a>.</dd>        <dd><a href="#createElementTypeDefinition-name"><var>name</var></a>.</dd>
624      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
625        <dd>The <code>Document</code> node over which the method is invoked.</dd>        <dd>The <code>Document</code> node over which the method is invoked.</dd>
626      <dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a></dt>      <dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
627        and <code>parentNode</code></dt>
628        <dd><code>null</code>.</dd>        <dd><code>null</code>.</dd>
     <dt class=ed>@@ Ensure all attributes are defined</dt>  
629      </dl>      </dl>
630        <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
631        <a href="#read-only">read$B!>(Bonly</a>.</p>
632    </dd>    </dd>
633  <dt><dfn id=createAttributeDefinition class=dom-method><code>createAttributeDefinition</code></dfn>,  <dt><dfn id=createAttributeDefinition class=dom-method><code>createAttributeDefinition</code></dfn>,
634  method</dt>  method</dt>
# Line 628  method</dt> Line 646  method</dt>
646      <dl>      <dl>
647      <dt><a href="#allowedTokens"><code>allowedTokens</code></a></dt>      <dt><a href="#allowedTokens"><code>allowedTokens</code></a></dt>
648        <dd>An empty <code>DOMStringList</code> object.</dd>        <dd>An empty <code>DOMStringList</code> object.</dd>
     <dt><a href="#attributes"><code>attributes</code></a>,  
     <a href="#ownerElementTypeDefinition"><code>ownerElementTypeDefinition</code></a>,  
     and <code>parentNode</code></dt>  
       <dd><code>null</code>.</dd>  
649      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
650        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
651      <dt><a href="#declaredType"><code>declaredType</code></a></dt>      <dt><a href="#declaredType"><code>declaredType</code></a></dt>
652        <dd><a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>.</dd>        <dd><a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>.</dd>
653      <dt><a href="#defaultType"><code>defaultType</code></a></dt>      <dt><a href="#defaultType"><code>defaultType</code></a></dt>
654        <dd><a href="#UNKNOWN_DEFAULT"><code>UNKNOWN_DEFAULT</code></a>.</dd>        <dd><a href="#UNKNOWN_DEFAULT"><code>UNKNOWN_DEFAULT</code></a>.</dd>
     <dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>  
       <dd><code>false</code>.</dd>  
655      <dt><a href="#nodeName"><code>nodeName</code></a></dt>      <dt><a href="#nodeName"><code>nodeName</code></a></dt>
656        <dd><a href="#createAttributeDefinition-name"><var>name</var></a>.</dd>        <dd><a href="#createAttributeDefinition-name"><var>name</var></a>.</dd>
657      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
658        <dd>The <code>Document</code> node over which the method is invoked.</dd>        <dd>The <code>Document</code> node over which the method is invoked.</dd>
659      <dt class=ed>@@ Ensure all attributes are defined</dt>      <dt><a href="#ownerElementTypeDefinition"><code>ownerElementTypeDefinition</code></a>
660        and <code>parentNode</code></dt>
661          <dd><code>null</code>.</dd>
662      </dl>      </dl>
663        <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
664        <a href="#read-only">read$B!>(Bonly</a>.</p>
665    
666      <!-- This requirement, if not droped, should be part of xml-id spec.      <!-- This requirement, if not droped, should be part of xml-id spec.
667      <div class=ed>      <div class=ed>
# Line 670  method</dt> Line 686  method</dt>
686      an <a href="#Entity"><code>Entity</code></a> node with the following      an <a href="#Entity"><code>Entity</code></a> node with the following
687      attributes:</p>      attributes:</p>
688      <dl>      <dl>
     <dt><code>attributes</code>,  
     <a href="#notationName"><code>notationName</code></a>,  
     <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>,  
     and <code>parentNode</code></dt>  
       <dd><code>null</code>.</dd>  
689      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
690        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
691      <dt><code>manakaiDeclarationBaseURI</code>,      <dt><code>manakaiDeclarationBaseURI</code>,
692      <code>manakaiEntityBaseURI</code>, and      <code>manakaiEntityBaseURI</code>, and <code>manakaiEntityURI</code>
693      <code>manakaiEntityURI</code> <span class=ed>@@ ref</span></dt>      <cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt>
694        <dd>No explicit value is set.</dd>        <dd><p class=section-info>This entry is applied only to implementations
695          that support these attributes.</p>
696    
697          <p>No explicit value is set.</p></dd>
698      <dt><a href="#hasReplacementTree"><code>hasReplacementTree</code></a> and      <dt><a href="#hasReplacementTree"><code>hasReplacementTree</code></a> and
699      <code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>      <a href="#isExternallyDeclared"><code>isExternallyDeclared</code></a></dt>
700        <dd><code>false</code>.</dd>        <dd><p><code>false</code>.</p></dd>
701      <dt><code>nodeName</code></dt>      <dt><code>nodeName</code></dt>
702        <dd><a href="#createGeneralEntity-name"><var>name</var></a>.</dd>        <dd><a href="#createGeneralEntity-name"><var>name</var></a>.</dd>
703        <dd>        <dd>
# Line 698  method</dt> Line 712  method</dt>
712            with its <code>nodeName</code> attribute set to <code>amp</code>.</p>            with its <code>nodeName</code> attribute set to <code>amp</code>.</p>
713          </div>          </div>
714        </dd>        </dd>
715        <dt><a href="#notationName"><code>notationName</code></a>,
716        <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>,
717        and <code>parentNode</code></dt>
718          <dd><code>null</code>.</dd>
719      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
720        <dd>The <code>Document</code> node over which the method is invoked.</dd>        <dd>The <code>Document</code> node over which the method is invoked.</dd>
721      <dt><a href="#publicId"><code>publicId</code></a> and      <dt><a href="#publicId"><code>publicId</code></a> and
722      <a href="#systemId"><code>systemId</code></a></dt>      <a href="#systemId"><code>systemId</code></a></dt>
723        <dd><code>null</code>.</dd>        <dd><code>null</code>.</dd>
724        <dd class=ed>@@ publicId and systemId should be empty string?</dd>        <dd class=ed>@@ publicId and systemId should be empty string?</dd>
     <dt class=ed>@@ Ensure all attributes are defined</dd>  
725      </dl>      </dl>
726    </dd>    <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
727      <a href="#read-only">read$B!>(Bonly</a>.</p></dd>
728  <dt><dfn id=createNotation class=dom-method><code>createNotation</code></dfn>,  <dt><dfn id=createNotation class=dom-method><code>createNotation</code></dfn>,
729  method</dt>  method</dt>
730    <dd>    <dd>
# Line 718  method</dt> Line 736  method</dt>
736      <p>When invoked, the method <em class=rfc2119>MUST</em> create and return      <p>When invoked, the method <em class=rfc2119>MUST</em> create and return
737      a <code>Notation</code> node with the following attributes:</p>      a <code>Notation</code> node with the following attributes:</p>
738      <dl>      <dl>
     <dt><code>attributes</code>,  
     <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>,  
     and <code>parentNode</code></dt>  
       <dd><code>null</code>.</dd>  
739      <dt><code>childNodes</code></dt>      <dt><code>childNodes</code></dt>
740        <dd>An empty <code>NodeList</code> object.</dd>        <dd>An empty <code>NodeList</code> object.</dd>
741      <dt><code>manakaiDeclarationBaseURI</code></dt>      <dt><code>manakaiDeclarationBaseURI</code>
742        <dd>No explicit value is set.</dd>      <cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt>
743      <dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt>        <dd><p class=section-info>This entry is applied only to implementations
744        <dd><code>false</code>.</dd>        that support these attributes.</p>
745    
746          <p>No explicit value is set.</p></dd>
747      <dt><code>nodeName</code></dt>      <dt><code>nodeName</code></dt>
748        <dd><a href="#createNotation-name"><var>name</var></a>.</dd>        <dd><a href="#createNotation-name"><var>name</var></a>.</dd>
749      <dt><code>ownerDocument</code></dt>      <dt><code>ownerDocument</code></dt>
750        <dd>The <code>Document</code> node over which the method is invoked.</dd>        <dd><p>The <a href="#Document"><code>Document</code></a> node over which
751          the method is invoked.</p></dd>
752        <dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
753        and <code>parentNode</code></dt>
754          <dd><code>null</code>.</dd>
755      <dt><a href="#publicId"><code>publicId</code></a> and      <dt><a href="#publicId"><code>publicId</code></a> and
756      <a href="#systemId"><code>systemId</code></a></dt>      <a href="#systemId"><code>systemId</code></a></dt>
757        <dd><code>null</code>.</dd>        <dd><code>null</code>.</dd>
758        <dd class=ed>@@ publicId and systemId should be empty string?</dd>        <dd class=ed>@@ publicId and systemId should be empty string?</dd>
     <dt class=ed>@@ Ensure all attributes are defined</dt>  
759      </dl>      </dl>
760    </dd>    <p>The returned node <em class=rfc2119>MUST NOT</em> be marked as
761      <a href="#read-only">read$B!>(Bonly</a>.</p></dd>
762  </dl>  </dl>
763    
764  <p>These methods <em class=rfc2119>MUST</em> raise an  <p>These methods <em class=rfc2119>MUST</em> raise an
# Line 768  Interface</h3> Line 788  Interface</h3>
788    
789  <p>A <a href="#DocumentType"><code>DocumentType</code></a> interface  <p>A <a href="#DocumentType"><code>DocumentType</code></a> interface
790  <em class=rfc2119>MAY</em> contain zero or more  <em class=rfc2119>MAY</em> contain zero or more
791  <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a>  <code>ProcessingInstruction</code> nodes in the <code>NodeList</code> object
792  nodes in the <code>NodeList</code> object contained in the  contained in the <code>childNodes</code> attribute of the
 <code>childNodes</code> attribute of the  
793  <a href="#DocumentType"><code>DocumentType</code></a> node.</p>  <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
794    
795  <p>If the <a href="#DocumentType"><code>DocumentType</code></a> node is created  <p>If the <a href="#DocumentType"><code>DocumentType</code></a> node is created
796  during the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr>  during the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr>
797  document, the <code>NodeList</code> object in the <code>childNodes</code>  document, the <code>NodeList</code> object in the <code>childNodes</code>
798  object <em class=rfc2119>MUST</em> contains the  object <em class=rfc2119>MUST</em> contains the
799  <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a>  <code>ProcessingInstruction</code> nodes representing the processing
800  nodes representing the processing instructions in the document type  instructions in the document type definition of the document processed
 definition of the document processed  
801  <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,  <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
802  <a href="#ref-XML11">XML11</a>]</cite> by the <abbr>XML</abbr> processor.  If  <a href="#ref-XML11">XML11</a>]</cite> by the <abbr>XML</abbr> processor.  If
803  the <a href="#DocumentType"><code>DocumentType</code></a> node is marked as  the <a href="#DocumentType"><code>DocumentType</code></a> node is marked as
# Line 794  type declaration information item</a> Line 812  type declaration information item</a>
812  <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>,  <cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>,
813  the <code>NodeList</code> object in the <code>childNodes</code> attribute  the <code>NodeList</code> object in the <code>childNodes</code> attribute
814  of the node <em class=rfc2119>MUST</em> contain the  of the node <em class=rfc2119>MUST</em> contain the
815  <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes  <code>ProcessingInstruction</code> nodes created from any
816  created from the processing instruction information items in the list in the  <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.pi">processing
817  [children] property of the document type declaration item in the same  instruction information items</a> in the list in the [children] property of the
818  order.</p>  <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.doctype">document
819    type declaration item</a> in the same order.</p>
820    
821  <p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is mapped to  <p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is mapped to
822  a document type declaration information item, the list in the [children]  a document type declaration information item, the list in the [children]
823  property <em class=rfc2119>MUST</em> contain the processng instruction  property <em class=rfc2119>MUST</em> contain the processng instruction
824  information items created from the  information items created from the <code>ProcessingInstruction</code> nodes
 <a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes  
825  in the <code>NodeList</code> object in the <code>childNodes</code> attribute  in the <code>NodeList</code> object in the <code>childNodes</code> attribute
826  of the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>  of the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
827    
# Line 830  read$B!>(Bonly.</p> Line 848  read$B!>(Bonly.</p>
848  <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it <em class=rfc2119>MUST</em>  <a href="#read-only">read$B!>(Bonly</a>.  Otherwise, it <em class=rfc2119>MUST</em>
849  set the specified value as the value associated to the attribute.  No  set the specified value as the value associated to the attribute.  No
850  normalization, relative reference resolution, or lexical validation is  normalization, relative reference resolution, or lexical validation is
851  performed. <span class=ed>@@ If the new value is <code>null</code>, should an e  performed. <span class=ed>@@ If the new value is <code>null</code>, should an
852  mpty string be set?</span></p>  empty string be set?</span></p>
853    
854  <div class="note memo">  <div class="note memo">
855  <p>Setting an invalid identifier might make the node unserializable.  <p>Setting an invalid identifier might make the node unserializable.
856  Setting a public identifier while leaveing system identifier unspecified  Setting a public identifier while leaving system identifier unspecified
857  would also make the <a href="#DocumentType"><code>DocumentType</code></a>  would also make the <a href="#DocumentType"><code>DocumentType</code></a>
858  or <a href="#Entity"><code>Entity</code></a> node unserializable.</p>  or <a href="#Entity"><code>Entity</code></a> node unserializable.</p>
859  </div>  </div>
# Line 878  and <a href="#feature-XDoctype-3.0"><cod Line 896  and <a href="#feature-XDoctype-3.0"><cod
896  feature <code>Core</code> version <code>3.0</code>  feature <code>Core</code> version <code>3.0</code>
897  <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>).</p>  <cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>).</p>
898    
 <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>  
   
899  <p>The  <p>The
900  <a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a>  <a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a>
901  interface <em class=rfc2119>MUST</em> be implemented as the following  interface <em class=rfc2119>MUST</em> be implemented as the following
# Line 952  of type <code>NamedNodeMap</code>, read Line 960  of type <code>NamedNodeMap</code>, read
960    <a href="#DocumentType"><code>DocumentType</code></a> node.</p>    <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
961        
962    <p>On getting, the attribute <em class=rfc2119>MUST</em> return the    <p>On getting, the attribute <em class=rfc2119>MUST</em> return the
963    same value as the <code>entities</code> attribute (defined in the    same value as the <code id=entities>entities</code> attribute (defined in the
964    <a href="#DocumentType"><code>DocumentType</code></a> interface) of the same    <a href="#DocumentType"><code>DocumentType</code></a> interface) of the same
965    node.</p>    node.</p>
966    
# Line 1042  method</dt> Line 1050  method</dt>
1050    <a href="#elementTypes"><code>elementTypes</code></a> attribute of the    <a href="#elementTypes"><code>elementTypes</code></a> attribute of the
1051    node.  If there is no such node, it <em class=rfc2119>MUST</em> return    node.  If there is no such node, it <em class=rfc2119>MUST</em> return
1052    <code>null</code>.</p></dd>    <code>null</code>.</p></dd>
 <dt><dfn id=getElementTypeDefinitionNode class=dom-method><code>getElementTypeDefinitionNode</code></dfn>,  
 method</dt>  
   <dd><p>Returns the  
   <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node  
   with the specified name.</p>  
   
   <p>The  
   <dfn id=getElementTypeDefinitionNode-name class=dom-param><var>name</var></dfn>  
   parameter is the name of the element type.</p>  
   
   <p>When invoked, the method <em class=rfc2119>MUST</em> return the  
   <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node,  
   whose <a href="#nodeName"><code>nodeName</code></a> is equal to  
   <a href="#getElementTypeDefinitionNode-name"><var>name</var></a>, in the  
   <code>NamedNodeMap</code> object in the  
   <a href="#elementTypes"><code>elementTypes</code></a> attribute of the  
   node.  If there is no such node, it <em class=rfc2119>MUST</em> return  
   <code>null</code>.</p></dd>  
1053  <dt><dfn id=getGeneralEntityNode class=dom-method><code>getGeneralEntityNode</code></dfn>,  <dt><dfn id=getGeneralEntityNode class=dom-method><code>getGeneralEntityNode</code></dfn>,
1054  method</dt>  method</dt>
1055    <dd><p>Returns the <a href="#Entity"><code>Entity</code></a> node    <dd><p>Returns the <a href="#Entity"><code>Entity</code></a> node
1056    with the specified name.</p>    with the specified name.</p>
1057    
1058    <p>The <dfn id=getEntityNode-name class=dom-param><var>name</var></dfn>    <p>The
1059      <dfn id=getGeneralEntityNode-name class=dom-param><var>name</var></dfn>
1060    parameter is the name of the general entity.</p>    parameter is the name of the general entity.</p>
1061    
1062    <p>When invoked, the method <em class=rfc2119>MUST</em> return the    <p>When invoked, the method <em class=rfc2119>MUST</em> return the
1063    <a href="#Entity"><code>Entity</code></a> node,    <a href="#Entity"><code>Entity</code></a> node,
1064    whose <a href="#nodeName"><code>nodeName</code></a> is equal to    whose <a href="#nodeName"><code>nodeName</code></a> is equal to
1065    <a href="#getEntityNode-name"><var>name</var></a>, in the    <a href="#getGeneralEntityNode-name"><var>name</var></a>, in the
1066    <code>NamedNodeMap</code> object in the    <code>NamedNodeMap</code> object in the
1067    <a href="#entities"><code>entities</code></a> attribute of the    <a href="#entities"><code>entities</code></a> attribute of the
1068    node.  If there is no such node, it <em class=rfc2119>MUST</em> return    node.  If there is no such node, it <em class=rfc2119>MUST</em> return
# Line 1095  method</dt> Line 1086  method</dt>
1086    <code>null</code>.</p></dd>    <code>null</code>.</p></dd>
1087  <dt><dfn id=setElementTypeDefinitionNode class=dom-method><code>setElementTypeDefinitionNode</code></dfn>,  <dt><dfn id=setElementTypeDefinitionNode class=dom-method><code>setElementTypeDefinitionNode</code></dfn>,
1088  method</dt>  method</dt>
1089    <dd class=ed>@@</dd>    <dd><p>Associate an
1090      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
1091      node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
1092    
1093      <p>The
1094      <dfn id=setElementTypeDefinitionNode-node class=dom-param><var>node</var></dfn>
1095      parameter is the node to associate.</p>
1096    
1097      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1098      to <a href="#algorithm-attach-node">attach a node</a>, where
1099      <a href="#attach-node-n"><var>n</var></a> is the
1100      <a href="#DocumentType"><code>DocumentType</code></a> node,
1101      <a href="#attach-node-l"><var>l</var></a> is the
1102      <a href="#elementTypes"><code>elementTypes</code></a> attribute value of the
1103      <a href="#DocumentType"><code>DocumentType</code></a> node,
1104      <a href="#attach-node-node"><var>node</var></a> is the
1105      <a href="#setElementTypeDefinitionNode-node"><var>node</var></a>, and
1106      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1107      <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
1108      attribute.</p></dd>
1109  <dt><dfn id=setGeneralEntityNode class=dom-method><code>setGeneralEntityNode</code></dfn>,  <dt><dfn id=setGeneralEntityNode class=dom-method><code>setGeneralEntityNode</code></dfn>,
1110  method</dt>  method</dt>
1111    <dd class=ed>@@</dd>    <dd><p>Associate an <a href="#Entity"><code>Entity</code></a>
1112      node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
1113    
1114      <p>The
1115      <dfn id=setGeneralEntityNode-node class=dom-param><var>node</var></dfn>
1116      parameter is the node to associate.</p>
1117    
1118      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1119      to <a href="#algorithm-attach-node">attach a node</a>, where
1120      <a href="#attach-node-n"><var>n</var></a> is the
1121      <a href="#DocumentType"><code>DocumentType</code></a> node,
1122      <a href="#attach-node-l"><var>l</var></a> is the
1123      <a href="#entities"><code>entities</code></a> attribute value of the
1124      <a href="#DocumentType"><code>DocumentType</code></a> node,
1125      <a href="#attach-node-node"><var>node</var></a> is the
1126      <a href="#setGeneralEntityNode-node"><var>node</var></a>, and
1127      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1128      <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
1129      attribute.</p></dd>
1130  <dt><dfn id=setNotationNode class=dom-method><code>setNotationNode</code></dfn>,  <dt><dfn id=setNotationNode class=dom-method><code>setNotationNode</code></dfn>,
1131  method</dt>  method</dt>
1132    <dd class=ed>@@</dd>    <dd><p>Associate an <a href="#Notation"><code>Notation</code></a>
1133      node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p>
1134    
1135      <p>The <dfn id=setNotationNode-node class=dom-param><var>node</var></dfn>
1136      parameter is the node to associate.</p>
1137    
1138      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1139      to <a href="#algorithm-attach-node">attach a node</a>, where
1140      <a href="#attach-node-n"><var>n</var></a> is the
1141      <a href="#DocumentType"><code>DocumentType</code></a> node,
1142      <a href="#attach-node-l"><var>l</var></a> is the
1143      <a href="#notations"><code>notations</code></a> attribute value of the
1144      <a href="#DocumentType"><code>DocumentType</code></a> node,
1145      <a href="#attach-node-node"><var>node</var></a> is the
1146      <a href="#setNotationNode-node"><var>node</var></a>, and
1147      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1148      <a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>
1149      attribute.</p></dd>
1150  </dl>  </dl>
1151    
1152    <p>When a <dfn id=algorithm-attach-node title="attach a node">node is
1153    attached</dfn>, the rules below, with parameters
1154    <dfn id=attach-node-n><var>n</var></dfn>,
1155    <dfn id=attach-node-l><var>l</var></dfn>,
1156    <dfn id=attach-node-node><var>node</var></dfn>, and
1157    <dfn id=attach-node-owner-attr><var>owner-attr</var></dfn>,
1158    <em class=rfc2119>MUST</em> be followed:</p>
1159      <ol>
1160      <li><p>Let
1161      <dfn id=attach-node-r><var>r</var></dfn> be the node in
1162      <var>l</var> whose <code>nodeName</code> attribute value is equal to the
1163      <code>nodeName</code> attribute value of <var>node</var>, if any.</p></li>
1164      <li><p>If <var>r</var> is different from <code>null</code> and <var>r</var>
1165      is same node as <var>node</var>, then abort these steps.</p></li>
1166      <li><p>If <var>n</var> is <a href="#read-only">read$B!>(Bonly</a>, then raise a
1167      <code>NO_MODIFICATION_ALLOWED_ERR</code> and abort these steps.</p></li>
1168      <li><p>If the <code>ownerDocument</code> attribute value of <var>node</var>
1169      is different from that of <var>n</var>, then raise a
1170      <code>WRONG_DOCUMENT_ERR</code> and abort these steps.</p></li>
1171      <li><p>If the value of the attribute <var>owner-attr</var> of <var>node</var>
1172      is different from <code>null</code>, then raise a
1173      <code>HIERARCHY_REQUEST_ERR</code> and abort these steps.</p></li>
1174      <li><p>If <var>r</var> is a node, then remove it from <var>r</var>.</p>
1175    
1176      <div class="note memo">
1177      <p>By the removal of <var>r</var>, the attribute <var>owner-attr</var> of
1178      <var>r</var> is set to <code>null</code>.</p>
1179      </div></li>
1180      <li><p>Add <var>node</var> to <var>l</var>.</p>
1181    
1182      <div class="note memo">
1183      <p>By the addition of <var>node</var>, the attribute <var>owner-attr</var> of
1184      <var>node</var> is set to <var>n</var>.</p>
1185      </div></li>
1186      </ol>
1187    
1188  <div class=ed>  <div class=ed>
1189  <p>A future version of this interface might define the  <p>A future version of this interface might define the
1190  <code>parameterEntities</code> and getter/setter for parameter entities.  <code>parameterEntities</code> and getter/setter for parameter entities.
# Line 1151  interface <em class=rfc2119>MUST</em> be Line 1232  interface <em class=rfc2119>MUST</em> be
1232    <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#getAttributeDefinitionNode">getAttributeDefinitionNode</a>    <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#getAttributeDefinitionNode">getAttributeDefinitionNode</a>
1233      (in DOMString <a href="#getAttributeDefinitionNode-name"><var>name</var></a>);      (in DOMString <a href="#getAttributeDefinitionNode-name"><var>name</var></a>);
1234    void <a href="#setAttributeDefinitionNode">setAttributeDefinitionNode</a>    void <a href="#setAttributeDefinitionNode">setAttributeDefinitionNode</a>
1235      (in <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#setAttributeDefinitionNode-name"><var>node</var></a>)      (in <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#setAttributeDefinitionNode-node"><var>node</var></a>)
1236      raises (DOMException);      raises (DOMException);
1237  }</code></pre>  }</code></pre>
1238    
# Line 1233  method</dt> Line 1314  method</dt>
1314    <em class=rfc2119>MUST</em> return <code>null</code>.</p></dd>    <em class=rfc2119>MUST</em> return <code>null</code>.</p></dd>
1315  <dt><dfn id=setAttributeDefinitionNode class=dom-method><code>setAttributeDefinitionNode</code></dfn>,  <dt><dfn id=setAttributeDefinitionNode class=dom-method><code>setAttributeDefinitionNode</code></dfn>,
1316  method</dt>  method</dt>
1317    <dd class=ed>@@</dd>    <dd><p>Associate an
1318      <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node with
1319      the
1320      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
1321      node.</p>
1322    
1323      <p>The
1324      <dfn id=setAttributeDefinitionNode-node class=dom-param><var>node</var></dfn>
1325      parameter is the node to associate.</p>
1326    
1327      <p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules
1328      to <a href="#algorithm-attach-node">attach a node</a>, where
1329      <a href="#attach-node-n"><var>n</var></a> is the
1330      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>
1331      node, <a href="#attach-node-l"><var>l</var></a> is the
1332      <a href="#attributeDefinitions"><code>attributeDefinitions</code></a>
1333      attribute value of the
1334      <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node,
1335      <a href="#attach-node-node"><var>node</var></a> is the
1336      <a href="#setAttributeDefinitionNode-node"><var>node</var></a>, and
1337      <a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the
1338      <a href="#ownerElementTypeDefinition"><code>ownerElementTypeDefinition</code></a>
1339      attribute.</p></dd>
1340  </dl>  </dl>
1341    
1342  <div class=ed>  <div class=ed>
# Line 1315  read$B!>(Bonly</dt> Line 1418  read$B!>(Bonly</dt>
1418    <p>On getting, the attribute <em class=rfc2119>MUST</em> return an    <p>On getting, the attribute <em class=rfc2119>MUST</em> return an
1419    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.    <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node.
1420    It <em class=rfc2119>MUST</em> be such a node that whose    It <em class=rfc2119>MUST</em> be such a node that whose
1421    <a href="#attributeDefinitons"><code>attributeDefinitions</code></a>    <a href="#attributeDefinitions"><code>attributeDefinitions</code></a>
1422    attribute contains the <code>NamedNodeMap</code> object that contains    attribute contains the <code>NamedNodeMap</code> object that contains
1423    the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>    the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>
1424    node.  If there is no such an    node.  If there is no such an
# Line 1516  type <code>unsigned short</code></dt> Line 1619  type <code>unsigned short</code></dt>
1619    <p>The definition group    <p>The definition group
1620    <dfn id=DefaultValueType><code>DefaultValueType</code></dfn>    <dfn id=DefaultValueType><code>DefaultValueType</code></dfn>
1621    contains integers indicating the type of the default for the attribute.    contains integers indicating the type of the default for the attribute.
1622    The definition group contains the following constans:</p>    The definition group contains the following constants:</p>
1623    
1624    <table>    <table>
1625    <thead>    <thead>
# Line 1725  interface <em class=rfc2119>MUST</em> be Line 1828  interface <em class=rfc2119>MUST</em> be
1828    14</a>, <abbr title="Request for Comments">RFC</abbr> 2119,    14</a>, <abbr title="Request for Comments">RFC</abbr> 2119,
1829    <time datetime=1997-03>March 1997</time>.    <time datetime=1997-03>March 1997</time>.
1830    <em>This</em> version of the specification is referenced.</dd>    <em>This</em> version of the specification is referenced.</dd>
1831  <dt id=ref-XML10">XML10</dt>  <dt id=ref-MANAKAI>MANAKAI</dt>
1832      <dd><cite><a href="http://suika.fam.cx/gate/2005/sw/manakai/DOM%20Extensions">
1833      manakai's <abbr>DOM</abbr> Extensions</a></cite>, editor's draft.  Work in
1834      progress.</dd>
1835    <dt id=ref-XML10>XML10</dt>
1836    <dd><cite><a href="http://www.w3.org/TR/2006/REC-xml-20060816">Extensible    <dd><cite><a href="http://www.w3.org/TR/2006/REC-xml-20060816">Extensible
1837    Markup Language (<abbr>XML</abbr>) 1.0 (Fourth Edition)</a></cite>,    Markup Language (<abbr>XML</abbr>) 1.0 (Fourth Edition)</a></cite>,
1838    <abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August    <abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August
# Line 1751  interface <em class=rfc2119>MUST</em> be Line 1858  interface <em class=rfc2119>MUST</em> be
1858  <dt id=ref-DOM1WD>DOM1WD</dt>  <dt id=ref-DOM1WD>DOM1WD</dt>
1859    <dd><cite><a href="http://www.w3.org/TR/WD-DOM-971209/">Document Object    <dd><cite><a href="http://www.w3.org/TR/WD-DOM-971209/">Document Object
1860    Model Specification</a></cite>, <abbr>W3C</abbr> Working Draft,    Model Specification</a></cite>, <abbr>W3C</abbr> Working Draft,
1861    <time datetime=1997-12-09>9 December 1998</time>.</dd>    <time datetime=1997-12-09>9 December 1997</time>.</dd>
1862    <dd><cite><a href="http://www.w3.org/TR/WD-DOM-19980318/">Document Object    <dd><cite><a href="http://www.w3.org/TR/WD-DOM-19980318/">Document Object
1863    Model Specification</a></cite>, <abbr>W3C</abbr> Working Draft,    Model Specification</a></cite>, <abbr>W3C</abbr> Working Draft,
1864    <time datetime=1998-03-18>18 March 1998</time>.</dd>    <time datetime=1998-03-18>18 March 1998</time>.</dd>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24