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-03>3 December 2007</time></h2> |
<h2>Working Draft <time datetime=2007-12-08>8 December 2007</time></h2> |
14 |
|
|
15 |
<dl class="versions-uri"> |
<dl class="versions-uri"> |
16 |
<dt>This Version</dt> |
<dt>This Version</dt> |
50 |
<div id="abstract" class="section"> |
<div id="abstract" class="section"> |
51 |
<h2>Abstract</h2> |
<h2>Abstract</h2> |
52 |
|
|
53 |
<div class="ed issue">...</div> |
<p>The <abbr>DOM</abbr> Document Type Definition module is a set of |
54 |
|
<abbr>DOM</abbr> interfaces, including both new interfaces and modifications |
55 |
|
to existing <abbr>DOM</abbr> interfaces, over which <abbr>DOM</abbr> |
56 |
|
applications are able to access to the definitions of the document type.</p> |
57 |
</div> |
</div> |
58 |
|
|
59 |
<div id="status" class="section"> |
<div id="status" class="section"> |
60 |
<h2>Status of This Document</h2> |
<h2>Status of This Document</h2> |
61 |
|
|
62 |
<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 |
63 |
at the time of its publication. Other documents |
time of its publication. Other documents might supersede this document.</p> |
|
might supersede this document.</em></p> |
|
64 |
|
|
65 |
<p>This document is a working draft, produced as part of the |
<p>This document is a working draft, produced as part of the |
66 |
<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> |
71 |
<p>Comments on this document are welcome and |
<p>Comments on this document are welcome and |
72 |
may be sent to the <a href="#author">author</a>.</p> |
may be sent to the <a href="#author">author</a>.</p> |
73 |
|
|
74 |
<p>Translations of thie document might be available. |
<p>Translations of this document might be available. |
75 |
The English version of the document is the only |
The English version of the document is the only |
76 |
normative version.</p> |
normative version.</p> |
77 |
</div> |
</div> |
81 |
|
|
82 |
<p class=section-info>This section is <em>non$B!>(Bnormative</em>.</p> |
<p class=section-info>This section is <em>non$B!>(Bnormative</em>.</p> |
83 |
|
|
|
<div class="issue ed"> |
|
|
<p>This is a work-in-progress specification for DOM Document Type |
|
|
Definition module, as implemented by manakai and |
|
|
<a href="http://suika.fam.cx/gate/2005/sw/DOM%20XML%20Document%20Type%20Definition">partially documented in the SuikaWiki</a>.</p> |
|
|
</div> |
|
|
|
|
84 |
<p>The <dfn id=term-dom-dtdef><abbr>DOM</abbr> Document Type Definition</dfn> |
<p>The <dfn id=term-dom-dtdef><abbr>DOM</abbr> Document Type Definition</dfn> |
85 |
module is a set of <abbr>DOM</abbr> interfaces, including both new |
module is a set of <abbr>DOM</abbr> interfaces, including both new |
86 |
interfaces and modifications to existing <abbr>DOM</abbr> interfaces, |
interfaces and modifications to existing <abbr>DOM</abbr> interfaces, |
87 |
over which <abbr>DOM</abbr> applications are able to access to the |
over which <abbr>DOM</abbr> applications are able to access to the |
88 |
definitions of the document type.</p> |
definitions of the document type.</p> |
89 |
|
|
90 |
<p>Interfaces defined in this specification are partially modeled from |
<p>Interfaces defined in this document are partially modeled and inspired by |
91 |
early drafts of <abbr>DOM</abbr> level 1 <span class=ed>@@ ref</span>, |
early drafts of <abbr>DOM</abbr> Level 1 |
92 |
<abbr>DOM</abbr> Abstract Schema level 3 <span class=ed>@@ ref</span>, and |
<cite class="bibref informative">[<a href="#ref-DOM1WD">DOM1WD</a>]</cite>, |
93 |
<abbr>XML</abbr> Schema <abbr>API</abbr>, but are not compatible with |
<abbr>DOM</abbr> Level 3 Abstract Schemas <abbr>W3C</abbr> Note |
94 |
any of them as a whole.</p> |
<cite class="bibref informative">[<a href="#ref-DOM3AS">DOM3AS</a>]</cite>, |
95 |
|
and <abbr>XML</abbr> Schema <abbr>API</abbr> specification |
96 |
|
<cite class="bibref informative">[<a href="#ref-XSAPI">XSAPI</a>]</cite>, but |
97 |
|
they are not compatible with any of them as a whole.</p> |
98 |
</div> |
</div> |
99 |
|
|
100 |
<div class="section" id="terminology"> |
<div class="section" id=conformance> |
101 |
<h2>Terminology</h2> |
<h2>Conformance Requirements</h2> |
102 |
|
|
103 |
<p>The key words <q><em class="rfc2119">MUST</em></q>, |
<div class=section id=terminology> |
104 |
<q><em class="rfc2119">MUST NOT</em></q>, |
<h3>Terminology</h3> |
|
<q><em class="rfc2119">SHOULD</em></q>, |
|
|
<q><em class="rfc2119">SHOULD NOT</em></q>, and |
|
|
<q><em class=rfc2119>MAY</em></q> in this |
|
|
document are to be interpreted as described in |
|
|
<a href="urn:ietf:rfc:2119"><abbr title="Request for Comments">RFC</abbr> |
|
|
2119</a> |
|
|
<cite class="bibref normative">[<a href="#ref-KEYWORDS">KEYWORDS</a>]</cite>.</p> |
|
105 |
|
|
|
<!-- Strictly speaking the paragraph below is not part of terminology. --> |
|
106 |
<p>All examples and notes in this specification are non$B!>(Bnormative, |
<p>All examples and notes in this specification are non$B!>(Bnormative, |
107 |
as are all sections explicitly marked non$B!>(Bnormative. Everything |
as are all sections explicitly marked non$B!>(Bnormative. Everything |
108 |
else in this specification is normative.</p> |
else in this specification is normative.</p> |
109 |
|
|
110 |
<p><span class=ed>Algorithm is normative but non-normative</span>. |
<p>The key words <q><em class="rfc2119">MUST</em></q>, |
111 |
In addition, the order in which <a href="#errors">errors</a> are |
<q><em class="rfc2119">MUST NOT</em></q>, and <q><em class=rfc2119>MAY</em></q> |
112 |
raised is undefined.</p> |
in this document are to be interpreted as described in |
113 |
|
<a href="urn:ietf:rfc:2119"><abbr title="Request for Comments">RFC</abbr> |
114 |
|
2119</a> |
115 |
|
<cite class="bibref normative">[<a href="#ref-KEYWORDS">KEYWORDS</a>]</cite>.</p> |
116 |
|
|
117 |
<p class=ed><var>A</var> object is an object implementing <var>A</var> |
<p>Conformance requirements phrased as algorithms or specific steps |
118 |
interface.</p> |
<em class=rfc2119>MAY</em> be implemented in any manner, so long as the end |
119 |
|
result is equivalent. Requirements phrased in the imperative as part of |
120 |
|
algorithms are to be interpreted with the meaning of the key word used in |
121 |
|
introducing the algorithm.</p> |
122 |
|
|
123 |
|
<p>Sometimes an exception is phrased as being required to be raised. As |
124 |
|
specified in the <abbr>DOM</abbr> Core specification |
125 |
|
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>, |
126 |
|
when the value of the <code>strictErrorChecking</code> attribute of the |
127 |
|
<a href="#Document"><code>Document</code></a> node is <code>false</code>, |
128 |
|
then the exception is not have to be raised.</p> |
129 |
|
|
130 |
|
<p>Some conformance requirements are phrased as requirements on interfaces, |
131 |
|
attributes, methods, or objects. Such requirements are applied to |
132 |
|
implementations.</p> |
133 |
|
|
134 |
|
<p>The construction <q>a <code><var>Foo</var></code> object</q>, where |
135 |
|
<code><var>Foo</var></code> is an interface, is used instead of the more |
136 |
|
accurate <q>an object implementing the interface |
137 |
|
<code><var>Foo</var></code></q>.</p> |
138 |
|
|
139 |
|
<p>The construction <q>raise a <code><var>Bar</var></code></q>, where |
140 |
|
<code><var>Bar</var></code> is an exception code, is used instead of the more |
141 |
|
accurate <q>raise an exception implementing the interface |
142 |
|
<code>DOMException</code> |
143 |
|
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite> |
144 |
|
with its <code>code</code> attribute set to |
145 |
|
<code><var>Bar</var></code></q>.</p> |
146 |
|
|
147 |
|
<p>The terms |
148 |
|
<em id=live><a href="http://www.whatwg.org/specs/web-apps/current-work/#live">live</a></em> |
149 |
|
and <em id=setting>setting</em> and <em id=getting>getting</em> of an attribute |
150 |
|
is defined in the HTML5 specification |
151 |
|
<cite class="bibref normative">[<a href="#ref-HTML5">HTML5</a>]</cite>.</p> |
152 |
|
|
153 |
|
<p>The term |
154 |
|
<em id=read-only><a href="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/glossary.html#dt-readonly-node">read$B!>(Bonly (node)</a></em> |
155 |
|
is defined in the <abbr>DOM</abbr> Level 3 Core specification |
156 |
|
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p> |
157 |
|
|
158 |
|
<p>The <em id=idl-fragment><abbr>IDL</abbr> fragments</em> in this document are |
159 |
|
to be interpreted as described in the <cite>Language Bindings for |
160 |
|
<abbr>DOM</abbr> Specifications</cite> specification |
161 |
|
<cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite>.</p> |
162 |
|
|
163 |
|
<p>Some <abbr>IDL</abbr> fragments are presented as <i>patch</i> to an |
164 |
|
<abbr>IDL</abbr> fragment defined in another document. They are to be |
165 |
|
interpreted as an instance of |
166 |
|
<a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMembers"><code>InterfaceMembers</code></a> |
167 |
|
<cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite>. |
168 |
|
If the <abbr>IDL</abbr> fragment to which the <i>patch</i> is applied has any |
169 |
|
instance of |
170 |
|
<a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMember"><code>InterfaceMember</code></a> |
171 |
|
with same |
172 |
|
<a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#prod-identifier"><code>identifier</code></a> |
173 |
|
part as that of any instance of |
174 |
|
<a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMember"><code>InterfaceMember</code></a> |
175 |
|
in the <i>patch</i>, then the former instance of |
176 |
|
<a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#proddef-InterfaceMember"><code>InterfaceMember</code></a> |
177 |
|
<em class=rfc2119>MUST</em> be ignored.</p> |
178 |
|
</div> |
179 |
|
|
180 |
<p class=ed>@@ ref to DOM Binding Spec</p> |
<div class=section id=conformance-categories> |
181 |
|
<h3>Conformance Categories</h3> |
182 |
|
|
183 |
<p>If the <code>strictErrorChecking</code> attribute of the |
<p>There are several kinds of products that can be claim to conform to |
184 |
<code>Document</code> node is <code>false</code>, the methods are |
this specification:</p> |
185 |
not required to raise exceptions <span class=ed>[DOM3]</span>.</p> |
<dl> |
186 |
|
<dt id=category-dom-implementation><abbr>DOM</abbr> Implementation</dt> |
187 |
|
<dd>A <abbr>DOM</abbr> implementation (or just written as |
188 |
|
<q>implementation</q> in this document) provides a way to access |
189 |
|
<abbr>DOM</abbr> trees for applications by implementing interfaces defined |
190 |
|
by this and other documents. Unless otherwise noted, requirements in this |
191 |
|
document are applied to <abbr>DOM</abbr> implementations. To implement |
192 |
|
all the features in this document, the implementation have to implement |
193 |
|
some version of <abbr>DOM</abbr> Core (e.g. <abbr>DOM</abbr> Level 3 Core |
194 |
|
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>) |
195 |
|
with one or more language binding (e.g. ECMAScript and Java bindings |
196 |
|
<cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite> |
197 |
|
or Perl binding |
198 |
|
<cite class="bibref normative">[<a href="#ref-DOMPERL">DOMPERL</a>]</cite>). |
199 |
|
A conforming implementation <em class=rfc2119>MUST</em> also be a |
200 |
|
<a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/#dfn-conforming-implementation">conforming |
201 |
|
implementation</a> of the <abbr>IDL</abbr> fragments in this document, as |
202 |
|
described in the <cite>Language Bindings for <abbr>DOM</abbr> |
203 |
|
Specifications</cite> specification |
204 |
|
<cite class="bibref normative">[<a href="#ref-DOMBIND">DOMBIND</a>]</cite>.</dd> |
205 |
|
<dt id=category-xml-parser><abbr>XML</abbr> Parser (<abbr>XML</abbr> document |
206 |
|
to <abbr>DOM</abbr> tree converter)</dt> |
207 |
|
<dd>A software component that converts |
208 |
|
<abbr>XML</abbr> 1.0 or 1.1 document |
209 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
210 |
|
<a href="#ref-XML11">XML11</a>]</cite> (or fragment thereof) into a |
211 |
|
<abbr>DOM</abbr> tree (or fragment thereof) in the context of this |
212 |
|
document. Note that this document does not define any particular way to |
213 |
|
parse an <abbr>XML</abbr> document or to construct an <abbr>DOM</abbr> |
214 |
|
document, but it defines constraints for such processing.</dd> |
215 |
|
<dt id=category-xml-serializer><abbr>XML</abbr> Serializer (<abbr>DOM</abbr> |
216 |
|
tree to <abbr>XML</abbr> document converter)</dt> |
217 |
|
<dd>A software component that converts |
218 |
|
<abbr>DOM</abbr> tree (or fragment thereof) into an <abbr>XML</abbr> 1.0 or |
219 |
|
1.1 document (or fragment thereof). Note that this document does not define |
220 |
|
any particular way to serialize a <abbr>DOM</abbr> tree, but it defines |
221 |
|
constraints for such processing.</dd> |
222 |
|
<dt id=category-infoset-dom><abbr>XML</abbr> Information Set to |
223 |
|
<abbr>DOM</abbr> Tree Converter</dt> |
224 |
|
<dd>A software component that converts an <abbr>XML</abbr> information set |
225 |
|
<cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite> |
226 |
|
into a <abbr>DOM</abbr> tree. Note that this document does not define |
227 |
|
any particular way for the conversion, but it defines constraints for |
228 |
|
such processing.</dd> |
229 |
|
<dt id=category-dom-infoset><abbr>DOM</abbr> Tree to <abbr>XML</abbr> |
230 |
|
Information Set Converter</dt> |
231 |
|
<dd>A software component that converts a <abbr>DOM</abbr> tree into |
232 |
|
an <abbr>XML</abbr> information set. Note that this document does not define |
233 |
|
any particular way for the conversion, but it defines constraints for |
234 |
|
such processing.</dd> |
235 |
|
</dl> |
236 |
|
</div> |
237 |
</div> |
</div> |
238 |
|
|
239 |
<div class=section id=dom-dtdef> |
<div class=section id=dom-dtdef> |
240 |
<h2><abbr>DOM</abbr> Document Type Definition Module</h2> |
<h2><abbr>DOM</abbr> Document Type Definition Module</h2> |
241 |
|
|
242 |
<p>The <abbr>DOM</abbr> Document Type Definition module, version 3.0, |
<p>The <abbr>DOM</abbr> Document Type Definition module, version 3.0, |
243 |
consists of three interfaces:</p> |
introduces four interfaces: |
244 |
<ul> |
<a href="#DocumentXDoctype"><code>DocumentXDoctype</code></a>, |
245 |
<li><a href="#DocumentXDoctype"><code>DocumentXDoctype</code></a></li> |
<a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a>, |
246 |
<li><a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a></li> |
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>, |
247 |
<li><a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a></li> |
and <a href="#AttributeDefinition"><code>AttributeDefinition</code></a>. |
248 |
<li><a href="#AttributeDefinition"><code>AttributeDefinition</code></a></li> |
In addition, it modifies existing interfaces |
|
</ul> |
|
|
|
|
|
<p>In addition, it modifies interfaces |
|
249 |
<a href="#Node"><code>Node</code></a>, |
<a href="#Node"><code>Node</code></a>, |
250 |
|
<a href="#Document"><code>Document</code></a>, |
251 |
<a href="#DocumentType"><code>DocumentType</code></a>, |
<a href="#DocumentType"><code>DocumentType</code></a>, |
252 |
<a href="#Entity"><code>Entity</code></a>, |
<a href="#Entity"><code>Entity</code></a>, and |
253 |
<a href="#EntityReference"><code>EntityReference</code></a>, |
<a href="#Notation"><code>Notation</code></a> |
254 |
<a href="#Notation"><code>Notation</code></a>, and |
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p> |
|
<a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a>.</p> |
|
255 |
|
|
256 |
<div class=section id=features> |
<div class=section id=features> |
257 |
<h3>Feature Name</h3> |
<h3>Feature String</h3> |
258 |
|
|
259 |
<p>In a <abbr>DOM</abbr> implementation that supports the version 3.0 of |
<p>In a <abbr>DOM</abbr> implementation that supports the version 3.0 of |
260 |
the <abbr>DOM</abbr> Document Type Definition module, the |
the <abbr>DOM</abbr> Document Type Definition module, the |
261 |
<code>hasFeature</code> method of a <code>DOMImplementation</code> object |
<code>hasFeature</code> method of a <code>DOMImplementation</code> object |
262 |
|
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite> |
263 |
<em class=rfc2119>MUST</em> return <code>true</code> when the parameters are |
<em class=rfc2119>MUST</em> return <code>true</code> when the parameters are |
264 |
set to <code>http://suika.fam.cx/www/2006/feature/XDoctype</code> and |
set to |
265 |
<code>3.0</code> respectively.</p> |
<dfn id=feature-XDoctype><code>http://suika.fam.cx/www/2006/feature/XDoctype</code></dfn> |
266 |
|
and <dfn id=feature-XDoctype-3.0><code>3.0</code></dfn> respectively. Any |
267 |
|
method that takes one or more feature names, with or without version number, |
268 |
|
such as <code>hasFeature</code> or <code>getFeature</code>, |
269 |
|
<em class=rfc2119>MUST</em> behave in a manner consistent with it.</p> |
270 |
|
</div> |
271 |
|
|
272 |
|
<div class=section id=section-node> |
273 |
|
<h3>Modifications to the <code id=Node>Node</code> Interface</h3> |
274 |
|
|
275 |
|
<p>The implementation of the |
276 |
|
<a href="#Node"><code>Node</code></a> interface |
277 |
|
<em class=rfc2119>MUST</em> be modified as the following |
278 |
|
<a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p> |
279 |
|
<pre class=idl><code>// Additions to the Node interface |
280 |
|
|
281 |
|
// Additions to the NodeType definition group |
282 |
|
const unsigned short <a href="#ELEMENT_TYPE_DEFINITION_NODE">ELEMENT_TYPE_DEFINITION_NODE</a> = 81001; |
283 |
|
const unsigned short <a href="#ATTRIBUTE_DEFINITION_NODE">ATTRIBUTE_DEFINITION_NODE</a> = 81002; |
284 |
|
</pre> |
285 |
|
|
286 |
|
<p>This specification adds two new types (subinterfaces) of |
287 |
|
<a href="#Node"><code>Node</code></a>: element type definition (node type |
288 |
|
<a href="#ELEMENT_TYPE_DEFINITION_NODE"><code>ELEMENT_TYPE_DEFINITION_NODE</code></a>, |
289 |
|
interface |
290 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>) and |
291 |
|
attribute definition (node type |
292 |
|
<a href="#ATTRIBUTE_DEFINITION_NODE"><code>ATTRIBUTE_DEFINITION_NODE</code></a>, |
293 |
|
interface |
294 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a>). For |
295 |
|
these kinds of nodes, methods and attributes in the |
296 |
|
<a href="#Node"><code>Node</code></a> interface must behave as following:</p> |
297 |
|
|
298 |
|
<dl> |
299 |
|
<dt><code id=attributes>attributes</code>, |
300 |
|
<code id=localName>localName</code>, |
301 |
|
<code id=namespaceURI>namespaceURI</code>, and |
302 |
|
<code id=prefix>prefix</code></dt> |
303 |
|
<dd> |
304 |
|
<p>On getting, the attributes <em class=rfc2119>MUST</em> return |
305 |
|
<code>null</code>.</p> |
306 |
|
</dd> |
307 |
|
<dt><code id=baseURI>baseURI</code></dt> |
308 |
|
<dd> |
309 |
|
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
310 |
|
value of the <a href="#baseURI"><code>baseURI</code></a> attribute |
311 |
|
of the node in the <code>ownerDocument</code> attribute of the node. |
312 |
|
Note that the value might be <code>null</code>.</p> |
313 |
|
</dd> |
314 |
|
<dt><code id=cloneNode>cloneNode</code></dt> |
315 |
|
<dd class=ed> |
316 |
|
<p>A future version of the specification is expected to define the |
317 |
|
behavior of the <a href="#cloneNode"><code>cloneNode</code></a> method |
318 |
|
for those kinds of nodes. In addition, it might revise behavior of |
319 |
|
the method for <a href="#Entity"><code>Entity</code></a>, |
320 |
|
<a href="#Notation"><code>Notation</code></a>, and/or |
321 |
|
<a href="#DocumentType"><code>DocumentType</code></a> nodes.</p> |
322 |
|
</dd> |
323 |
|
<!-- |
324 |
|
<dd class=ed>@@ If Attr and AttributeDefinition is inconsistent, then ...</dd> |
325 |
|
--> |
326 |
|
<dt><code id=compareDocumentPosition>compareDocumentPosition</code></dt> |
327 |
|
<dd class=ed> |
328 |
|
<p>A future version of the specification is expected to define the |
329 |
|
behavior of the method |
330 |
|
for those kinds of nodes. In addition, it might revise behavior of |
331 |
|
the method for <a href="#Entity"><code>Entity</code></a>, |
332 |
|
<a href="#Notation"><code>Notation</code></a>, and/or |
333 |
|
<a href="#DocumentType"><code>DocumentType</code></a> nodes.</p> |
334 |
|
</dd> |
335 |
|
<dt><code id=isDefaultNamespace>isDefaultNamespace</code></dt> |
336 |
|
<dd><p>When invoked, the method <em class=rfc2119>MUST</em> return |
337 |
|
<code>false</code>.</p></dd> |
338 |
|
<dt><code id=isEqualNode>isEqualNode</code></dt> |
339 |
|
<dd><p>For the <a href="#isEqualNode"><code>isEqualNode</code></a> method, |
340 |
|
following items are added to the list of conditions for equality:</p> |
341 |
|
|
342 |
|
<ul> |
343 |
|
<li> |
344 |
|
<p>If the nodes are <a href="#DocumentType"><code>DocumentType</code></a> |
345 |
|
and at least one of them has the support for the feature |
346 |
|
<a href="#feature-XDoctype"><code>http://suika.fam.cx/www/2006/feature/XDoctype</code></a>:</p> |
347 |
|
<ul> |
348 |
|
<li>they are equal according to <abbr>DOM</abbr> Level 3 Core definition |
349 |
|
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>, |
350 |
|
and |
351 |
|
<li>either: |
352 |
|
<ul><!-- |
353 |
|
<li>both of them does not support the feature |
354 |
|
<a href="#feature-XDoctype"><code>http://suika.fam.cx/www/2006/feature/XDoctype</code></a>,</li>--> |
355 |
|
<li>exactly one of them support the feature |
356 |
|
<a href="#feature-XDoctype"><code>http://suika.fam.cx/www/2006/feature/XDoctype</code></a> |
357 |
|
and the <code>length</code> attribute of the <code>NamedNodeMap</code> |
358 |
|
object in the <a href="#elementTypes"><code>elementTypes</code></a> |
359 |
|
attribute of it is equal to <code>0</code>, or</li> |
360 |
|
<li>both of them support the feature |
361 |
|
<a href="#feature-XDoctype"><code>http://suika.fam.cx/www/2006/feature/XDoctype</code></a> |
362 |
|
and the values of the |
363 |
|
<a href="#elementTypes"><code>elementTypes</code></a> attributes are |
364 |
|
equal (equality of the |
365 |
|
<a href="#elementTypes"><code>elementTypes</code></a> attribute is same |
366 |
|
as that for the <code>attributes</code> attribute).</li> |
367 |
|
</ul> |
368 |
|
</li> |
369 |
|
</ul> |
370 |
|
</li> |
371 |
|
|
372 |
|
<li><p>If the nodes are |
373 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>, |
374 |
|
the values of the |
375 |
|
<a href="#attributeDefinitions"><code>attributeDefinitions</code></a> |
376 |
|
attributes are equal (equality of the |
377 |
|
<a href="#attributeDefinitions"><code>attributeDefinitions</code></a> |
378 |
|
attribute is same as that for the <code>attributes</code> attribute).</p></li> |
379 |
|
|
380 |
|
<li><p>If the nodes are |
381 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a>, |
382 |
|
the values of the <a href="#declaredType"><code>declaredType</code></a> and |
383 |
|
the <a href="#defaultType"><code>defaultType</code></a> attributes are |
384 |
|
equal respectively.</p></li> |
385 |
|
|
386 |
|
<li><p>If the nodes are |
387 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a>, |
388 |
|
the values of the <code>DOMStringList</code> objects in the |
389 |
|
<a href="#allowedTokens"><code>allowedTokens</code></a> attributes |
390 |
|
are equal, i.e. their <code>length</code> attribute values are equal and |
391 |
|
each string exists in a list is contained in another list (their indecies |
392 |
|
may be different), with an additional constraint that the number of the |
393 |
|
items that are equal to a string in a list is equal to the number |
394 |
|
of the items equal to the string in another list.</p></li> |
395 |
|
</ul></dd> |
396 |
|
<dt><code id=manakaiLocalName>manakaiLocalName</code> |
397 |
|
<cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt> |
398 |
|
<dd><p class=section-info>This entry is applied only to implementations |
399 |
|
that support this attribute.</p> |
400 |
|
|
401 |
|
<p>On getting, the attributes <em class=rfc2119>MUST</em> return |
402 |
|
<code>null</code>.</p></dd> |
403 |
|
<dt><code id=lookupNamespaceURI>lookupNamespaceURI</code> and |
404 |
|
<code id=lookupPrefix>lookupPrefix</code></dt> |
405 |
|
<dd><p>When invoked, the methods <em class=rfc2119>MUST</em> return |
406 |
|
<code>null</code>.</p></dd> |
407 |
|
<dt><code id=nodeName>nodeName</code></dt> |
408 |
|
<dd> |
409 |
|
<p>If the node is an |
410 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>: |
411 |
|
On getting, the attribute <em class=rfc2119>MUST</em> return the |
412 |
|
name of the element type definition represented by the node.</p> |
413 |
|
|
414 |
|
<p>If the node is an |
415 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a>: |
416 |
|
On getting, the attribute <em class=rfc2119>MUST</em> return the |
417 |
|
name of the attribute definition represented by the node.</p> |
418 |
|
</dd> |
419 |
|
<dt><code id=nodeType>nodeType</code></dt> |
420 |
|
<dd> |
421 |
|
<p>On getting, the attribute <!--<em class=rfc2119>MUST</em>--> returns |
422 |
|
<!-- NOTE: No MUST, to avoid circular reference (nodeType==8100[12] |
423 |
|
is defined that they MUST implement ElementType|AttributeDefinition). --> |
424 |
|
<a href="#ELEMENT_TYPE_DEFINITION_NODE"><code>ELEMENT_TYPE_DEFINITION_NODE</code></a> |
425 |
|
(if the node is an |
426 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>) or |
427 |
|
<a href="#ATTRIBUTE_DEFINITION_NODE"><code>ATTRIBUTE_DEFINITION_NODE</code></a> |
428 |
|
(if the node is an |
429 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a>).</p> |
430 |
|
|
431 |
|
<!-- NodeType --> |
432 |
|
<p>Two constants are added to the <code id=NodeType>NodeType</code> |
433 |
|
definition group of the <a href="#Node"><code>Node</code></a> interface as |
434 |
|
following:</p> |
435 |
|
<table> |
436 |
|
<thead> |
437 |
|
<tr><th scope=col>Name<th scope=col>Value<th scope=col>Description</tr> |
438 |
|
</thead> |
439 |
|
<tbody> |
440 |
|
<tr> |
441 |
|
<th scope=row><dfn id=ELEMENT_TYPE_DEFINITION_NODE class=dom-const><code>ELEMENT_TYPE_DEFINITION_NODE</code></dfn> |
442 |
|
<td><code>81001</code><td>The node is an |
443 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>.</tr> |
444 |
|
<tr> |
445 |
|
<th scope=row><dfn id=ATTRIBUTE_DEFINITION_NODE class=dom-const><code>ATTRIBUTE_DEFINITION_NODE</code></dfn> |
446 |
|
<td><code>81002</code><td>The node is an |
447 |
|
<a href="#ElementTypeDefinition"><code>AttributeDefinition</code></a>.</tr> |
448 |
|
</tbody> |
449 |
|
</table> |
450 |
|
</dd> |
451 |
|
<dt><code id=nodeValue>nodeValue</code> and |
452 |
|
<code id=textContent>textContent</code></dt> |
453 |
|
<dd> |
454 |
|
<p>If the node is an |
455 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>: |
456 |
|
On getting, the attributes <em class=rfc2119>MUST</em> return |
457 |
|
<code>null</code>.</p> |
458 |
|
|
459 |
|
<div class="note memo"> |
460 |
|
<p>Thus, on setting the attributes does nothing |
461 |
|
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p> |
462 |
|
</div> |
463 |
|
|
464 |
|
<p>If the node is an |
465 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a>: |
466 |
|
The attribute <em class=rfc2119>MUST</em> behave as if the node |
467 |
|
were <code>Attr</code> |
468 |
|
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p></dd> |
469 |
|
<dt><code id=normalize>normalize</code></dt> |
470 |
|
<dd><p>When a <a href="#DocumentType"><code>DocumentType</code></a> is |
471 |
|
normalized, any nodes in the <code>NamedNodeMap</code> object in the |
472 |
|
<a href="#elementTypes"><code>elementTypes</code></a> attribute |
473 |
|
<em class=rfc2119>MUST</em> be normalized as well.</p> |
474 |
|
|
475 |
|
<p>When an |
476 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node |
477 |
|
is normalized, any nodes in the <code>NamedNodeMap</code> object in the |
478 |
|
<a href="#attributeDefinitions"><code>attributeDefinitions</code></a> |
479 |
|
attribute <em class=rfc2119>MUST</em> be normalized as well.</p></dd> |
480 |
|
</dl> |
481 |
|
|
482 |
|
</div> |
483 |
|
|
484 |
|
<div class=section id=section-document> |
485 |
|
<h3>Modifications to the <code id=Document>Document</code> Interface</h3> |
486 |
|
|
487 |
|
<!-- |
488 |
|
<p>If an attempt is made to adopt an |
489 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> or |
490 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node, |
491 |
|
the <code id=adoptNode>adoptNode</code> method <em class=rfc2119>MUST</em> |
492 |
|
raise a <code>NOT_SUPPORTED_ERR</code> exception <span class=ed>@@ |
493 |
|
ref</span>.</p> |
494 |
|
--> |
495 |
|
|
496 |
|
<div class=ed> |
497 |
|
<p>Future version of the specification is expected to define what should |
498 |
|
be done if <code>adoptNode</code> or <code>importNode</code> method have to |
499 |
|
adopt or import an |
500 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> or |
501 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node. |
502 |
|
In addition it might revise behavior of those methods for |
503 |
|
<a href="#Entity"><code>Entity</code></a>, |
504 |
|
<a href="#Notation"><code>Notation</code></a>, and/or |
505 |
|
<a href="#DocumentType"><code>DocumentType</code></a> nodes. |
506 |
|
Behavior of <code>normalizeDocument</code> method for these kinds of |
507 |
|
nodes might also be defined in some day.</p> |
508 |
|
</div> |
509 |
|
|
|
<p>In such an implementation, the <code>getFeature</code> method of a |
|
|
<code>Document</code> object <em class=rfc2119>MUST</em> return the (at least |
|
|
conceptually) same object implementing the |
|
|
<a href="#DocumentXDoctype"><code>DocumentXDoctype</code></a> interface when |
|
|
the parameters are set to |
|
|
<code>http://suika.fam.cx/www/2006/feature/XDoctype</code> and |
|
|
<code>3.0</code> respectively. Likewise, any method that takes one or more |
|
|
feature names with or without version number, including the methods |
|
|
<code>hasFeature</code> and <code>getFeature</code>, |
|
|
<em class=rfc2119>MUST</em> behave in a manner consistent with the |
|
|
aforementioned cases.</p> |
|
510 |
</div> |
</div> |
511 |
|
|
512 |
<div class=section id=section-documentxdoctype> |
<div class=section id=section-documentxdoctype> |
513 |
<h3>The <code>DocumentXDoctype</code> Interface</h3> |
<h3>The <code>DocumentXDoctype</code> Interface</h3> |
514 |
|
|
515 |
|
<p>The <a href="#Document"><code>Document</code></a> nodes |
516 |
|
<em class=rfc2119>MUST</em> also implement the |
517 |
|
<a href="#DocumentXDoctype"><code>DocumentXDoctype</code></a> interface.</p> |
518 |
|
|
519 |
|
<p>An instance of the |
520 |
|
<a href="#DocumentXDoctype"><code>DocumentXDoctype</code></a> |
521 |
|
interface <em class=rfc2119>MUST</em> be able to be obtained by using |
522 |
|
binding$B!>(Bspecific casting methods on an instance of the |
523 |
|
<a href="#Document"><code>Document</code></a> interface (if such |
524 |
|
casting methods are available) or by using the method <code>getFeature</code> |
525 |
|
with parameter values |
526 |
|
<a href="#feature-XDoctype"><code>http://suika.fam.cx/www/2006/feature/XDoctype</code></a> |
527 |
|
and <a href="#feature-XDoctype-3.0"><code>3.0</code></a> respectively (if the |
528 |
|
<a href="#Document"><code>Document</code></a> node supports the |
529 |
|
feature <code>Core</code> version <code>3.0</code> |
530 |
|
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>).</p> |
531 |
|
|
532 |
|
<p>The <a href="#DocumentXDoctype"><code>DocumentXDoctype</code></a> interface |
533 |
|
<em class=rfc2119>MUST</em> be implemented as the following |
534 |
|
<a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p> |
535 |
<pre class=idl><code>interface <dfn id=DocumentXDoctype><code>DocumentXDoctype</code></dfn> { |
<pre class=idl><code>interface <dfn id=DocumentXDoctype><code>DocumentXDoctype</code></dfn> { |
536 |
DocumentType <a href="#createDocumentTypeDefinition">createDocumentTypeDefinition</a> |
DocumentType <a href="#createDocumentTypeDefinition">createDocumentTypeDefinition</a> |
537 |
(in DOMString <a href="#createDocumentTypeDefinition-name"><var>name</var></a>) |
(in DOMString <a href="#createDocumentTypeDefinition-name"><var>name</var></a>) |
550 |
raises (DOMException); |
raises (DOMException); |
551 |
}</code></pre> |
}</code></pre> |
552 |
|
|
|
<div class=ed>@@ cast definition</div> |
|
|
|
|
553 |
<dl> |
<dl> |
554 |
<dt><dfn id=createDocumentTypeDefinition class=dom-method><code>createDocumentTypeDefinition</code></dfn>, |
<dt><dfn id=createDocumentTypeDefinition class=dom-method><code>createDocumentTypeDefinition</code></dfn>, |
555 |
method</dt> |
method</dt> |
556 |
<dd> |
<dd> |
557 |
<p>This method creates a <code>DocumentType</code> node with the specified |
<p>This method creates a <code>DocumentType</code> node with the specified |
558 |
name, belonging to the document.</p> |
name, belonging to the document.</p> |
559 |
<p>The <dfn id=createDocumentTypeDefinition-name class=dom-param><var>name</var></dfn> |
<p>The |
560 |
|
<dfn id=createDocumentTypeDefinition-name class=dom-param><var>name</var></dfn> |
561 |
parameter is the name of the document type.</p> |
parameter is the name of the document type.</p> |
562 |
|
|
563 |
<p>When invoked, the method <em class=rfc2119>MUST</em> create and |
<p>When invoked, the method <em class=rfc2119>MUST</em> create and |
564 |
return a <code>DocumentType</code> node with the following attributes:</p> |
return a <a href="#DocumentType"><code>DocumentType</code></a> node with |
565 |
|
the following attributes:</p> |
566 |
<dl> |
<dl> |
567 |
<dt><code>attributes</code>, <code>parentNode</code></dt> |
<dt><code>attributes</code>, <code>parentNode</code></dt> |
568 |
<dd><code>null</code>.</dd> |
<dd><code>null</code>.</dd> |
569 |
<dt><code>elementTypes</code>, <code>generalEntities</code>, and |
<dt><a href="#elementTypes"><code>elementTypes</code></a>, |
570 |
<code>notations</code></dt> |
<a href="#entities"><code>entities</code></a>, and |
571 |
<dd>Empty <code>NamedNodeMap</code> objects.</dd> |
<a href="#notations"><code>notations</code></a></dt> |
572 |
<dt><code>entities</code></dt> |
<dd>Empty <code>NamedNodeMap</code> objects respectively.</dd> |
|
<dd>The same value as the <code>generalEntities</code> attribute.</dd> |
|
573 |
<dt><code>childNodes</code></dt> |
<dt><code>childNodes</code></dt> |
574 |
<dd>An empty <code>NodeList</code> object.</dd> |
<dd>An empty <code>NodeList</code> object.</dd> |
575 |
<dt><code>internalSubset</code>, <code>publicId</code>, and |
<dt><a href="#internalSubset"><code>internalSubset</code></a>, |
576 |
<code>systemId</code></dt> |
<a href="#publicId"><code>publicId</code></a>, and |
577 |
|
<a href="#systemId"><code>systemId</code></a></dt> |
578 |
<dd>Empty strings.</dd> |
<dd>Empty strings.</dd> |
|
<dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt> |
|
|
<dd><code>false</code>.</dd> |
|
579 |
<dt><code>nodeName</code></dt> |
<dt><code>nodeName</code></dt> |
580 |
<dd><a href="#createDocumentTypeDefinition-name"><var>name</var></a>.</dd> |
<dd><a href="#createDocumentTypeDefinition-name"><var>name</var></a>.</dd> |
581 |
<dt><code>ownerDocument</code></dt> |
<dt><code>ownerDocument</code></dt> |
582 |
<dd>The <code>Document</code> over which the method is invoked.</dd> |
<dd>The <a href="#Document"><code>Document</code></a> node over which the |
583 |
|
method is invoked.</dd> |
584 |
</dl> |
</dl> |
585 |
|
<p>The returned node <em class=rfc2119>MUST NOT</em> be marked as |
586 |
|
<a href="#read-only">read$B!>(Bonly</a>.</p> |
587 |
<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 |
588 |
containing five general entity declarations: <code>amp</code>, |
containing five general entity declarations: <code>amp</code>, |
589 |
<code>lt</code>, <code>gt</code>, <code>quot</code>, and |
<code>lt</code>, <code>gt</code>, <code>quot</code>, and |
605 |
<dl> |
<dl> |
606 |
<dt><a href="#attributeDefinitions"><code>attributeDefinitions</code></a></dt> |
<dt><a href="#attributeDefinitions"><code>attributeDefinitions</code></a></dt> |
607 |
<dd>An empty <code>NamedNodeMap</code> object.</dd> |
<dd>An empty <code>NamedNodeMap</code> object.</dd> |
|
<dt><code>attributes</code>, <code>parentNode</code></dt> |
|
|
<dd><code>null</code>.</dd> |
|
608 |
<dt><code>childNodes</code></dt> |
<dt><code>childNodes</code></dt> |
609 |
<dd>An empty <code>NodeList</code> object.</dd> |
<dd>An empty <code>NodeList</code> object.</dd> |
610 |
<dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt> |
<dt><a href="#nodeName"><code>nodeName</code></a></dt> |
|
<dd><code>false</code>.</dd> |
|
|
<dt><code>nodeName</code></dt> |
|
611 |
<dd><a href="#createElementTypeDefinition-name"><var>name</var></a>.</dd> |
<dd><a href="#createElementTypeDefinition-name"><var>name</var></a>.</dd> |
612 |
<dt><code>ownerDocument</code></dt> |
<dt><code>ownerDocument</code></dt> |
613 |
<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> |
614 |
<dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a></dt> |
<dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a> |
615 |
|
and <code>parentNode</code></dt> |
616 |
<dd><code>null</code>.</dd> |
<dd><code>null</code>.</dd> |
|
<dt class=ed>@@ Ensure all attributes are defined</dt> |
|
617 |
</dl> |
</dl> |
618 |
|
<p>The returned node <em class=rfc2119>MUST NOT</em> be marked as |
619 |
|
<a href="#read-only">read$B!>(Bonly</a>.</p> |
620 |
</dd> |
</dd> |
621 |
<dt><dfn id=createAttributeDefinition class=dom-method><code>createAttributeDefinition</code></dfn>, |
<dt><dfn id=createAttributeDefinition class=dom-method><code>createAttributeDefinition</code></dfn>, |
622 |
method</dt> |
method</dt> |
632 |
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> |
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> |
633 |
node with the following attributes:</p> |
node with the following attributes:</p> |
634 |
<dl> |
<dl> |
635 |
<dt><code>allowedTokens</code></dt> |
<dt><a href="#allowedTokens"><code>allowedTokens</code></a></dt> |
636 |
<dd>An empty <code>DOMStringList</code> object.</dd> |
<dd>An empty <code>DOMStringList</code> object.</dd> |
|
<dt><code>attributes</code>, |
|
|
<a href="#ownerElementTypeDefinition"><code>ownerElementTypeDefinition</code></a>, |
|
|
and <code>parentNode</code></dt> |
|
|
<dd><code>null</code>.</dd> |
|
637 |
<dt><code>childNodes</code></dt> |
<dt><code>childNodes</code></dt> |
638 |
<dd>An empty <code>NodeList</code> object.</dd> |
<dd>An empty <code>NodeList</code> object.</dd> |
639 |
<dt><code>declaredType</code></dt> |
<dt><a href="#declaredType"><code>declaredType</code></a></dt> |
640 |
<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> |
641 |
<dt><code>defaultType</code></dt> |
<dt><a href="#defaultType"><code>defaultType</code></a></dt> |
642 |
<dd><a href="#UNKNOWN_DEFAULT"><code>UNKNOWN_DEFAULT</code></a>.</dd> |
<dd><a href="#UNKNOWN_DEFAULT"><code>UNKNOWN_DEFAULT</code></a>.</dd> |
643 |
<dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt> |
<dt><a href="#nodeName"><code>nodeName</code></a></dt> |
|
<dd><code>false</code>.</dd> |
|
|
<dt><code>nodeName</code></dt> |
|
644 |
<dd><a href="#createAttributeDefinition-name"><var>name</var></a>.</dd> |
<dd><a href="#createAttributeDefinition-name"><var>name</var></a>.</dd> |
645 |
<dt><code>ownerDocument</code></dt> |
<dt><code>ownerDocument</code></dt> |
646 |
<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> |
647 |
<dt class=ed>@@ Ensure all attributes are defined</dt> |
<dt><a href="#ownerElementTypeDefinition"><code>ownerElementTypeDefinition</code></a> |
648 |
|
and <code>parentNode</code></dt> |
649 |
|
<dd><code>null</code>.</dd> |
650 |
</dl> |
</dl> |
651 |
|
<p>The returned node <em class=rfc2119>MUST NOT</em> be marked as |
652 |
|
<a href="#read-only">read$B!>(Bonly</a>.</p> |
653 |
|
|
654 |
|
<!-- This requirement, if not droped, should be part of xml-id spec. |
655 |
<div class=ed> |
<div class=ed> |
656 |
<p>@@ Should we keep these statements?: |
<p>@@ Should we keep these statements?: |
657 |
However, if the <cfg::cfg|xml-id> configuration |
However, if the <cfg::cfg|xml-id> configuration |
659 |
is <code>xml:id</code>, then the [CODE(DOMa)@en[[[declaredType]]]] |
is <code>xml:id</code>, then the [CODE(DOMa)@en[[[declaredType]]]] |
660 |
attribute is set to <code>ID_ATTR</code>. |
attribute is set to <code>ID_ATTR</code>. |
661 |
[CODE(DOMa)@en[[[defaultType]]]]?</p> |
[CODE(DOMa)@en[[[defaultType]]]]?</p> |
662 |
</div> |
</div>--> |
663 |
</dd> |
</dd> |
664 |
<dt><dfn id=createGeneralEntity class=dom-method><code>createGeneralEntity</code></dfn>, |
<dt><dfn id=createGeneralEntity class=dom-method><code>createGeneralEntity</code></dfn>, |
665 |
method</dt> |
method</dt> |
674 |
an <a href="#Entity"><code>Entity</code></a> node with the following |
an <a href="#Entity"><code>Entity</code></a> node with the following |
675 |
attributes:</p> |
attributes:</p> |
676 |
<dl> |
<dl> |
|
<dt><code>attributes</code>, <code>notationName</code>, |
|
|
<a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>, |
|
|
and <code>parentNode</code></dt> |
|
|
<dd><code>null</code>.</dd> |
|
677 |
<dt><code>childNodes</code></dt> |
<dt><code>childNodes</code></dt> |
678 |
<dd>An empty <code>NodeList</code> object.</dd> |
<dd>An empty <code>NodeList</code> object.</dd> |
679 |
<dt><code>manakaiDeclarationBaseURI</code>, |
<dt><code>manakaiDeclarationBaseURI</code>, |
680 |
<code>manakaiEntityBaseURI</code>, and |
<code>manakaiEntityBaseURI</code>, and <code>manakaiEntityURI</code> |
681 |
<code>manakaiEntityURI</code> <span class=ed>@@ ref</span></dt> |
<cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt> |
682 |
<dd>No explicit value is set.</dd> |
<dd><p class=section-info>This entry is applied only to implementations |
683 |
<dt><code>manakaiHasReplacementTree</code> and |
that support these attributes.</p> |
684 |
<code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt> |
|
685 |
<dd><code>false</code>.</dd> |
<p>No explicit value is set.</p></dd> |
686 |
|
<dt><a href="#hasReplacementTree"><code>hasReplacementTree</code></a> and |
687 |
|
<a href="#isExternallyDeclared"><code>isExternallyDeclared</code></a></dt> |
688 |
|
<dd><p><code>false</code>.</p></dd> |
689 |
<dt><code>nodeName</code></dt> |
<dt><code>nodeName</code></dt> |
690 |
<dd><a href="#createGeneralEntity-name"><var>name</var></a>.</dd> |
<dd><a href="#createGeneralEntity-name"><var>name</var></a>.</dd> |
691 |
<dd> |
<dd> |
700 |
with its <code>nodeName</code> attribute set to <code>amp</code>.</p> |
with its <code>nodeName</code> attribute set to <code>amp</code>.</p> |
701 |
</div> |
</div> |
702 |
</dd> |
</dd> |
703 |
|
<dt><a href="#notationName"><code>notationName</code></a>, |
704 |
|
<a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>, |
705 |
|
and <code>parentNode</code></dt> |
706 |
|
<dd><code>null</code>.</dd> |
707 |
<dt><code>ownerDocument</code></dt> |
<dt><code>ownerDocument</code></dt> |
708 |
<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> |
709 |
<dt><code>publicId</code>, and <code>systemId</code></dt> |
<dt><a href="#publicId"><code>publicId</code></a> and |
710 |
|
<a href="#systemId"><code>systemId</code></a></dt> |
711 |
<dd><code>null</code>.</dd> |
<dd><code>null</code>.</dd> |
712 |
<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> |
|
713 |
</dl> |
</dl> |
714 |
</dd> |
<p>The returned node <em class=rfc2119>MUST NOT</em> be marked as |
715 |
|
<a href="#read-only">read$B!>(Bonly</a>.</p></dd> |
716 |
<dt><dfn id=createNotation class=dom-method><code>createNotation</code></dfn>, |
<dt><dfn id=createNotation class=dom-method><code>createNotation</code></dfn>, |
717 |
method</dt> |
method</dt> |
718 |
<dd> |
<dd> |
724 |
<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 |
725 |
a <code>Notation</code> node with the following attributes:</p> |
a <code>Notation</code> node with the following attributes:</p> |
726 |
<dl> |
<dl> |
|
<dt><code>attributes</code>, |
|
|
<a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a>, |
|
|
and <code>parentNode</code></dt> |
|
|
<dd><code>null</code>.</dd> |
|
727 |
<dt><code>childNodes</code></dt> |
<dt><code>childNodes</code></dt> |
728 |
<dd>An empty <code>NodeList</code> object.</dd> |
<dd>An empty <code>NodeList</code> object.</dd> |
729 |
<dt><code>manakaiDeclarationBaseURI</code></dt> |
<dt><code>manakaiDeclarationBaseURI</code> |
730 |
<dd>No explicit value is set.</dd> |
<cite class="bibref normative">[<a href="#ref-MANAKAI">MANAKAI</a>]</cite></dt> |
731 |
<dt><code>manakaiReadOnly</code> <span class=ed>[manakai]</span></dt> |
<dd><p class=section-info>This entry is applied only to implementations |
732 |
<dd><code>false</code>.</dd> |
that support these attributes.</p> |
733 |
|
|
734 |
|
<p>No explicit value is set.</p></dd> |
735 |
<dt><code>nodeName</code></dt> |
<dt><code>nodeName</code></dt> |
736 |
<dd><a href="#createNotation-name"><var>name</var></a>.</dd> |
<dd><a href="#createNotation-name"><var>name</var></a>.</dd> |
737 |
<dt><code>ownerDocument</code></dt> |
<dt><code>ownerDocument</code></dt> |
738 |
<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 |
739 |
<dt><code>publicId</code> and <code>systemId</code></dt> |
the method is invoked.</p></dd> |
740 |
|
<dt><a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a> |
741 |
|
and <code>parentNode</code></dt> |
742 |
|
<dd><code>null</code>.</dd> |
743 |
|
<dt><a href="#publicId"><code>publicId</code></a> and |
744 |
|
<a href="#systemId"><code>systemId</code></a></dt> |
745 |
<dd><code>null</code>.</dd> |
<dd><code>null</code>.</dd> |
746 |
<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> |
|
747 |
</dl> |
</dl> |
748 |
</dd> |
<p>The returned node <em class=rfc2119>MUST NOT</em> be marked as |
749 |
|
<a href="#read-only">read$B!>(Bonly</a>.</p></dd> |
750 |
</dl> |
</dl> |
751 |
|
|
752 |
<p>These methods <em class=rfc2119>MUST</em> raise an |
<p>These methods <em class=rfc2119>MUST</em> raise an |
753 |
<code>INVALID_CHARACTER_ERR</code> exception <span class=ed>@@ ref</span> |
<code>INVALID_CHARACTER_ERR</code> if <var>name</var> is <em>not</em> a legal |
754 |
if <var>name</var> is <em>not</em> a legal <code>Name</code> according to |
<code>Name</code> |
755 |
the <abbr>XML</abbr> version in use, as specified in the |
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
756 |
<code>xmlVersion</code> attribute of the <code>Document</code> node.</p> |
<a href="#ref-XML11">XML11</a>]</cite> according to the <abbr>XML</abbr> |
757 |
|
version specified in the <code>xmlVersion</code> attribute of the |
758 |
|
<a href="#Document"><code>Document</code></a> node.</p> |
759 |
|
|
760 |
<div class="note memo"> |
<div class="note memo"> |
761 |
<p>Non$B!>(B<abbr>XML</abbr> case is intentionally left unspecified for now, |
<p>Non$B!>(B<abbr>XML</abbr> case is intentionally left unspecified for now, |
762 |
since <abbr>DOM3</abbr> specification <span class=ed>@@ ref</span> does not |
since <abbr>DOM</abbr> Level 3 Core specification |
763 |
define it for <code>Document</code> methods.</p> |
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite> |
764 |
|
does not define it for <a href="#Document"><code>Document</code></a> |
765 |
|
methods.</p> |
766 |
|
|
767 |
<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> |
768 |
</div> |
</div> |
769 |
|
|
770 |
</div> |
</div> |
771 |
|
|
772 |
|
|
773 |
|
<div class=section id=section-documenttype> |
774 |
|
<h3>Modifications to the <code id=DocumentType>DocumentType</code> |
775 |
|
Interface</h3> |
776 |
|
|
777 |
|
<p>A <a href="#DocumentType"><code>DocumentType</code></a> interface |
778 |
|
<em class=rfc2119>MAY</em> contain zero or more |
779 |
|
<code>ProcessingInstruction</code> nodes in the <code>NodeList</code> object |
780 |
|
contained in the <code>childNodes</code> attribute of the |
781 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
782 |
|
|
783 |
|
<p>If the <a href="#DocumentType"><code>DocumentType</code></a> node is created |
784 |
|
during the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> |
785 |
|
document, the <code>NodeList</code> object in the <code>childNodes</code> |
786 |
|
object <em class=rfc2119>MUST</em> contains the |
787 |
|
<code>ProcessingInstruction</code> nodes representing the processing |
788 |
|
instructions in the document type definition of the document processed |
789 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
790 |
|
<a href="#ref-XML11">XML11</a>]</cite> by the <abbr>XML</abbr> processor. If |
791 |
|
the <a href="#DocumentType"><code>DocumentType</code></a> node is marked as |
792 |
|
<a href="#read-only">read$B!>(Bonly</a>, then all the child nodes |
793 |
|
<em class=rfc2119>MUST</em> also be marked as |
794 |
|
<a href="#read-only">read$B!>(Bonly</a>.</p> |
795 |
|
|
796 |
|
<p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is created |
797 |
|
from a |
798 |
|
<a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.doctype">document |
799 |
|
type declaration information item</a> |
800 |
|
<cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>, |
801 |
|
the <code>NodeList</code> object in the <code>childNodes</code> attribute |
802 |
|
of the node <em class=rfc2119>MUST</em> contain the |
803 |
|
<code>ProcessingInstruction</code> nodes created from any |
804 |
|
<a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.pi">processing |
805 |
|
instruction information items</a> in the list in the [children] property of the |
806 |
|
<a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.doctype">document |
807 |
|
type declaration item</a> in the same order.</p> |
808 |
|
|
809 |
|
<p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is mapped to |
810 |
|
a document type declaration information item, the list in the [children] |
811 |
|
property <em class=rfc2119>MUST</em> contain the processng instruction |
812 |
|
information items created from the <code>ProcessingInstruction</code> nodes |
813 |
|
in the <code>NodeList</code> object in the <code>childNodes</code> attribute |
814 |
|
of the <a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
815 |
|
|
816 |
|
<p>The implementation of the |
817 |
|
<a href="#DocumentType"><code>DocumentType</code></a> interface |
818 |
|
<em class=rfc2119>MUST</em> be modified as the following |
819 |
|
<a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p> |
820 |
|
<pre class=idl><code>// Modifications to the DocumentType interface |
821 |
|
attribute DOMString <a href="#publicId">publicId</a>; |
822 |
|
attribute DOMString <a href="#systemId">systemId</a>; |
823 |
|
|
824 |
|
attribute DOMString <a href="#internalSubset">internalSubset</a>; |
825 |
|
</code></pre> |
826 |
|
|
827 |
|
<p>The <code id=publicId>publicId</code> attribute and the |
828 |
|
<code id=systemId>systemId</code> attribute of |
829 |
|
<a href="#DocumentType"><code>DocumentType</code></a>, |
830 |
|
<a href="#Entity"><code>Entity</code></a>, and |
831 |
|
<a href="#Notation"><code>Notation</code></a> interfaces are no longer |
832 |
|
read$B!>(Bonly.</p> |
833 |
|
|
834 |
|
<p>On setting, the attribute <em class=rfc2119>MUST</em> raise a |
835 |
|
<code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is |
836 |
|
<a href="#read-only">read$B!>(Bonly</a>. Otherwise, it <em class=rfc2119>MUST</em> |
837 |
|
set the specified value as the value associated to the attribute. No |
838 |
|
normalization, relative reference resolution, or lexical validation is |
839 |
|
performed. <span class=ed>@@ If the new value is <code>null</code>, should an |
840 |
|
empty string be set?</span></p> |
841 |
|
|
842 |
|
<div class="note memo"> |
843 |
|
<p>Setting an invalid identifier might make the node unserializable. |
844 |
|
Setting a public identifier while leaving system identifier unspecified |
845 |
|
would also make the <a href="#DocumentType"><code>DocumentType</code></a> |
846 |
|
or <a href="#Entity"><code>Entity</code></a> node unserializable.</p> |
847 |
|
</div> |
848 |
|
|
849 |
|
<div class=ed> |
850 |
|
<p>ISSUE: In HTML5, Firefox 1.5, and Opera 9, not specifying public or system identifier results in empty strings.</p> |
851 |
|
</div> |
852 |
|
|
853 |
|
<p>The <code id=internalSubset>internalSubset</code> attribute of the |
854 |
|
<a href="#DocumentType"><code>DocumentType</code></a> interface is no longer |
855 |
|
read$B!>(Bonly.</p> |
856 |
|
|
857 |
|
<p>On setting, the attribute <em class=rfc2119>MUST</em> raise a |
858 |
|
<code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is |
859 |
|
<a href="#read-only">read$B!>(Bonly</a>. Otherwise, it <em class=rfc2119>MUST</em> |
860 |
|
set the specified value as the value associated to the attribute. No |
861 |
|
normalization, or lexical validation is performed. <span class=ed>@@ If the |
862 |
|
new value is <code>null</code>, should an empty string be set?</span></p> |
863 |
|
|
864 |
|
</div> |
865 |
|
|
866 |
<div class=section id=section-documenttypedefinition> |
<div class=section id=section-documenttypedefinition> |
867 |
<h3>The <code>DocumentTypeDefinition</code> Interface</h3> |
<h3>The <code>DocumentTypeDefinition</code> Interface</h3> |
868 |
|
|
869 |
|
<p>The <a href="#DocumentType"><code>DocumentType</code></a> nodes |
870 |
|
<em class=rfc2119>MUST</em> also implement the |
871 |
|
<a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a> |
872 |
|
interface.</p> |
873 |
|
|
874 |
|
<p>An instance of the |
875 |
|
<a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a> |
876 |
|
interface <em class=rfc2119>MUST</em> be able to be obtained by using |
877 |
|
binding$B!>(Bspecific casting methods on an instance of the |
878 |
|
<a href="#DocumentType"><code>DocumentType</code></a> interface (if such |
879 |
|
casting methods are available) or by using the method <code>getFeature</code> |
880 |
|
with parameter values |
881 |
|
<a href="#feature-XDoctype"><code>http://suika.fam.cx/www/2006/feature/XDoctype</code></a> |
882 |
|
and <a href="#feature-XDoctype-3.0"><code>3.0</code></a> respectively (if the |
883 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node supports the |
884 |
|
feature <code>Core</code> version <code>3.0</code> |
885 |
|
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>).</p> |
886 |
|
|
887 |
|
<p>The |
888 |
|
<a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a> |
889 |
|
interface <em class=rfc2119>MUST</em> be implemented as the following |
890 |
|
<a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p> |
891 |
<pre class=idl><code>interface <dfn id=DocumentTypeDefinition><code>DocumentTypeDefinition</code></dfn> { |
<pre class=idl><code>interface <dfn id=DocumentTypeDefinition><code>DocumentTypeDefinition</code></dfn> { |
892 |
readonly attribute NamedNodeMap <a href="#elementTypes">elementTypes</a>; |
readonly attribute NamedNodeMap <a href="#elementTypes">elementTypes</a>; |
893 |
readonly attribute NamedNodeMap <a href="#generalEntities">generalEntities</a>; |
readonly attribute NamedNodeMap <a href="#generalEntities">generalEntities</a>; |
894 |
readonly attribute NamedNodeMap <a href="#notations">notations</a>; |
readonly attribute NamedNodeMap <a href="#notations">notations</a>; |
895 |
|
|
896 |
<span class=ed>more members come here...</span> |
<a href="#ElementTypeDefinition">ElementTypeDefinition</a> <a href="#getElementTypeDefinitionNode">getElementTypeDefinitionNode</a> |
897 |
}</code></pre> |
(in DOMString <a href="#getElementTypeDefinitionNode-name"><var>name</var></a>); |
898 |
|
<a href="#Entity">Entity</a> <a href="#getGeneralEntityNode">getGeneralEntityNode</a> |
899 |
|
(in DOMString <a href="#getGeneralEntityNode-name"><var>name</var></a>); |
900 |
|
<a href="#Notation">Notation</a> <a href="#getNotationNode">getNotationNode</a> |
901 |
|
(in DOMString <a href="#getNotationNode-name"><var>name</var></a>); |
902 |
|
|
903 |
<pre class=ed> |
void <a href="#setElementTypeDefinitionNode">setElementTypeDefinitionNode</a> |
904 |
[1] In an implementation that supports the |
(in DOMString <a href="#setElementTypeDefinitionNode-node"><var>node</var></a>) |
905 |
[CODE(URI)@en[[[http://suika.fam.cx/www/2006/feature/XDoctype]]]] |
raises (DOMException); |
906 |
feature, a [CODE(DOMi)@en[[[DocumentType]]]] node |
void <a href="#setGeneralEntityNode">setGeneralEntityNode</a> |
907 |
must implement the [CODE(DOMi)@en[[[DocumentTypeDefinition]]]] |
(in DOMString <a href="#setGeneralEntityNode-node"><var>node</var></a>) |
908 |
interface. See [[DOM XML Document Type Definition]>>3] for |
raises (DOMException); |
909 |
details. |
void <a href="#setNotationNode">setNotationNode</a> |
910 |
</pre> |
(in DOMString <a href="#setNotationNode-node"><var>node</var></a>) |
911 |
|
raises (DOMException); |
912 |
|
}</code></pre> |
913 |
|
|
914 |
<dl> |
<dl> |
915 |
<dt><dfn id=elementTypes class=dom-attr><code>elementTypes</code></dfn> of |
<dt><dfn id=elementTypes class=dom-attr><code>elementTypes</code></dfn> of |
916 |
type <code>NamedNodeMap</code>, read$B!>(Bonly</dt> |
type <code>NamedNodeMap</code>, read$B!>(Bonly</dt> |
917 |
<dd><p>A live <code>NamedNodeMap</code> object that contains all the element |
<dd><p>A <a href="#live">live</a> <code>NamedNodeMap</code> object that |
918 |
type definitions belonging to the <code>DocumentType</code> node.</p> |
contains all the element type definitions belonging to the |
919 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
920 |
|
|
921 |
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
922 |
<code>NamedNodeMap</code> object that contains all the |
<code>NamedNodeMap</code> object that contains all the |
923 |
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
924 |
nodes belonging to the <code>DocumentType</code> node. The |
nodes belonging to the <code>DocumentType</code> node. The |
925 |
<code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be read$B!>(Bonly |
<code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be read$B!>(Bonly |
926 |
if and only if the node is read$B!>(Bonly. The <code>NamedNodeMap</code> |
if and only if the node is <a href="#read-only">read$B!>(Bonly</a>. The |
927 |
object <em class=rfc2119>MUST</em> be live and the same object |
<code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be |
928 |
<em class=rfc2119>MUST</em> be returned for any invocation.</p> |
<a href="#live">live</a>.</p> |
929 |
|
|
930 |
<p>If the <code>DocumentType</code> node is created during the process |
<p>If the <code>DocumentType</code> node is created during the process |
931 |
to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document, the following |
to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document, the following |
934 |
<em class=rfc2119>MUST</em> be so transformed that the object contains |
<em class=rfc2119>MUST</em> be so transformed that the object contains |
935 |
the <code>ElementTypeDefinition</code> nodes for the element types |
the <code>ElementTypeDefinition</code> nodes for the element types |
936 |
whose name is presented as the <code>Name</code> of the element type or |
whose name is presented as the <code>Name</code> of the element type or |
937 |
attribute definition list declarations processed by the <abbr>XML</abbr> |
attribute definition list declarations processed |
938 |
processor. If there is more than one element type declarations for an |
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
939 |
|
<a href="#ref-XML11">XML11</a>]</cite> by the <abbr>XML</abbr> |
940 |
|
processor. If there are more than one element type declarations for an |
941 |
element type, then the declarations other than the first one |
element type, then the declarations other than the first one |
942 |
<em class=rfc2119>MUST</em> be ignored for the purpose of constructing the |
<em class=rfc2119>MUST</em> be ignored for the purpose of constructing the |
943 |
<code>NamedNodeMap</code> object.</p></dd> |
<code>NamedNodeMap</code> object.</p></dd> |
944 |
<dt><dfn id=generalEntities class=dom-attr><code>generalEntities</code></dfn> |
<dt><dfn id=generalEntities class=dom-attr><code>generalEntities</code></dfn> |
945 |
of type <code>NamedNodeMap</code>, read$B!>(Bonly</dt> |
of type <code>NamedNodeMap</code>, read$B!>(Bonly</dt> |
946 |
<dd><p>A live <code>NamedNodeMap</code> object that contains all the general |
<dd><p>A <a href="#live">live</a> <code>NamedNodeMap</code> object that |
947 |
entities belonging to the <code>DocumentType</code> node.</p> |
contains all the general entities belonging to the |
948 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
949 |
|
|
950 |
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
951 |
same value as the <code>entities</code> attribute (defined in the |
same value as the <code id=entities>entities</code> attribute (defined in the |
952 |
<code>DocumentType</code> interface) of the same node.</p> |
<a href="#DocumentType"><code>DocumentType</code></a> interface) of the same |
953 |
|
node.</p> |
954 |
|
|
955 |
<div class="note memo"> |
<div class="note memo"> |
956 |
<p>This attribute is part of the interface for historical reason.</p> |
<p>This attribute is part of the interface for historical reason.</p> |
978 |
--> |
--> |
979 |
<dt><dfn id=notations class=dom-attr><code>notations</code></dfn> of type |
<dt><dfn id=notations class=dom-attr><code>notations</code></dfn> of type |
980 |
<code>notations</code>, read$B!>(Bonly</code> |
<code>notations</code>, read$B!>(Bonly</code> |
981 |
<dd><p>A live <code>NamedNodeMap</code> object that contains all the |
<dd><p>A <a href="#live">live</a> <code>NamedNodeMap</code> object that |
982 |
notations belonging to the <code>DocumentType</code> node.</p> |
contains all the notations belonging to the |
983 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
984 |
|
|
985 |
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
986 |
same value as the <code>notations</code> attribute (defined in the |
same value as the <code>notations</code> attribute (defined in the |
987 |
<code>DocumentType</code> interface) of the same node.</p> |
<a href="#DocumentType"><code>DocumentType</code></a> interface) of the same |
988 |
|
node.</p> |
989 |
|
|
990 |
<div class="note memo"> |
<div class="note memo"> |
991 |
<p>This attribute is part of the interface for historical reason.</p> |
<p>This attribute is part of the interface for historical reason.</p> |
992 |
<p>Implementations are not required to implement the |
<p>Implementations are not required to implement the |
993 |
<code>notations</code> attribute twice (for <code>DocumentType</code> |
<code>notations</code> attribute twice (for |
994 |
and <code>DocumentTypeDefinition</code> interfaces); they share exactly |
<a href="#DocumentType"><code>DocumentType</code></a> and |
995 |
same definition.</p> |
<a href="#DocumentTypeDefinition"><code>DocumentTypeDefinition</code></a> |
996 |
|
interfaces); they share exactly same definition.</p> |
997 |
</div></dd> |
</div></dd> |
998 |
<!-- |
<!-- |
999 |
If the [CODE(DOMi)@en[[[DocumentTypeDefinition]]]] node is |
If the [CODE(DOMi)@en[[[DocumentTypeDefinition]]]] node is |
1020 |
and therefore any change of read-only flag on the node is immediately |
and therefore any change of read-only flag on the node is immediately |
1021 |
reflected by that of the object. |
reflected by that of the object. |
1022 |
--> |
--> |
1023 |
|
<dt><dfn id=getElementTypeDefinitionNode class=dom-method><code>getElementTypeDefinitionNode</code></dfn>, |
1024 |
|
method</dt> |
1025 |
|
<dd><p>Returns the |
1026 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node |
1027 |
|
with the specified name.</p> |
1028 |
|
|
1029 |
|
<p>The |
1030 |
|
<dfn id=getElementTypeDefinitionNode-name class=dom-param><var>name</var></dfn> |
1031 |
|
parameter is the name of the element type.</p> |
1032 |
|
|
1033 |
|
<p>When invoked, the method <em class=rfc2119>MUST</em> return the |
1034 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node, |
1035 |
|
whose <a href="#nodeName"><code>nodeName</code></a> is equal to |
1036 |
|
<a href="#getElementTypeDefinitionNode-name"><var>name</var></a>, in the |
1037 |
|
<code>NamedNodeMap</code> object in the |
1038 |
|
<a href="#elementTypes"><code>elementTypes</code></a> attribute of the |
1039 |
|
node. If there is no such node, it <em class=rfc2119>MUST</em> return |
1040 |
|
<code>null</code>.</p></dd> |
1041 |
|
<dt><dfn id=getGeneralEntityNode class=dom-method><code>getGeneralEntityNode</code></dfn>, |
1042 |
|
method</dt> |
1043 |
|
<dd><p>Returns the <a href="#Entity"><code>Entity</code></a> node |
1044 |
|
with the specified name.</p> |
1045 |
|
|
1046 |
|
<p>The |
1047 |
|
<dfn id=getGeneralEntityNode-name class=dom-param><var>name</var></dfn> |
1048 |
|
parameter is the name of the general entity.</p> |
1049 |
|
|
1050 |
|
<p>When invoked, the method <em class=rfc2119>MUST</em> return the |
1051 |
|
<a href="#Entity"><code>Entity</code></a> node, |
1052 |
|
whose <a href="#nodeName"><code>nodeName</code></a> is equal to |
1053 |
|
<a href="#getGeneralEntityNode-name"><var>name</var></a>, in the |
1054 |
|
<code>NamedNodeMap</code> object in the |
1055 |
|
<a href="#entities"><code>entities</code></a> attribute of the |
1056 |
|
node. If there is no such node, it <em class=rfc2119>MUST</em> return |
1057 |
|
<code>null</code>.</p></dd> |
1058 |
|
<dt><dfn id=getNotationNode class=dom-method><code>getNotationNode</code></dfn>, |
1059 |
|
method</dt> |
1060 |
|
<dd><p>Returns the <a href="#Notation"><code>Notation</code></a> node |
1061 |
|
with the specified name.</p> |
1062 |
|
|
1063 |
<dt class=ed>@@ other members... |
<p>The |
1064 |
|
<dfn id=getNotationNode-name class=dom-param><var>name</var></dfn> |
1065 |
|
parameter is the name of the notation.</p> |
1066 |
|
|
1067 |
|
<p>When invoked, the method <em class=rfc2119>MUST</em> return the |
1068 |
|
<a href="#Notation"><code>Notation</code></a> node, |
1069 |
|
whose <a href="#nodeName"><code>nodeName</code></a> is equal to |
1070 |
|
<a href="#getNotationNode-name"><var>name</var></a>, in the |
1071 |
|
<code>NamedNodeMap</code> object in the |
1072 |
|
<a href="#notations"><code>notations</code></a> attribute of the |
1073 |
|
node. If there is no such node, it <em class=rfc2119>MUST</em> return |
1074 |
|
<code>null</code>.</p></dd> |
1075 |
|
<dt><dfn id=setElementTypeDefinitionNode class=dom-method><code>setElementTypeDefinitionNode</code></dfn>, |
1076 |
|
method</dt> |
1077 |
|
<dd><p>Associate an |
1078 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
1079 |
|
node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
1080 |
|
|
1081 |
|
<p>The |
1082 |
|
<dfn id=setElementTypeDefinitionNode-node class=dom-param><var>node</var></dfn> |
1083 |
|
parameter is the node to associate.</p> |
1084 |
|
|
1085 |
|
<p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules |
1086 |
|
to <a href="#algorithm-attach-node">attach a node</a>, where |
1087 |
|
<a href="#attach-node-n"><var>n</var></a> is the |
1088 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node, |
1089 |
|
<a href="#attach-node-l"><var>l</var></a> is the |
1090 |
|
<a href="#elementTypes"><code>elementTypes</code></a> attribute value of the |
1091 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node, |
1092 |
|
<a href="#attach-node-node"><var>node</var></a> is the |
1093 |
|
<a href="#setElementTypeDefinitionNode-node"><var>node</var></a>, and |
1094 |
|
<a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the |
1095 |
|
<a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a> |
1096 |
|
attribute.</p></dd> |
1097 |
|
<dt><dfn id=setGeneralEntityNode class=dom-method><code>setGeneralEntityNode</code></dfn>, |
1098 |
|
method</dt> |
1099 |
|
<dd><p>Associate an <a href="#Entity"><code>Entity</code></a> |
1100 |
|
node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
1101 |
|
|
1102 |
|
<p>The |
1103 |
|
<dfn id=setGeneralEntityNode-node class=dom-param><var>node</var></dfn> |
1104 |
|
parameter is the node to associate.</p> |
1105 |
|
|
1106 |
|
<p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules |
1107 |
|
to <a href="#algorithm-attach-node">attach a node</a>, where |
1108 |
|
<a href="#attach-node-n"><var>n</var></a> is the |
1109 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node, |
1110 |
|
<a href="#attach-node-l"><var>l</var></a> is the |
1111 |
|
<a href="#entities"><code>entities</code></a> attribute value of the |
1112 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node, |
1113 |
|
<a href="#attach-node-node"><var>node</var></a> is the |
1114 |
|
<a href="#setGeneralEntityNode-node"><var>node</var></a>, and |
1115 |
|
<a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the |
1116 |
|
<a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a> |
1117 |
|
attribute.</p></dd> |
1118 |
|
<dt><dfn id=setNotationNode class=dom-method><code>setNotationNode</code></dfn>, |
1119 |
|
method</dt> |
1120 |
|
<dd><p>Associate an <a href="#Notation"><code>Notation</code></a> |
1121 |
|
node with the <a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
1122 |
|
|
1123 |
|
<p>The <dfn id=setNotationNode-node class=dom-param><var>node</var></dfn> |
1124 |
|
parameter is the node to associate.</p> |
1125 |
|
|
1126 |
|
<p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules |
1127 |
|
to <a href="#algorithm-attach-node">attach a node</a>, where |
1128 |
|
<a href="#attach-node-n"><var>n</var></a> is the |
1129 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node, |
1130 |
|
<a href="#attach-node-l"><var>l</var></a> is the |
1131 |
|
<a href="#notations"><code>notations</code></a> attribute value of the |
1132 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node, |
1133 |
|
<a href="#attach-node-node"><var>node</var></a> is the |
1134 |
|
<a href="#setNotationNode-node"><var>node</var></a>, and |
1135 |
|
<a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the |
1136 |
|
<a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a> |
1137 |
|
attribute.</p></dd> |
1138 |
</dl> |
</dl> |
1139 |
|
|
1140 |
|
<p>When a <dfn id=algorithm-attach-node title="attach a node">node is |
1141 |
|
attached</dfn>, the rules below, with parameters |
1142 |
|
<dfn id=attach-node-n><var>n</var></dfn>, |
1143 |
|
<dfn id=attach-node-l><var>l</var></dfn>, |
1144 |
|
<dfn id=attach-node-node><var>node</var></dfn>, and |
1145 |
|
<dfn id=attach-node-owner-attr><var>owner-attr</var></dfn>, |
1146 |
|
<em class=rfc2119>MUST</em> be followed:</p> |
1147 |
|
<ol> |
1148 |
|
<li><p>Let |
1149 |
|
<dfn id=attach-node-r><var>r</var></dfn> be the node in |
1150 |
|
<var>l</var> whose <code>nodeName</code> attribute value is equal to the |
1151 |
|
<code>nodeName</code> attribute value of <var>node</var>, if any.</p></li> |
1152 |
|
<li><p>If <var>r</var> is different from <code>null</code> and <var>r</var> |
1153 |
|
is same node as <var>node</var>, then abort these steps.</p></li> |
1154 |
|
<li><p>If <var>n</var> is <a href="#read-only">read$B!>(Bonly</a>, then raise a |
1155 |
|
<code>NO_MODIFICATION_ALLOWED_ERR</code> and abort these steps.</p></li> |
1156 |
|
<li><p>If the <code>ownerDocument</code> attribute value of <var>node</var> |
1157 |
|
is different from that of <var>n</var>, then raise a |
1158 |
|
<code>WRONG_DOCUMENT_ERR</code> and abort these steps.</p></li> |
1159 |
|
<li><p>If the value of the attribute <var>owner-attr</var> of <var>node</var> |
1160 |
|
is different from <code>null</code>, then raise a |
1161 |
|
<code>HIERARCHY_REQUEST_ERR</code> and abort these steps.</p></li> |
1162 |
|
<li><p>If <var>r</var> is a node, then remove it from <var>r</var>.</p> |
1163 |
|
|
1164 |
|
<div class="note memo"> |
1165 |
|
<p>By the removal of <var>r</var>, the attribute <var>owner-attr</var> of |
1166 |
|
<var>r</var> is set to <code>null</code>.</p> |
1167 |
|
</div></li> |
1168 |
|
<li><p>Add <var>node</var> to <var>l</var>.</p> |
1169 |
|
|
1170 |
|
<div class="note memo"> |
1171 |
|
<p>By the addition of <var>node</var>, the attribute <var>owner-attr</var> of |
1172 |
|
<var>node</var> is set to <var>n</var>.</p> |
1173 |
|
</div></li> |
1174 |
|
</ol> |
1175 |
|
|
1176 |
<div class=ed> |
<div class=ed> |
1177 |
<p>A future version of this interface might define the |
<p>A future version of this interface might define the |
1178 |
<code>parameterEntities</code> and getter/setter for parameter entities. |
<code>parameterEntities</code> and getter/setter for parameter entities. |
1183 |
<div class=section id=section-elementtypedefinition> |
<div class=section id=section-elementtypedefinition> |
1184 |
<h3>The <code>ElementTypeDefinition</code> Interface</h3> |
<h3>The <code>ElementTypeDefinition</code> Interface</h3> |
1185 |
|
|
1186 |
|
<p>The nodes of type |
1187 |
|
<a href="#ELEMENT_TYPE_DEFINITION_NODE"><code>ELEMENT_TYPE_DEFINITION_NODE</code></a> |
1188 |
|
represents an element type definition. Such a node |
1189 |
|
<em class=rfc2119>MUST</em> implement the |
1190 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
1191 |
|
interface, which extends the <a href="#Node"><code>Node</code></a> |
1192 |
|
interface.</p> |
1193 |
|
|
1194 |
|
<p>An element type definition represents a definition of the element type. |
1195 |
|
It is corresponding to the element type declaration in <abbr>DTD</abbr>. |
1196 |
|
However, an |
1197 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node |
1198 |
|
does not represent the element type definition in <abbr>DTD</abbr> itself. |
1199 |
|
Even if there are more than one element type declarations for an element type |
1200 |
|
in <abbr>DTD</abbr>, the result <abbr>DOM</abbr> will contain only an |
1201 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
1202 |
|
node for that element type. In addition, if there are attribute definition |
1203 |
|
declarations for an element type, even when there is no element type |
1204 |
|
declaration for that element type, the <abbr>DOM</abbr> will contain an |
1205 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
1206 |
|
node for that element type.</p> |
1207 |
|
|
1208 |
|
<p>An <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
1209 |
|
node cannot be a child of any node. An |
1210 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node |
1211 |
|
cannot have any child node.</p> |
1212 |
|
|
1213 |
|
<p>The <a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
1214 |
|
interface <em class=rfc2119>MUST</em> be implemented as the following |
1215 |
|
<a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p> |
1216 |
<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> { |
1217 |
readonly attribute <a href="#ownerDocumentTypeDefinition">ownerDocumentTypeDefinition</a>; |
readonly attribute <a href="#DocumentType">DocumentType</a> <a href="#ownerDocumentTypeDefinition">ownerDocumentTypeDefinition</a>; |
1218 |
|
|
1219 |
<span class=ed>@@ more</span> |
readonly attribute NamedNodeMap <a href="#attributeDefinitions">attributeDefinitions</a>; |
1220 |
|
<a href="#AttributeDefinition">AttributeDefinition</a> <a href="#getAttributeDefinitionNode">getAttributeDefinitionNode</a> |
1221 |
|
(in DOMString <a href="#getAttributeDefinitionNode-name"><var>name</var></a>); |
1222 |
|
void <a href="#setAttributeDefinitionNode">setAttributeDefinitionNode</a> |
1223 |
|
(in <a href="#AttributeDefinition">AttributeDefinition</a> <a href="#setAttributeDefinitionNode-node"><var>node</var></a>) |
1224 |
|
raises (DOMException); |
1225 |
}</code></pre> |
}</code></pre> |
1226 |
|
|
1227 |
<pre class=ed>** Modifications to [CODE(DOMi)@en[[[Node]]]] members |
<dl> |
1228 |
|
<dt><dfn id=ownerDocumentTypeDefinition class=dom-attr><code>ownerDocumentTypeDefinition</code></dfn> |
1229 |
|
of type <a href="#DocumentType"><code>DocumentType</code></a>, read$B!>(Bonly</dt> |
1230 |
|
<dd><p>The |
1231 |
|
<a href="#ownerDocumentTypeDefinition"><code>ownerDocumentTypeDefinition</code></a> |
1232 |
|
attribute of |
1233 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a>, |
1234 |
|
<a href="#Entity"><code>Entity</code></a>, and |
1235 |
|
<a href="#Notation"><code>Notation</code></a> interfaces contain the |
1236 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node to which the node |
1237 |
|
is attached.</p> |
1238 |
|
|
1239 |
|
<p>On getting, the attribute <em class=rfc2119>MUST</em> return a |
1240 |
|
<a href="#DocumentType"><code>DocumentType</code></a> node. It |
1241 |
|
<em class=rfc2119>MUST</em> be such a node that whose |
1242 |
|
<a href="#elementTypes"><code>elementTypes</code></a> (for an |
1243 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
1244 |
|
node), <a href="#entities"><code>entities</code></a> (for an |
1245 |
|
<a href="#Entity"><code>Entity</code></a> node), or |
1246 |
|
<a href="#notations"><code>notations</code></a> (for a |
1247 |
|
<a href="#Notation"><code>Notation</code></a> node) attribute contains the |
1248 |
|
<code>NamedNodeMap</code> object that contains the node. If there is no such |
1249 |
|
a <a href="#DocumentType"><code>DocumentType</code></a> node, |
1250 |
|
then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p></dd> |
1251 |
|
<dt><dfn id=attributeDefinitions class=dom-attr><code>attributeDefinitions</code></dfn> |
1252 |
|
of type NamedNodeMap, read$B!>(Bonly</dt> |
1253 |
|
<dd><p>A <a href="#live">live</a> <code>NamedNodeMap</code> object that |
1254 |
|
contains all the attribute definitions belonging to the |
1255 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
1256 |
|
node.</p> |
1257 |
|
|
1258 |
|
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
1259 |
|
<code>NamedNodeMap</code> object that contains all the |
1260 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node |
1261 |
|
belonging to the |
1262 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node. |
1263 |
|
The <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be |
1264 |
|
read$B!>(Bonly if and only if the node is <a href="#read-only">read$B!>(Bonly</a>. |
1265 |
|
The <code>NamedNodeMap</code> object <em class=rfc2119>MUST</em> be |
1266 |
|
<a href="#live">live</a>.</p> |
1267 |
|
|
1268 |
|
<p>If the |
1269 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node |
1270 |
|
is created during the process to create a <abbr>DOM</abbr> from an |
1271 |
|
<abbr>XML</abbr> document, the following requirements are applied: The |
1272 |
|
<code>NamedNodeMap</code> object in the |
1273 |
|
<a href="#attributeDefinitions"><code>attributeDefinitions</code></a> |
1274 |
|
attribute <em class=rfc2119>MUST</em> be so transformed that the object |
1275 |
|
contains the |
1276 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node |
1277 |
|
corresponding to the attribute definitions in the attribute definition |
1278 |
|
list declarations processed |
1279 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1280 |
|
<a href="#ref-XML11">XML11</a>]</cite> by the <abbr>XML</abbr> processor and |
1281 |
|
associated to the element type represented by the node. If there are more |
1282 |
|
than one attribute definitions for an attribute, then the definitions other |
1283 |
|
than the first one <em class=rfc2119>MUST</em> be ignored for the purpose |
1284 |
|
of constructing the <code>NamedNodeMap</code> object.</p></dd> |
1285 |
|
<dt><dfn id=getAttributeDefinitionNode class=dom-method><code>getAttributeDefinitionNode</code></dfn>, |
1286 |
|
method</dt> |
1287 |
|
<dd><p>Return the |
1288 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node |
1289 |
|
with the specified name.</p> |
1290 |
|
|
1291 |
|
<p>The |
1292 |
|
<dfn id=getAttributeDefinitionNode-name class=dom-param><var>name</var></dfn> |
1293 |
|
parameter is the name of the attribute.</p> |
1294 |
|
|
1295 |
|
<p>When invoked, the method <em class=rfc2119>MUST</em> return the |
1296 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node, |
1297 |
|
whose <a href="#nodeName"><code>nodeName</code></a> attribute value is |
1298 |
|
equal to <a href="#getAttributeDefinitionNode-name"><var>name</var></a>, |
1299 |
|
in the <code>NamedNodeMap</code> in the |
1300 |
|
<a href="#attributeDefinitions"><code>attributeDefinitions</code></a> |
1301 |
|
attribute of the node. If there is no such node, it |
1302 |
|
<em class=rfc2119>MUST</em> return <code>null</code>.</p></dd> |
1303 |
|
<dt><dfn id=setAttributeDefinitionNode class=dom-method><code>setAttributeDefinitionNode</code></dfn>, |
1304 |
|
method</dt> |
1305 |
|
<dd><p>Associate an |
1306 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node with |
1307 |
|
the |
1308 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
1309 |
|
node.</p> |
1310 |
|
|
1311 |
|
<p>The |
1312 |
|
<dfn id=setAttributeDefinitionNode-node class=dom-param><var>node</var></dfn> |
1313 |
|
parameter is the node to associate.</p> |
1314 |
|
|
1315 |
|
<p>When invoked, the method <em class=rfc2119>MUST</em> follow the rules |
1316 |
|
to <a href="#algorithm-attach-node">attach a node</a>, where |
1317 |
|
<a href="#attach-node-n"><var>n</var></a> is the |
1318 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> |
1319 |
|
node, <a href="#attach-node-l"><var>l</var></a> is the |
1320 |
|
<a href="#attributeDefinitions"><code>attributeDefinitions</code></a> |
1321 |
|
attribute value of the |
1322 |
|
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node, |
1323 |
|
<a href="#attach-node-node"><var>node</var></a> is the |
1324 |
|
<a href="#setAttributeDefinitionNode-node"><var>node</var></a>, and |
1325 |
|
<a href="#attach-node-owner-attr"><var>owner-attr</var></a> is the |
1326 |
|
<a href="#ownerElementTypeDefinition"><code>ownerElementTypeDefinition</code></a> |
1327 |
|
attribute.</p></dd> |
1328 |
|
</dl> |
1329 |
|
|
1330 |
[3] The getter of the [CODE(DOMa)@en[[[attributes]]]] attribute |
<div class=ed> |
1331 |
of an [CODE(DOMi)@en[[[ElementTypeDefinition]]]] object |
<p>A future version of the specification might define a set of attributes |
1332 |
[['''MUST''']] return [CODE(IDL)@en[[[null]]]]. |
and methods for representing and accessing to the content model of the |
1333 |
|
element type.</p> |
1334 |
[4] The getter of the [CODE(DOMa)@en[[[baseURI]]]] attribute |
</div> |
|
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 |
|
|
[DFN@en[[CODE(DOMa)@en[[[ownerDocumentTypeDefinition]]]] attribute]] |
|
|
of the [CODE(DOMi)@en[[[ElementTypeDefinition]]]] |
|
|
interface is defined in [[manakai//DOM Extensions]>>50].</pre> |
|
1335 |
</div> |
</div> |
1336 |
|
|
1337 |
<div class=section id=section-attributedefinition> |
<div class=section id=section-attributedefinition> |
1338 |
<h3>The <code>AttributeDefinition</code> Interface</h3> |
<h3>The <code>AttributeDefinition</code> Interface</h3> |
1339 |
|
|
1340 |
|
<p>The nodes of type |
1341 |
|
<a href="#ATTRIBUTE_DEFINITION_NODE"><code>ATTRIBUTE_DEFINITION_NODE</code></a> |
1342 |
|
represents an attribute definition. Such a node |
1343 |
|
<em class=rfc2119>MUST</em> implement the |
1344 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> interface, |
1345 |
|
which extends the <a href="#Node"><code>Node</code></a> interface.</p> |
1346 |
|
|
1347 |
|
<p>An attribute definition represents a definition of the attribute |
1348 |
|
associated to an element type. It is corresponding to the attribute definition |
1349 |
|
in the attribute list declaration in <abbr>DTD</abbr>. However, an |
1350 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node does |
1351 |
|
not represent the attribute definition in <abbr>DTD</abbr> itself. Even if |
1352 |
|
there are more than one attribute definitions for an attribute of an element |
1353 |
|
type in <abbr>DTD</abbr>, the result <abbr>DOM</abbr> will contain only an |
1354 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node for |
1355 |
|
that attribute.</p> |
1356 |
|
|
1357 |
|
<p>An <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> |
1358 |
|
node cannot be a child of any node. An |
1359 |
|
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node |
1360 |
|
can have zero or more child nodes of same kinds as those allowed for |
1361 |
|
<code>Attr</code> nodes |
1362 |
|
<cite class="bibref normative">[<a href="#ref-DOM3CORE">DOM3CORE</a>]</cite>.</p> |
1363 |
|
|
1364 |
|
<p>The <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> |
1365 |
|
interface <em class=rfc2119>MUST</em> be implemented as the following |
1366 |
|
<a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p> |
1367 |
<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> { |
1368 |
<span class=comment>// <a href="#DeclaredValueType">DeclaredValueType</a></span> |
<span class=comment>// <a href="#DeclaredValueType">DeclaredValueType</a></span> |
1369 |
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; |
1378 |
const unsigned short <a href="#NOTATION_ATTR">NOTATION_ATTR</a> = 9; |
const unsigned short <a href="#NOTATION_ATTR">NOTATION_ATTR</a> = 9; |
1379 |
const unsigned short <a href="#ENUMERATION_ATTR">ENUMERATION_ATTR</a> = 10; |
const unsigned short <a href="#ENUMERATION_ATTR">ENUMERATION_ATTR</a> = 10; |
1380 |
const unsigned short <a href="#UNKNOWN_ATTR">UNKNOWN_ATTR</a> = 11; |
const unsigned short <a href="#UNKNOWN_ATTR">UNKNOWN_ATTR</a> = 11; |
1381 |
|
|
1382 |
|
<span class=comment>// <a href="#DefaultValueType">DefaultValueType</a></span> |
1383 |
|
const unsigned short <a href="#UNKNOWN_DEFAULT">UNKNOWN_DEFAULT</a> = 0; |
1384 |
|
const unsigned short <a href="#FIXED_DEFAULT">FIXED_DEFAULT</a> = 1; |
1385 |
|
const unsigned short <a href="#REQUIRED_DEFAULT">REQUIRED_DEFAULT</a> = 2; |
1386 |
|
const unsigned short <a href="#IMPLIED_DEFAULT">IMPLIED_DEFAULT</a> = 3; |
1387 |
|
const unsigned short <a href="#EXPLICIT_DEFAULT">EXPLICIT_DEFAULT</a> = 4; |
1388 |
|
|
1389 |
readonly attribute <a href="#ElementTypeDefinition">ElementTypeDefinition</a> <a href="#ownerElementTypeDefinition">ownerElementTypeDefinition</a>; |
readonly attribute <a href="#ElementTypeDefinition">ElementTypeDefinition</a> <a href="#ownerElementTypeDefinition">ownerElementTypeDefinition</a>; |
1390 |
|
|
1391 |
readonly attribute unsigned short <a href="#declaredType">declaredType</a>; |
readonly attribute unsigned short <a href="#declaredType">declaredType</a>; |
1392 |
|
readonly attribute DOMStringList <a href="#allowedTokens">allowedTokens</a>; |
1393 |
readonly attribute unsigned short <a href="#defaultType">defaultType</a>; |
readonly attribute unsigned short <a href="#defaultType">defaultType</a>; |
|
|
|
|
<span class=ed>...</span> |
|
1394 |
}</code></pre> |
}</code></pre> |
1395 |
|
|
|
<pre class=ed>** Modifications to [CODE(DOMi)@en[[[Node]]]] members |
|
|
|
|
|
[3] The getter of the [CODE(DOMa)@en[[[attributes]]]] attribute |
|
|
of an [CODE(DOMi)@en[[[AttributeDefinition]]]] object |
|
|
[['''MUST''']] return [CODE(IDL)@en[[[null]]]]. |
|
|
|
|
|
[9] The getter of the [CODE(DOMa)@en[[[baseURI]]]] attribute |
|
|
of an [CODE(DOMi)@en[[[AttributeDefinition]]]] object |
|
|
[['''MUST''']] return the [CODE(DOMa)@en[[[baseURI]]]] |
|
|
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. |
|
|
|
|
|
[2] The getter of the [CODE(DOMa)@en[[[nodeValue]]]] attribute |
|
|
of an [CODE(DOMi)@en[[[AttributeDefinition]]]] object |
|
|
[['''MUST''']] return the normalized default value |
|
|
of the attribute. |
|
|
|
|
|
@@ |
|
|
|
|
|
[4] The getter of the [CODE(DOMa)@en[[[textContent]]]] |
|
|
attribute of an [CODE(DOMi)@en[[[AttributeDefinition]]]] |
|
|
object [['''MUST''']] behave as if it were an |
|
|
[CODE(DOMi)@en[[[Attr]]]] object. |
|
|
|
|
|
The setter of the [CODE(DOMa)@en[[[textContent]]]] attribute |
|
|
of an [CODE(DOMi)@en[[[AttributeDefinition]]]] object |
|
|
[['''MUST''']] behave as if the following algorithm |
|
|
is performed: |
|
|
= If the [CODE(DOMi)@en[[[AttributeDefinition]]]] |
|
|
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> |
|
|
|
|
1396 |
<dl> |
<dl> |
1397 |
<dt><dfn id=ownerElementTypeDefinition class=dom-attr><code>ownerElementTypeDefinition</code></dfn> |
<dt><dfn id=ownerElementTypeDefinition class=dom-attr><code>ownerElementTypeDefinition</code></dfn> |
1398 |
of type |
of type |
1406 |
<p>On getting, the attribute <em class=rfc2119>MUST</em> return an |
<p>On getting, the attribute <em class=rfc2119>MUST</em> return an |
1407 |
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node. |
<a href="#ElementTypeDefinition"><code>ElementTypeDefinition</code></a> node. |
1408 |
It <em class=rfc2119>MUST</em> be such a node that whose |
It <em class=rfc2119>MUST</em> be such a node that whose |
1409 |
<a href="#attributeDefinitons"><code>attributeDefinitions</code></a> |
<a href="#attributeDefinitions"><code>attributeDefinitions</code></a> |
1410 |
attribute contains the <code>NamedNodeMap</code> object that contains |
attribute contains the <code>NamedNodeMap</code> object that contains |
1411 |
the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> |
the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> |
1412 |
node. If there is no such an |
node. If there is no such an |
1414 |
then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p> |
then <code>null</code> <em class=rfc2119>MUST</em> be returned.</p> |
1415 |
<dt><dfn id=declaredType class=dom-attr><code>declaredType</code></dfn> of type |
<dt><dfn id=declaredType class=dom-attr><code>declaredType</code></dfn> of type |
1416 |
<code>unsigned short</code></dt> |
<code>unsigned short</code></dt> |
1417 |
<dd><p>The declared type <span class=ed>@@ ref</span> of the attribute. |
<dd><p>The declared type |
1418 |
It is expected that this attribute contains a value from the definition group |
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1419 |
|
<a href="#ref-XML11">XML11</a>]</cite> of the attribute. It is expected that |
1420 |
|
this attribute contains a value from the definition group |
1421 |
<a href="#DeclaredValueType"><code>DeclaredValueType</code></a>.</p> |
<a href="#DeclaredValueType"><code>DeclaredValueType</code></a>.</p> |
1422 |
|
|
1423 |
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
1424 |
value associated to this attribute.</p> |
value associated to this attribute.</p> |
1425 |
|
|
1426 |
<p>On setting, the attribute <em class=rfc2119>MUST</em> raise a |
<p>On setting, the attribute <em class=rfc2119>MUST</em> raise a |
1427 |
<code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span> |
<code>NO_MODIFICATION_ALLOWED_ERR</code> if the |
|
exception if the |
|
1428 |
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node |
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node |
1429 |
is read$B!>(Bonly <span class=ed>@@ ref</span>. Otherwise, it |
is <a href="#read-only">read$B!>(Bonly</a>. Otherwise, it |
1430 |
<em class=rfc2119>MUST</em> set the specified value as the value |
<em class=rfc2119>MUST</em> set the specified value as the value |
1431 |
associated to this attribute.</p> |
associated to this attribute.</p> |
1432 |
|
|
1449 |
<tbody> |
<tbody> |
1450 |
<tr> |
<tr> |
1451 |
<th scope=row><dfn id=NO_TYPE_ATTR class=dom-const><code>NO_TYPE_ATTR</code> |
<th scope=row><dfn id=NO_TYPE_ATTR class=dom-const><code>NO_TYPE_ATTR</code> |
1452 |
<td><code>0</code><td>No value <span class=ed>[INFOSET]</span>.</tr> |
<td><code>0</code><td><a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">No |
1453 |
|
value</a> |
1454 |
|
<cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>.</tr> |
1455 |
<tr> |
<tr> |
1456 |
<th scope=row><dfn id=CDATA_ATTR class=dom-const><code>CDATA_ATTR</code> |
<th scope=row><dfn id=CDATA_ATTR class=dom-const><code>CDATA_ATTR</code> |
1457 |
<td><code>1</code><td><code>CDATA</code> <span class=ed>[XML]</span>.</tr> |
<td><code>1</code><td><code>CDATA</code> |
1458 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1459 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1460 |
<tr> |
<tr> |
1461 |
<th scope=row><dfn id=ID_ATTR class=dom-const><code>ID_ATTR</code> |
<th scope=row><dfn id=ID_ATTR class=dom-const><code>ID_ATTR</code> |
1462 |
<td><code>2</code><td><code>ID</code> <span class=ed>[XML]</span>.</tr> |
<td><code>2</code><td><code>ID</code> |
1463 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1464 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1465 |
<tr> |
<tr> |
1466 |
<th scope=row><dfn id=IDREF_ATTR class=dom-const><code>IDREF_ATTR</code> |
<th scope=row><dfn id=IDREF_ATTR class=dom-const><code>IDREF_ATTR</code> |
1467 |
<td><code>3</code><td><code>IDREF</code> <span class=ed>[XML]</span>.</tr> |
<td><code>3</code><td><code>IDREF</code> |
1468 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1469 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1470 |
<tr> |
<tr> |
1471 |
<th scope=row><dfn id=IDREFS_ATTR class=dom-const><code>IDREFS_ATTR</code> |
<th scope=row><dfn id=IDREFS_ATTR class=dom-const><code>IDREFS_ATTR</code> |
1472 |
<td><code>4</code><td><code>IDREFS</code> <span class=ed>[XML]</span>.</tr> |
<td><code>4</code><td><code>IDREFS</code> |
1473 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1474 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1475 |
<tr> |
<tr> |
1476 |
<th scope=row><dfn id=ENTITY_ATTR class=dom-const><code>ENTITY_ATTR</code> |
<th scope=row><dfn id=ENTITY_ATTR class=dom-const><code>ENTITY_ATTR</code> |
1477 |
<td><code>5</code><td><code>ENTITY</code> <span class=ed>[XML]</span>.</tr> |
<td><code>5</code><td><code>ENTITY</code> |
1478 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1479 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1480 |
<tr> |
<tr> |
1481 |
<th scope=row><dfn id=ENTITIES_ATTR class=dom-const><code>ENTITIES_ATTR</code> |
<th scope=row><dfn id=ENTITIES_ATTR class=dom-const><code>ENTITIES_ATTR</code> |
1482 |
<td><code>6</code><td><code>ENTITIES</code> <span class=ed>[XML]</span>.</tr> |
<td><code>6</code><td><code>ENTITIES</code> |
1483 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1484 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1485 |
<tr> |
<tr> |
1486 |
<th scope=row><dfn id=NMTOKEN_ATTR class=dom-const><code>NMTOKEN_ATTR</code> |
<th scope=row><dfn id=NMTOKEN_ATTR class=dom-const><code>NMTOKEN_ATTR</code> |
1487 |
<td><code>7</code><td><code>NMTOKEN</code> <span class=ed>[XML]</span>.</tr> |
<td><code>7</code><td><code>NMTOKEN</code> |
1488 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1489 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1490 |
<tr> |
<tr> |
1491 |
<th scope=row><dfn id=NMTOKENS_ATTR class=dom-const><code>NMTOKENS_ATTR</code> |
<th scope=row><dfn id=NMTOKENS_ATTR class=dom-const><code>NMTOKENS_ATTR</code> |
1492 |
<td><code>8</code><td><code>NMTOKENS</code> <span class=ed>[XML]</span>.</tr> |
<td><code>8</code><td><code>NMTOKENS</code> |
1493 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1494 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1495 |
<tr> |
<tr> |
1496 |
<th scope=row><dfn id=NOTATION_ATTR class=dom-const><code>NOTATION_ATTR</code> |
<th scope=row><dfn id=NOTATION_ATTR class=dom-const><code>NOTATION_ATTR</code> |
1497 |
<td><code>9</code><td><code>NOTATION</code> <span class=ed>[XML]</span>.</tr> |
<td><code>9</code><td><code>NOTATION</code> |
1498 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1499 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1500 |
<tr> |
<tr> |
1501 |
<th scope=row><dfn id=ENUMERATION_ATTR class=dom-const><code>ENUMERATION_ATTR</code> |
<th scope=row><dfn id=ENUMERATION_ATTR class=dom-const><code>ENUMERATION_ATTR</code> |
1502 |
<td><code>10</code><td>Enumeration <span class=ed>[XML]</span>.</tr> |
<td><code>10</code><td>Enumeration |
1503 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1504 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1505 |
<tr> |
<tr> |
1506 |
<th scope=row><dfn id=UNKNOWN_ATTR class=dom-const><code>UNKNOWN_ATTR</code> |
<th scope=row><dfn id=UNKNOWN_ATTR class=dom-const><code>UNKNOWN_ATTR</code> |
1507 |
<td><code>11</code><td>Unknown, because no declaration for the attribute |
<td><code>11</code><td><a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">Unknown</a>, |
1508 |
has been read but the [all declaration processed] property |
because no declaration for the attribute has been read but the |
1509 |
<span class=ed>[INFOSET]</span> would be false.</tr> |
<a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.document">[all declaration processed]</a> |
1510 |
|
property |
1511 |
|
<cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite> |
1512 |
|
would be false.</tr> |
1513 |
</tbody> |
</tbody> |
1514 |
</table> |
</table> |
1515 |
|
|
1516 |
<p>If no attribute type information is available, or if the source |
<p>If no attribute type information is available, or if the source |
1517 |
of the information does not distinguish <q>no value</q> and <q>unknown</q> |
of the information does not distinguish |
1518 |
<span class=ed>[INFOSET]</span>, then the value |
<a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">no |
1519 |
|
value</a> and |
1520 |
|
<a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">unknown</a> |
1521 |
|
<cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite>, |
1522 |
|
then the value |
1523 |
<a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a> |
<a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a> |
1524 |
<em class=rfc2119>MUST</em> be used.</p> |
<em class=rfc2119>MUST</em> be used.</p> |
1525 |
|
|
1531 |
set to <a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>.</p> |
set to <a href="#NO_TYPE_ATTR"><code>NO_TYPE_ATTR</code></a>.</p> |
1532 |
</div> |
</div> |
1533 |
|
|
1534 |
<p>If the source of the information does not distinguish <q>no value</q> |
<p>If the source of the information does not distinguish |
1535 |
and/or <q>unknown</q> <span class=ed>[INFOSET]</span> and |
<a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">no |
1536 |
<code>CDATA</code> <span class=ed>[XML]</span>, then the value |
value</a> and/or |
1537 |
|
<a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#intro.null">unknown</a> |
1538 |
|
<cite class="bibref normative">[<a href="#ref-INFOSET">INFOSET</a>]</cite> and |
1539 |
|
<code>CDATA</code> |
1540 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1541 |
|
<a href="#ref-XML11">XML11</a>]</cite>, then the value |
1542 |
<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> |
1543 |
be used.</p> |
be used.</p> |
1544 |
|
|
1545 |
<p>In Perl binding <span class=ed>[PERLBINDING]</span>, the |
<p>In Perl binding |
1546 |
|
<cite class="bibref normative">[<a href="#ref-DOMPERL">DOMPERL</a>]</cite>, the |
1547 |
<code>Attr</code> nodes <em class=rfc2119>MUST</em> implement the |
<code>Attr</code> nodes <em class=rfc2119>MUST</em> implement the |
1548 |
<a href="#DeclaredValueType"><code>DeclaredValueType</code></a> |
<a href="#DeclaredValueType"><code>DeclaredValueType</code></a> |
1549 |
definition group.</p> |
definition group.</p> |
1550 |
|
|
1551 |
</dd> |
</dd> |
1552 |
|
<dt><dfn id=allowedTokens class=dom-attr><code>allowedTokens</code></dfn> of |
1553 |
|
type <code>DOMStringList</code>, read$B!>(Bonly</dt> |
1554 |
|
<dd><p>The list of allowed attribute values.</p> |
1555 |
|
|
1556 |
|
<p>On getting, the attribute <em class=rfc2119>MUST</em> return the |
1557 |
|
<code>DOMStringList</code> object associated to this attribute. The object |
1558 |
|
<em class=rfc2119>MAY</em> contain zero or more ordered strings, consist of |
1559 |
|
zero or more characters respectively, possibly with duplications. The |
1560 |
|
object <em class=rfc2119>MUST</em> be read$B!>(Bonly if and only if the node |
1561 |
|
is <a href="#read-only">read$B!>(Bonly</a>.</p> |
1562 |
|
|
1563 |
|
<p>If the <a href="#AttributeDefinition"><code>AttributeDefinition</code></a> |
1564 |
|
node is created during the process to create a <abbr>DOM</abbr> from an |
1565 |
|
<abbr>XML</abbr> document, the object <em class=rfc2119>MUST</em> contain |
1566 |
|
the names or name tokens allowed for the attribute defined by the node. |
1567 |
|
If the document is well$B!>(Bformed, the object will be empty unless |
1568 |
|
the <a href="#declaredType"><code>declaredType</code></a> is |
1569 |
|
<a href="#ENUMERATION_ATTR"><code>ENUMERATION_ATTR</code></a> or |
1570 |
|
<a href="#NOTATION_ATTR"><code>NOTATION_ATTR</code></a>.</p> |
1571 |
|
|
1572 |
|
<p>If the <a href="#declaredType"><code>declaredType</code></a> is different |
1573 |
|
from <a href="#ENUMERATION_ATTR"><code>ENUMERATION_ATTR</code></a> or |
1574 |
|
<a href="#NOTATION_ATTR"><code>NOTATION_ATTR</code></a>, this attribute |
1575 |
|
<em class=rfc2119>MUST</em> be ignored for the purpose of serializing |
1576 |
|
into (part of) <abbr>XML</abbr> document.</p> |
1577 |
|
|
1578 |
|
<div class="note memo"> |
1579 |
|
<p>When serializing the node it should be noted that the object might |
1580 |
|
be empty, might contain duplications, and might contain strings that are |
1581 |
|
not names or name tokens.</p> |
1582 |
|
</div></dd> |
1583 |
<dt><dfn id=defaultType class=dom-attr><code>defaultType</code></dfn> of |
<dt><dfn id=defaultType class=dom-attr><code>defaultType</code></dfn> of |
1584 |
type <code>unsigned short</code></dt> |
type <code>unsigned short</code></dt> |
1585 |
<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 |
1590 |
the value associated to this attribute.</p> |
the value associated to this attribute.</p> |
1591 |
|
|
1592 |
<p>On setting, the attribute <em class=rfc2119>MUST</em> raise a |
<p>On setting, the attribute <em class=rfc2119>MUST</em> raise a |
1593 |
<code>NO_MODIFICATION_ALLOWED_ERR</code> <span class=ed>@@ ref</span> |
<code>NO_MODIFICATION_ALLOWED_ERR</code> if the |
|
exception if the |
|
1594 |
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node |
<a href="#AttributeDefinition"><code>AttributeDefinition</code></a> node |
1595 |
is read$B!>(Bonly <span class=ed>@@ ref</span>. Otherwise, it |
is <a href="#read-only">read$B!>(Bonly</a>. Otherwise, it |
1596 |
<em class=rfc2119>MUST</em> set the specified value as the value |
<em class=rfc2119>MUST</em> set the specified value as the value |
1597 |
associated to this attribute.</p> |
associated to this attribute.</p> |
1598 |
|
|
1607 |
<p>The definition group |
<p>The definition group |
1608 |
<dfn id=DefaultValueType><code>DefaultValueType</code></dfn> |
<dfn id=DefaultValueType><code>DefaultValueType</code></dfn> |
1609 |
contains integers indicating the type of the default for the attribute. |
contains integers indicating the type of the default for the attribute. |
1610 |
The definition group contains the following constans:</p> |
The definition group contains the following constants:</p> |
1611 |
|
|
1612 |
<table> |
<table> |
1613 |
<thead> |
<thead> |
1619 |
<td><code>0</code><td>Unknown.</tr> |
<td><code>0</code><td>Unknown.</tr> |
1620 |
<tr> |
<tr> |
1621 |
<th scope=row><dfn id=FIXED_DEFAULT class=dom-const><code>FIXED_DEFAULT</code></dfn> |
<th scope=row><dfn id=FIXED_DEFAULT class=dom-const><code>FIXED_DEFAULT</code></dfn> |
1622 |
<td><code>1</code><td>Provided explicitly and fixed |
<td><code>1</code><td>Provided explicitly and only the value is allowed. |
1623 |
<span class=ed>@@ ref</span> to that value.</tr> |
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1624 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1625 |
<tr> |
<tr> |
1626 |
<th scope=row><dfn id=REQUIRED_DEFAULT class=dom-const><code>REQUIRED_DEFAULT</code></dfn> |
<th scope=row><dfn id=REQUIRED_DEFAULT class=dom-const><code>REQUIRED_DEFAULT</code></dfn> |
1627 |
<td><code>2</code><td>No default value and the attribute have to be |
<td><code>2</code><td>No default value and the attribute have to be |
1628 |
explicitly specified.</tr> |
explicitly specified.</tr> |
1629 |
<tr> |
<tr> |
1630 |
<th scope=row><dfn id=IMPLIED_DEFAULT class=dom-const><code>IMPLIED_DEFAULT</code></dfn> |
<th scope=row><dfn id=IMPLIED_DEFAULT class=dom-const><code>IMPLIED_DEFAULT</code></dfn> |
1631 |
<td><code>3</code><td>Implied <span class=ed>@@ ref</span>.</tr> |
<td><code>3</code><td>Implied |
1632 |
|
<cite class="bibref normative">[<a href="#ref-XML10">XML10</a>, |
1633 |
|
<a href="#ref-XML11">XML11</a>]</cite>.</tr> |
1634 |
<tr> |
<tr> |
1635 |
<th scope=row><dfn id=EXPLICIT_DEFAULT class=dom-const><code>EXPLICIT_DEFAULT</code></dfn> |
<th scope=row><dfn id=EXPLICIT_DEFAULT class=dom-const><code>EXPLICIT_DEFAULT</code></dfn> |
1636 |
<td><code>4</code><td>Provided explicitly.</tr> |
<td><code>4</code><td>Provided explicitly.</tr> |
1654 |
|
|
1655 |
</div> |
</div> |
1656 |
|
|
1657 |
<div class=section id=section-documenttype> |
<div class=section id=section-entity> |
1658 |
<h3>Modifications to the <code id=DocumentType>DocumentType</code> |
<h3>Modifications to the <code id=Entity>Entity</code> Interface</h3> |
|
Interface</h3> |
|
|
|
|
|
<p>A <a href="#DocumentType"><code>DocumentType</code></a> interface |
|
|
<em class=rfc2119>MAY</em> contain zero or more |
|
|
<a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> |
|
|
nodes in the <code>NodeList</code> object contained in the |
|
|
<code>childNodes</code> attribute of the |
|
|
<a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
|
|
|
|
|
<p>If the <a href="#DocumentType"><code>DocumentType</code></a> node is created |
|
|
during the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> |
|
|
document, the <code>NodeList</code> object in the <code>childNodes</code> |
|
|
object <em class=rfc2119>MUST</em> contains the |
|
|
<a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> |
|
|
nodes representing the processing instructions in the document type |
|
|
definition of the document processed <span class=ed>@@ ref</span> by |
|
|
the <abbr>XML</abbr> processor. If the |
|
|
<a href="#DocumentType"><code>DocumentType</code></a> node is marked |
|
|
as read$B!>(Bonly, then all the child nodes <em class=rfc2119>MUST</em> |
|
|
also be marked as read$B!>(Bonly.</p> |
|
|
|
|
|
<p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is created |
|
|
from a document type declaration information item <span class=ed>@@ ref</span>, |
|
|
the <code>NodeList</code> object in the <code>childNodes</code> attribute |
|
|
of the node <em class=rfc2119>MUST</em> contain the |
|
|
<a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes |
|
|
created from the processing instruction information items in the list in the |
|
|
[children] property of the document type declaration item in the same |
|
|
order.</p> |
|
|
|
|
|
<p>If a <a href="#DocumentType"><code>DocumentType</code></a> node is mapped to |
|
|
a document type declaration information item, the list in the [children] |
|
|
property <em class=rfc2119>MUST</em> contain the processng instruction |
|
|
information items created from the |
|
|
<a href="#ProcessingInstruction"><code>ProcessingInstruction</code></a> nodes |
|
|
in the <code>NodeList</code> object in the <code>childNodes</code> attribute |
|
|
of the <a href="#DocumentType"><code>DocumentType</code></a> node.</p> |
|
1659 |
|
|
1660 |
<pre class=idl><code>// Modifications to the DocumentType interface |
<p>The implementation of the <a href="#Entity"><code>Entity</code></a> |
1661 |
|
interface <em class=rfc2119>MUST</em> be modified as the following |
1662 |
|
<a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p> |
1663 |
|
<pre class=idl><code>// Modifications to the Entity interface |
1664 |
attribute DOMString <a href="#publicId">publicId</a>; |
attribute DOMString <a href="#publicId">publicId</a>; |
1665 |
attribute DOMString <a href="#systemId">systemId</a>; |
attribute DOMString <a href="#systemId">systemId</a>; |
1666 |
|
attribute DOMString <a href="#notationName">notationName</a>; |
1667 |
|
|
1668 |
|
// Additions to the Entity interface |
1669 |
|
attribute DOMString <a href="#hasReplacementTree">hasReplacementTree</a>; |
1670 |
|
readonly attribute <a href="#DocumentType">DocumentType</a> <a href="#ownerDocumentTypeDefinition">ownerDocumentTypeDefinition</a>; |
1671 |
|
|
1672 |
|
attribute boolean <a href="#isExternallyDeclared">isExternallyDeclared</a>; |
1673 |
</code></pre> |
</code></pre> |
1674 |
|
|
1675 |
<p class=ed> |
<p>The <code id=notationName>notationName</code> attribute of the |
1676 |
The publicId attribute and the systemId attribute of DocumentType, Entity, and Notation objects are now read-write. |
<a href="#Entity"><code>Entity</code></a> interface is no longer |
1677 |
|
read$B!>(Bonly.</p> |
1678 |
|
|
1679 |
|
<p>On setting, the attribute <em class=rfc2119>MUST</em> raise a |
1680 |
|
<code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is |
1681 |
|
<a href="#read-only">read$B!>(Bonly</a>. Otherwise, it <em class=rfc2119>MUST</em> |
1682 |
|
set the specified value as the value associated to the attribute. No lexical |
1683 |
|
validation is performed. The new value <em class=rfc2119>MAY</em> be |
1684 |
|
<code>null</code>.</p> |
1685 |
|
|
1686 |
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. |
<dl> |
1687 |
|
<dt><dfn id=hasReplacementTree class=dom-attr><code>hasReplacementTree</code></dfn> |
1688 |
|
of type boolean</dt> |
1689 |
|
<dd><p>Whether the structure of the replacement text of the entity |
1690 |
|
is available via the <code>NodeList</code> object in the |
1691 |
|
<code>childNodes</code> attribute of the entity.</p> |
1692 |
|
|
1693 |
|
<p>On getting, the attribute <em class=rfc2119>MUST</em> return |
1694 |
|
the value associated to this attribute.</p> |
1695 |
|
|
1696 |
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. |
<p>On setting, the attribute <em class=rfc2119>MUST</em> raise a |
1697 |
|
<code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is |
1698 |
|
<a href="#read-only">read$B!>(Bonly</a>. Otherwise, it |
1699 |
|
<em class=rfc2119>MUST</em> set the specified value as the |
1700 |
|
value associated to this attribute.</p> |
1701 |
|
|
1702 |
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. |
<div class="note memo"> |
1703 |
|
<p>The attribute can be set to <code>false</code> even if the |
1704 |
|
<a href="#Entity"><code>Entity</code></a> node has any child node. |
1705 |
|
If the attribute is set to <code>false</code>, then any child node of |
1706 |
|
the <a href="#Entity"><code>Entity</code></a> node ought to be ignored, |
1707 |
|
say, for the purpose of serialization.</p> |
1708 |
|
</div> |
1709 |
|
|
1710 |
|
<p>When an <code>EntityReference</code> node is created by cloning |
1711 |
|
the replacement subtree of the <a href="#Entity"><code>Entity</code></a> |
1712 |
|
node, if the attribute is set to <code>false</code>, then any descendant |
1713 |
|
of the node <em class=rfc2119>MUST</em> be ignored.</p> |
1714 |
|
|
1715 |
|
<p>If the <a href="#Entity"><code>Entity</code></a> node is created during |
1716 |
|
the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document, |
1717 |
|
the following requirements are applied: If the entity is an unparsed |
1718 |
|
entity, then the attribute <em class=rfc2119>MUST</em> be set to |
1719 |
|
<code>false</code>. Otherwise, if the entity is an external entity whose |
1720 |
|
replacement text is not available, or whose replacement text is not converted |
1721 |
|
to a replacement tree, then the attribute <em class=rfc2119>MUST</em> be set |
1722 |
|
to <code>false</code>. Otherwise, the attribute |
1723 |
|
<em class=rfc2119>MUST</em> be set to <code>true</code>.</p> |
1724 |
|
|
1725 |
ISSUE: In HTML5, Firefox 1.5, and Opera 9, not specifying public or system identifier results in empty strings. |
<div class="note memo"> |
1726 |
</pre> |
<p>An <a href="#Entity"><code>Entity</code></a> node created by the |
1727 |
|
<a href="#createGeneralEntity"><code>createGeneralEntity</code></a> method |
1728 |
|
has its <a href="#hasReplacementTree"><code>hasReplacementTree</code></a> |
1729 |
|
attribute set to <code>false</code>.</p> |
1730 |
|
</div></dd> |
1731 |
|
<dt><dfn id=isExternallyDeclared class=dom-attr><code>isExternallyDeclared</code></dfn> |
1732 |
|
of type boolean</dt> |
1733 |
|
<dd><p>Whether the entity is declared by an external entity declaration or |
1734 |
|
not. If the value is <code>true</code>, the entity is declared in an entity |
1735 |
|
declaration in the external subset entity or in an external parameter entity. |
1736 |
|
If the value is <code>false</code>, the entity is declared in an entity |
1737 |
|
declaration in the internal subset, or the node is created in memory.</p> |
1738 |
|
|
1739 |
</div> |
<p>On getting, the attribute <em class=rfc2119>MUST</em> return |
1740 |
|
the value associated to this attribute.</p> |
1741 |
|
|
1742 |
|
<p>On setting, the attribute <em class=rfc2119>MUST</em> raise a |
1743 |
|
<code>NO_MODIFICATION_ALLOWED_ERR</code> if the node is |
1744 |
|
<a href="#read-only">read$B!>(Bonly</a>. Otherwise, it |
1745 |
|
<em class=rfc2119>MUST</em> set the specified value as the value associated |
1746 |
|
to this attribute.</p> |
1747 |
|
|
1748 |
|
<p>If the <a href="#Entity"><code>Entity</code></a> node is created during |
1749 |
|
the process to create a <abbr>DOM</abbr> from an <abbr>XML</abbr> document, |
1750 |
|
the following requirements are applied: If the entity is an unparsed |
1751 |
|
entity, then the attribute <em class=rfc2119>MUST</em> be set to |
1752 |
|
<code>false</code>. Otherwise, i.e. the entity is a parsed entity, then the |
1753 |
|
attribute <em class=rfc2119>MUST</em> be set to the value of whether the |
1754 |
|
entity is declared by an external markup declaration or not.</p></dd> |
1755 |
|
</dl> |
1756 |
</div> |
</div> |
1757 |
|
|
1758 |
|
<div class=section id=section-notation> |
1759 |
|
<h3>Modifications to the <code id=Notation>Notation</code> Interface</h3> |
1760 |
|
|
1761 |
|
<p>The implementation of the <a href="#Notation"><code>Notation</code></a> |
1762 |
|
interface <em class=rfc2119>MUST</em> be modified as the following |
1763 |
|
<a href="#idl-fragment"><abbr>IDL</abbr> fragment</a>:</p> |
1764 |
|
<pre class=idl><code>// Modifications to the Notation interface |
1765 |
|
attribute DOMString <a href="#publicId">publicId</a>; |
1766 |
|
attribute DOMString <a href="#systemId">systemId</a>; |
1767 |
|
|
1768 |
|
// Addition to the Notation interface |
1769 |
|
readonly attribute <a href="#DocumentType">DocumentType</a> <a href="#ownerDocumentTypeDefinition">ownerDocumentTypeDefinition</a>; |
1770 |
|
</code></pre> |
1771 |
|
</div> |
1772 |
|
|
1773 |
|
</div> |
1774 |
|
|
1775 |
<div id="references" class="section reference"> |
<div id="references" class="section reference"> |
1776 |
<h2>References</h2> |
<h2>References</h2> |
1780 |
|
|
1781 |
<dl> |
<dl> |
1782 |
<dt id=ref-DOM3CORE>DOM3CORE</dt> |
<dt id=ref-DOM3CORE>DOM3CORE</dt> |
1783 |
<dd class=ed>@@ W3C DOM Level 3 Core</dd> |
<dd><cite><a href="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407">Document |
1784 |
<dt id=ref-DOMDTDEF>DOMDTDEF</dt> |
Object Model (<abbr>DOM</abbr>) Level 3 Core Specification, Version |
1785 |
<dd class=ed>@@ manakai's extension to DOM for document type definitions</dd> |
1.0</a></cite>, <abbr>W3C</abbr> Recommendation, <time datetime=2004-04-07>7 |
1786 |
|
April 2004</time>. <em>This</em> version of the specification is referenced. |
1787 |
|
The latest version of the specification is available at |
1788 |
|
<code class=uri><<a href="http://www.w3.org/TR/DOM-Level-3-Core">http://www.w3.org/TR/DOM-Level-3-Core</a>></code>.</dd> |
1789 |
|
<dt id=ref-DOMBIND>DOMBIND</dt> |
1790 |
|
<dd><cite><a href="http://www.w3.org/TR/2007/WD-DOM-Bindings-20071017/">Language |
1791 |
|
Bindings for <abbr>DOM</abbr> Specifications</a></cite>, <abbr>W3C</abbr> |
1792 |
|
Working Draft, <time datetime=2007-10-17>17 October 2007</time>. |
1793 |
|
<em>This</em> version of the specification is referenced. The latest version |
1794 |
|
of the specification is available at |
1795 |
|
<code class=uri><<a href="http://www.w3.org/TR/DOM-Bindings/">http://www.w3.org/TR/DOM-Bindings/</a>></code>.</dd> |
1796 |
|
<dt id=ref-DOMPERL>DOMPERL</dt> |
1797 |
|
<dd><cite><a href="http://suika.fam.cx/gate/2005/sw/manakai/DOM%20Perl%20Binding">manakai's |
1798 |
|
<abbr>DOM</abbr> Perl Binding</a></cite>, editor's draft. Work in |
1799 |
|
progress.</dd> |
1800 |
|
<dt id=ref-HTML5>HTML5</dt> |
1801 |
|
<dd><cite><a href="http://whatwg.org/html5"><abbr>HTML</abbr> 5</a></cite>, |
1802 |
|
<abbr title="Web Hypertext Application Technology Working Group">WHATWG</abbr> |
1803 |
|
Working Draft. Work in progress.</dd> |
1804 |
|
<dt id=ref-INFOSET>INFOSET</dt> |
1805 |
|
<dd><cite><a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204"><abbr>XML</abbr> |
1806 |
|
Information Set (Second Edition)</a></cite>, <abbr>W3C</abbr> Recommendation, |
1807 |
|
<time datetime=2004-02-04>4 February 2004</time>. <em>This</em> version of |
1808 |
|
the specification is referenced. The latest version of the specification is |
1809 |
|
available at |
1810 |
|
<code class=uri><<a href="http://www.w3.org/TR/xml-infoset">http://www.w3.org/TR/xml-infoset</a>></code>.</dd> |
1811 |
<dt id="ref-KEYWORDS">KEYWORDS</dt> |
<dt id="ref-KEYWORDS">KEYWORDS</dt> |
1812 |
<dd><cite><a href="urn:ietf:rfc:2119">Key words for use in |
<dd><cite><a href="urn:ietf:rfc:2119">Key words for use in |
1813 |
<abbr>RFCs</abbr> to Indicate Requirement Levels</a></cite>, |
<abbr>RFCs</abbr> to Indicate Requirement Levels</a></cite>, |
1816 |
14</a>, <abbr title="Request for Comments">RFC</abbr> 2119, |
14</a>, <abbr title="Request for Comments">RFC</abbr> 2119, |
1817 |
<time datetime=1997-03>March 1997</time>. |
<time datetime=1997-03>March 1997</time>. |
1818 |
<em>This</em> version of the specification is referenced.</dd> |
<em>This</em> version of the specification is referenced.</dd> |
1819 |
<dt id=ref-INFOSET>INFOSET</dt> |
<dt id=ref-MANAKAI>MANAKAI</dt> |
1820 |
<dd class=ed>@@</dd> |
<dd><cite><a href="http://suika.fam.cx/gate/2005/sw/manakai/DOM%20Extensions"> |
1821 |
<dt id=ref-XML10">XML10</dt> |
manakai's <abbr>DOM</abbr> Extensions</a></cite>, editor's draft. Work in |
1822 |
|
progress.</dd> |
1823 |
|
<dt id=ref-XML10>XML10</dt> |
1824 |
<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 |
1825 |
Markup Language (<abbr>XML</abbr>) 1.0 (Fourth Edition)</a></cite>, |
Markup Language (<abbr>XML</abbr>) 1.0 (Fourth Edition)</a></cite>, |
1826 |
<abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August |
<abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August |
1827 |
2006</time>, edited in place <time datetime=2006-09-29>29 September |
2006</time>, edited in place <time datetime=2006-09-29>29 September |
1828 |
2006</time>. Tje latest version of the specification is available at |
2006</time>. <em>This</em> version of the specification is referenced. The |
1829 |
<code class=uri><<a href="http://www.w3.org/TR/xml">http://www.w3.org/TR/xml</a>></code>. |
latest version of the specification is available at |
1830 |
<em>This</em> version of the specification is referenced.</dd> |
<code class=uri><<a href="http://www.w3.org/TR/xml">http://www.w3.org/TR/xml</a>></code>.</dd> |
1831 |
<dt id=ref-XML11>XML11</dt> |
<dt id=ref-XML11>XML11</dt> |
1832 |
<dd class=ed>@@</dd> |
<dd><cite><a href="http://www.w3.org/TR/2006/REC-xml11-20060816/">Extensible |
1833 |
|
Markup Language (<abbr>XML</abbr>) 1.1 (Second Edition)</a></cite>, |
1834 |
|
<abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August |
1835 |
|
2006</time>, edited in place <time datetime=2006-09-29>29 September |
1836 |
|
2006</time>. <em>This</em> version of the specification is referenced. The |
1837 |
|
latest version of the specification is available at |
1838 |
|
<code class=uri><<a href="http://www.w3.org/TR/xml11">http://www.w3.org/TR/xml11</a>></code>.</dd> |
1839 |
</dl> |
</dl> |
1840 |
</div> |
</div> |
1841 |
|
|
1842 |
<div id="informative-references" class="section informative reference"> |
<div id="informative-references" class="section informative reference"> |
1843 |
<h3>Non$B!>(Bnormative References</h3> |
<h3>Non$B!>(Bnormative References</h3> |
1844 |
|
|
1845 |
<dl class=ed> |
<dl> |
1846 |
<dt id=ref-CSS>CSS</dt> |
<dt id=ref-DOM1WD>DOM1WD</dt> |
1847 |
<dd><cite><a href="http://www.w3.org/TR/2007/CR-CSS21-20070719">Cascading |
<dd><cite><a href="http://www.w3.org/TR/WD-DOM-971209/">Document Object |
1848 |
Style Sheets Level 2 Revision 1 (<abbr>CSS</abbr> 2.1) |
Model Specification</a></cite>, <abbr>W3C</abbr> Working Draft, |
1849 |
Specification</a></cite>, |
<time datetime=1997-12-09>9 December 1998</time>.</dd> |
1850 |
<abbr title="World Wide Web Consortium">W3C</abbr> Candidate |
<dd><cite><a href="http://www.w3.org/TR/WD-DOM-19980318/">Document Object |
1851 |
Recommendation, <time datetime=2007-07-19>19 July 2007</time>. |
Model Specification</a></cite>, <abbr>W3C</abbr> Working Draft, |
1852 |
Work in progress. The latest version of the specification is |
<time datetime=1998-03-18>18 March 1998</time>.</dd> |
1853 |
available at |
<dd><cite><a href="http://www.w3.org/TR/1998/WD-DOM-19980416/">Document |
1854 |
<code class=URI><<a href="http://www.w3.org/TR/CSS21">http://www.w3.org/TR/CSS21</a>></code>.</dd> |
Object Model Specification, Version 1.0</a></cite>, <abbr>W3C</abbr> Working |
1855 |
<dt id=ref-CSSOM>CSSOM</dt> |
Draft, <time datetime=1998-04-16>16 April 1998</time>.</dd> |
1856 |
<dd><cite><a href="http://dev.w3.org/cvsweb/~checkout~/csswg/cssom/Overview.html?rev=1.55&content-type=text/html;%20charset=utf-8">Cascading |
<dt id=ref-DOM3AS>DOM3AS</dt> |
1857 |
Style Sheets Object Model (<abbr>CSSOM</abbr>)</a></cite>, |
<dd><cite><a href="http://www.w3.org/TR/2002/NOTE-DOM-Level-3-AS-20020725/">Document |
1858 |
<abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft, |
Object Model (<abbr>DOM</abbr>) Level 3 Abstract Schemas Specification, |
1859 |
<time datetime=2007-06-18>18 June 2007</time>. Work in progress. |
Version 1.0</a></cite>, <abbr>W3C</abbr> Note, <time datetime=2002-07-25>25 |
1860 |
The latest Editor's Draft of the specification is available at |
July 2002</time>. The latest version of the specification is available at |
1861 |
<code class=URI><<a href="http://dev.w3.org/csswg/cssom/Overview.html">http://dev.w3.org/csswg/cssom/Overview.html</a>></code>.</dd> |
<code class=uri><<a href="http://www.w3.org/TR/DOM-Level-3-AS">http://www.w3.org/TR/DOM-Level-3-AS</a>></code>.</dd> |
1862 |
<dt id=ref-HTML5>HTML5</dt> |
<dt id=ref-XSAPI>XSAPI</dt> |
1863 |
<dd><cite><a href="http://whatwg.org/html5"><abbr>HTML</abbr> 5</a></cite>, |
<dd><cite><a href="http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/"><abbr>XML</abbr> |
1864 |
<abbr title="Web Hypertext Application Technology Working Group">WHATWG</abbr> |
Schema <abbr>API</abbr></a></cite>, <abbr>W3C</abbr> Member Submission, |
1865 |
Working Draft. Work in progress.</dd> |
<time datetime=2004-03-09>9 March 2004</time>. The latest version of the |
1866 |
<dt id=ref-SAPI>SAPI</dt> |
specification is available at |
1867 |
<dd><cite><a href="http://dev.w3.org/cvsweb/~checkout~/2006/webapi/selectors-api/Overview.html?rev=1.28&content-type=text/html;%20charset=utf-8">Selectors <abbr>API</abbr></a></cite>, |
<code class=uri><<a href="http://www.w3.org/Submission/xmlschema-api/">http://www.w3.org/Submission/xmlschema-api/</a>></code>.</dd> |
|
<abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft, |
|
|
<time datetime=2007-08-29>29 August 2007</time>. Work in progress. |
|
|
The latest Editor's Draft of the specification is available at |
|
|
<code class=URI><<a href="http://dev.w3.org/2006/webapi/selectors-api/Overview.html">http://dev.w3.org/2006/webapi/selectors-api/Overview.html</a>></code>. |
|
|
The latest published version of the specification is available at |
|
|
<code class=URI><<a href="http://www.w3.org/TR/selectors-api/">http://www.w3.org/TR/selectors-api/</a>></code>.</dd> |
|
|
<dt id=XBL2>XBL2</dt> |
|
|
<dd><cite><a href="http://www.mozilla.org/projects/xbl/xbl2.html"><abbr>XBL</abbr> |
|
|
2.0</a></cite>, Mozilla.org, <time datetime=2007-03-15>15 Mar 2007</time>. |
|
|
Work in progress. The latest |
|
|
<abbr title="World Wide Web Consortium">W3C</abbr>$B!>(Bpublished |
|
|
version of the specification is available at |
|
|
<code class=URI><<a href="http://www.w3.org/TR/xbl/">http://www.w3.org/TR/xbl/</a>></code>.</dd> |
|
|
<dt id=ref-XML5>XML5</dt> |
|
|
<dd class=ed>@@</dd> |
|
1868 |
</dl> |
</dl> |
1869 |
</div> |
</div> |
1870 |
|
|