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> |
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> |
181 |
DocumentType <a href="#createDocumentTypeDefinition">createDocumentTypeDefinition</a> |
DocumentType <a href="#createDocumentTypeDefinition">createDocumentTypeDefinition</a> |
182 |
(in DOMString <a href="#createDocumentTypeDefinition-name"><var>name</var></a>) |
(in DOMString <a href="#createDocumentTypeDefinition-name"><var>name</var></a>) |
183 |
raises (DOMException); |
raises (DOMException); |
184 |
ElementTypeDefinition <a href="#createElementTypeDefinition">createElementTypeDefinition</a> |
<a href="#ElementTypeDefinition">ElementTypeDefinition</a> <a href="#createElementTypeDefinition">createElementTypeDefinition</a> |
185 |
(in DOMString <a href="#createElementTypeDefinition-name"><var>name</var></a>) |
(in DOMString <a href="#createElementTypeDefinition-name"><var>name</var></a>) |
186 |
raises (DOMException); |
raises (DOMException); |
187 |
AttributeDefinition <a href="#createAttributeDefinition">createAttributeDefinition</a> |
<a href="#AttributeDefinition">AttributeDefinition</a> <a href="#createAttributeDefinition">createAttributeDefinition</a> |
188 |
(in DOMString <a href="#createAttributeDefinition-name"><var>name</var></a>) |
(in DOMString <a href="#createAttributeDefinition-name"><var>name</var></a>) |
189 |
raises (DOMException); |
raises (DOMException); |
190 |
Entity <a href="#createGeneralEntity">createGeneralEntityDefinition</a> |
<a href="#Entity">Entity</a> <a href="#createGeneralEntity">createGeneralEntityDefinition</a> |
191 |
(in DOMString <a href="#createGeneralEntity-name"><var>name</var></a>) |
(in DOMString <a href="#createGeneralEntity-name"><var>name</var></a>) |
192 |
raises (DOMException); |
raises (DOMException); |
193 |
Notation <a href="#createNotation">createNotation</a> |
<a href="#Notation">Notation</a> <a href="#createNotation">createNotation</a> |
194 |
(in DOMString <a href="#createNotation-name"><var>name</var></a>) |
(in DOMString <a href="#createNotation-name"><var>name</var></a>) |
195 |
raises (DOMException); |
raises (DOMException); |
196 |
}</code></pre> |
}</code></pre> |
401 |
define it for <code>Document</code> methods.</p> |
define it for <code>Document</code> methods.</p> |
402 |
|
|
403 |
<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> |
|
|
|
|
<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> |
|
404 |
</div> |
</div> |
405 |
|
|
406 |
</div> |
</div> |
652 |
and append it to the [CODE(DOMi)@en[[[AttributeDefinition]]]]. |
and append it to the [CODE(DOMi)@en[[[AttributeDefinition]]]]. |
653 |
</pre> |
</pre> |
654 |
|
|
655 |
|
<dl> |
656 |
|
<dt><dfn id=ownerElementTypeDefinition class=dom-attr><code>ownerElementTypeDefinition</code></dfn> |
657 |
|
of type |
658 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>, |
659 |
|
read$B!>(Bonly</dt> |
660 |
|
<dd><p>The |
661 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> to |
662 |
|
which the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> |
663 |
|
node belongs.</p> |
664 |
|
|
665 |
|
<p>On getting, the attribute <em class=rfc2119>MUST</em> return an |
666 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node. |
667 |
|
It <em class=rfc2119>MUST</em> be such a node that whose |
668 |
|
<a href="#attributeDefinitons"><code>attributeDefinitions</code></a> |
669 |
|
attribute contains the <code>NamedNodeMap</code> object that contains |
670 |
|
the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> |
671 |
|
node. If there is no such an |
672 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node, |
673 |
|
then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p> |
674 |
|
<dt><dfn id=declaredType class=dom-attr><code>declaredType</code></dfn> of type |
675 |
|
<code>unsigned short</code></dt> |
676 |
|
<dd><p>The declared type <span class=ed>@@ ref</span> of the attribute. |
677 |
|
It is expected that this attribute contains a value from the definition group |
678 |
|
<a href="#DeclaredValueType"><code>DeclaredValueType</code></a>.</p> |
679 |
|
|
680 |
|
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
681 |
|
value associated to this attribute.</p> |
682 |
|
|
683 |
|
<p>On setting, the attribute <em class=rfc2119>MUST</em> raise a |
684 |
|
<code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span> |
685 |
|
exception if the |
686 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node |
687 |
|
is read$B!>(Bonly <span class=ed>@@ ref</span>. Otherwise, it |
688 |
|
<em class=rfc2119>MUST</em> set the specified value as the value |
689 |
|
associated to this attribute.</p> |
690 |
|
|
691 |
|
<p>If the <code>AttributeDefinition</code> node is created during the process |
692 |
|
to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document, an |
693 |
|
appropriate value from the |
694 |
|
<a href="#DeclaredValueType"><code>DeclaredValueType</code></a> constant |
695 |
|
group <em class=rfc2119>MUST</em> be set to the attribute.</p> |
696 |
|
|
697 |
|
<!-- DeclaredValueType --> |
698 |
<p>The definition group |
<p>The definition group |
699 |
<dfn id=DeclaredValueType><code>DeclaredValueType</code></dfn> contains |
<dfn id=DeclaredValueType><code>DeclaredValueType</code></dfn> contains |
700 |
integers indicating the declared type of attributes.</p> |
integers indicating the declared type of attributes. The definition |
701 |
|
group contains the following constants:</p> |
702 |
|
|
703 |
<table> |
<table> |
704 |
<thead> |
<thead> |
761 |
</div> |
</div> |
762 |
|
|
763 |
<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> |
764 |
and/or <code>unknown</code> <span class=ed>[INFOSET]</span> and |
and/or <q>unknown</q> <span class=ed>[INFOSET]</span> and |
765 |
<code>CDATA</code> <span class=ed>[XML]</span>, then the value |
<code>CDATA</code> <span class=ed>[XML]</span>, then the value |
766 |
<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> |
767 |
be used.</p> |
be used.</p> |
769 |
<p>In Perl binding <span class=ed>[PERLBINDING]</span>, the |
<p>In Perl binding <span class=ed>[PERLBINDING]</span>, the |
770 |
<code>Attr</code> nodes <em class=rfc2119>MUST</em> implement the |
<code>Attr</code> nodes <em class=rfc2119>MUST</em> implement the |
771 |
<a href="#DeclaredValueType"><code>DeclaredValueType</code></a> |
<a href="#DeclaredValueType"><code>DeclaredValueType</code></a> |
772 |
constant group.</p> |
definition group.</p> |
773 |
|
|
774 |
<pre class=ed> |
</dd> |
|
[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> |
|
|
|
|
|
<p>If the <code>AttributeDefinition</code> node is created during the process |
|
|
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> |
|
775 |
<dt><dfn id=defaultType class=dom-attr><code>defaultType</code></dfn> of |
<dt><dfn id=defaultType class=dom-attr><code>defaultType</code></dfn> of |
776 |
type <code>unsigned short</code></dt> |
type <code>unsigned short</code></dt> |
777 |
<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 |
789 |
<em class=rfc2119>MUST</em> set the specified value as the value |
<em class=rfc2119>MUST</em> set the specified value as the value |
790 |
associated to this attribute.</p> |
associated to this attribute.</p> |
791 |
|
|
792 |
<p>If the <code>AttributeDefinition</code> node is created during the process |
<p>If the |
793 |
to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document, an |
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node is |
794 |
appropriate value from the |
created during the process to create a <abbr>DOM</abbr> from an |
795 |
<a href="#DefaultValueType"><code>DefaultValueType</code></a> constant |
<abbr>XML</abbr> document, an appropriate value from the |
796 |
group <em class=rfc2119>MUST</em> be set to the attribute.</p></dd> |
<a href="#DefaultValueType"><code>DefaultValueType</code></a> definition |
797 |
|
group <em class=rfc2119>MUST</em> be set to the attribute.</p> |
798 |
|
|
799 |
|
<!-- DefaultValueType --> |
800 |
|
<p>The definition group |
801 |
|
<dfn id=DefaultValueType><code>DefaultValueType</code></dfn> |
802 |
|
contains integers indicating the type of the default for the attribute. |
803 |
|
The definition group contains the following constans:</p> |
804 |
|
|
805 |
|
<table> |
806 |
|
<thead> |
807 |
|
<tr><th scope=col>Name<th scope=col>Value<th scope=col>Description</tr> |
808 |
|
</thead> |
809 |
|
<tbody> |
810 |
|
<tr> |
811 |
|
<th scope=row><dfn id=UNKNOWN_DEFAULT class=dom-const><code>UNKNOWN_DEFAULT</code></dfn> |
812 |
|
<td><code>0</code><td>Unknown.</tr> |
813 |
|
<tr> |
814 |
|
<th scope=row><dfn id=FIXED_DEFAULT class=dom-const><code>FIXED_DEFAULT</code></dfn> |
815 |
|
<td><code>1</code><td>Provided explicitly and fixed |
816 |
|
<span class=ed>@@ ref</span> to that value.</tr> |
817 |
|
<tr> |
818 |
|
<th scope=row><dfn id=REQUIRED_DEFAULT class=dom-const><code>REQUIRED_DEFAULT</code></dfn> |
819 |
|
<td><code>2</code><td>No default value and the attribute have to be |
820 |
|
explicitly specified.</tr> |
821 |
|
<tr> |
822 |
|
<th scope=row><dfn id=IMPLIED_DEFAULT class=dom-const><code>IMPLIED_DEFAULT</code></dfn> |
823 |
|
<td><code>3</code><td>Implied <span class=ed>@@ ref</span>.</tr> |
824 |
|
<tr> |
825 |
|
<th scope=row><dfn id=EXPLICIT_DEFAULT class=dom-const><code>EXPLICIT_DEFAULT</code></dfn> |
826 |
|
<td><code>4</code><td>Provided explicitly.</tr> |
827 |
|
</tbody> |
828 |
|
</table> |
829 |
|
|
830 |
|
<p>If the source of the default type does not distinguish |
831 |
|
implied and unknown default types, then the value |
832 |
|
<a href="#IMPLIED_DEFAULT"><code>IMPLIED_DEFAULT</code></a> |
833 |
|
<em class=rfc2119>MUST</em> be used.</p> |
834 |
|
|
835 |
|
<div class="note memo"> |
836 |
|
<p>An <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> |
837 |
|
node created by the |
838 |
|
<a href="#createAttributeDefinition"><code>createAttributeDefinition</code></a> |
839 |
|
method has its <a href="#defaultType"><code>defaultType</code></a> |
840 |
|
attribute set to |
841 |
|
<a href="#UNKNOWN_DEFAULT"><code>UNKNOWN_DEFAULT</code></a>.</p> |
842 |
|
</div></dd> |
843 |
</dl> |
</dl> |
844 |
|
|
845 |
</div> |
</div> |
846 |
|
|
847 |
|
<div class=section id=section-documenttype> |
848 |
|
<h3>Modifications to the <code id=DocumentType>DocumentType</code> |
849 |
|
Interface</h3> |
850 |
|
|
851 |
|
<p>A <a href="#DocumentType"><code>DocumentType</code></a> interface |
852 |
|
<em class=rfc2119>MAY</em> contain zero or more |
853 |
|
<a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> |
854 |
|
nodes in the <code>NodeList</code> object contained in the |
855 |
|
<code>childNodes</code> attribute of the |
856 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
857 |
|
|
858 |
|
<p>If the <a href="#DocumentType"><code>DocumentType</code></a> node is created |
859 |
|
during the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> |
860 |
|
document, the <code>NodeList</code> object in the <code>childNodes</code> |
861 |
|
object <em class=rfc2119>MUST</em> contains the |
862 |
|
<a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> |
863 |
|
nodes representing the processing instructions in the document type |
864 |
|
definition of the document processed <span class=ed>@@ ref</span> by |
865 |
|
the <abbr>XML</abbr> processor. If the |
866 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node is marked |
867 |
|
as read$B!>(Bonly, then all the child nodes <em class=rfc2119>MUST</em> |
868 |
|
also be marked as read$B!>(Bonly.</p> |
869 |
|
|
870 |
|
<p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is created |
871 |
|
from a document type declaration information item <span class=ed>@@ ref</span>, |
872 |
|
the <code>NodeList</code> object in the <code>childNodes</code> attribute |
873 |
|
of the node <em class=rfc2119>MUST</em> contain the |
874 |
|
<a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes |
875 |
|
created from the processing instruction information items in the list in the |
876 |
|
[children] property of the document type declaration item in the same |
877 |
|
order.</p> |
878 |
|
|
879 |
|
<p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is mapped to |
880 |
|
a document type declaration information item, the list in the [children] |
881 |
|
property <em class=rfc2119>MUST</em> contain the processng instruction |
882 |
|
information items created from the |
883 |
|
<a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes |
884 |
|
in the <code>NodeList</code> object in the <code>childNodes</code> attribute |
885 |
|
of the <a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
886 |
|
|
887 |
|
<pre class=idl><code>// Modifications to the DocumentType interface |
888 |
|
attribute DOMString <a href="#publicId">publicId</a>; |
889 |
|
attribute DOMString <a href="#systemId">systemId</a>; |
890 |
|
</code></pre> |
891 |
|
|
892 |
|
<p class=ed> |
893 |
|
The publicId attribute and the systemId attribute of DocumentType, Entity, and Notation objects are now read-write. |
894 |
|
|
895 |
|
The setter MUST throw a NO_MODIFICATION_ALLOWED_ERR DOMException if the Node object is read-only. Otherwise, it MUST set the specified value to the attribute. No normalization, lexical validation, or relative reference resolving is performed. null, which represents no public or system identifier is provided, might be specified. |
896 |
|
|
897 |
|
Setting public or system identifier does never result in any lexical or logical structure of the document being changed. In particular, no external entity referenced by new identifier will be loaded. |
898 |
|
|
899 |
|
Setting an invalid or non-normalized identifier might make the object non-serializable. Setting a non-null public identifier to a DocumentType or Entity object that does not have non-null system identifier or setting null as the system identifier of a DocumentType or Entity object that does have non-null public identifier will make that object non-serializable. |
900 |
|
|
901 |
|
ISSUE: In HTML5, Firefox 1.5, and Opera 9, not specifying public or system identifier results in empty strings. |
902 |
|
</pre> |
903 |
|
|
904 |
|
</div> |
905 |
|
|
906 |
</div> |
</div> |
907 |
|
|
908 |
|
|