/[suikacvs]/messaging/manakai/lib/Message/DOM/DOMHTML.dis
Suika

Contents of /messaging/manakai/lib/Message/DOM/DOMHTML.dis

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.18 - (hide annotations) (download)
Sat Sep 24 11:57:20 2005 UTC (19 years, 2 months ago) by wakaba
Branch: MAIN
Changes since 1.17: +36 -26 lines
++ manakai/bin/ChangeLog	24 Sep 2005 10:49:30 -0000
	(dac_load_module_file): Allow "|" as qname prefix separator.
++ manakai/lib/Message/Markup/ChangeLog	24 Sep 2005 11:11:32 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* SuikaWikiConfig21.dis: Use "disPerl:H" instead
	of "disPerl:Q" for hash keys.
	(expandQName): Removed the "g" option from the "s///",
	which was very serious and difficult bug.

++ manakai/lib/Message/Util/ChangeLog	24 Sep 2005 11:01:40 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* ManakaiNode.dis (mn:node, mn:nodeID, mn:treeID): New
	properties.
	(mn:stemName, mn:refName): New properties.

	* Makefile (.discore-all.pm): New rule to create dis-related
	Perl module files at once.

	* DIS.dis (PERL_HASH_KEY_ALREADY_DEFINED_ERR): New error code.
	(hashKeyName, hashKeyScope, anotherURI): New error parameters.

	* ManakaiNode.dis, DIS.dis, PerlCode.dis: Use "disPerl:H" instead
	of "disPerl:Q" for hash keys.

++ manakai/lib/Message/Util/Error/ChangeLog	24 Sep 2005 10:58:31 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* ManakaiNode.dis: Use "disPerl:H" instead
	of "disPerl:Q" for hash keys.

++ manakai/lib/Message/Util/DIS/ChangeLog	24 Sep 2005 11:06:19 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* Perl.dis (plCodeFragment): Takes hash key name
	from the database for "mn:node" and "DOMCore:read-only",
	where they were hardcoded.  For GetProp and SetProp
	dis tree element instructions, hash key name
	is shorten if shorter version is defined by "DISPerl:propHashKey"
	property of the corresponding resource in the database.
	(plAddHashKey): New method to check hash key name dupulication.
	(dp:plHashKey): New property.

	* Perl.dis, DNLite.dis, DISDoc.dis, DISDump.dis:
	Use "disPerl:H" instead of "disPerl:Q" for hash keys.

++ manakai/lib/Message/DOM/ChangeLog	24 Sep 2005 10:55:11 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* DOMMain.dis (MDOM:): Reintroduced for "ManakaiDOM:ManakaiDOM1"
	and "ManakaiDOM:ManakaiDOM2".

	* DOMFeature.dis, DOMMain.dis, DOMCore.dis, DOMXML.dis,
	DOMLS.dis, SimpleLS.dis, GenericLS.dis: Use disPerl:H
	instead of disPerl:Q for internal property hash keys.

	* DOMFeature.dis, DOMCore.dis, DOMXML.dis: Missing property
	definitions added.

	* DOMCore.dis (DOMCore:TextNode, DOMCore:DocumentFragmentNode):
	New resources.

	* DOMXML.dis (DOMXML:EntityNode, DOMXML:EntityReferenceNode): New
	resources.

++ manakai/lib/manakai/ChangeLog	24 Sep 2005 11:08:14 -0000
2005-09-24  Wakaba  <wakaba@suika.fam.cx>

	* XML.dis: The "DISPerl:propHashKey" property
	added to properties.  Now the module depends on the DISPerl
	module.

	* DISPerl.dis (DISPerl:propHashKey): New property.

1 wakaba 1.1 Module:
2 wakaba 1.4 @QName:
3     MDOM:DOMHTML
4 wakaba 1.1 @Namespace:
5 wakaba 1.2 http://suika.fam.cx/~wakaba/archive/2004/dom/html#
6 wakaba 1.7
7 wakaba 1.4 @AppName:
8 wakaba 1.1 @@@: html
9 wakaba 1.4 @@ContentType:
10 wakaba 1.1 lang:IDL-DOM
11     @@prefix: dom.w3c.org
12 wakaba 1.4 @@For:
13 wakaba 1.17 ManakaiDOM:IDL ManakaiDOM:DOM1 !ManakaiDOM|DOM2
14 wakaba 1.4 @AppName:
15 wakaba 1.1 @@@: html2
16 wakaba 1.4 @@ContentType:
17 wakaba 1.1 lang:IDL-DOM
18     @@prefix: dom.w3c.org
19 wakaba 1.4 @@For:
20     ManakaiDOM:IDL ManakaiDOM:DOM2
21 wakaba 1.7
22 wakaba 1.1 @FullName:
23     @@lang:en
24     @@@: DOM HTML Module
25 wakaba 1.4
26 wakaba 1.1 @Description:
27     @@lang:en
28     @@@:
29     The DOM HTML Module provides objects and methods specific
30 wakaba 1.7 to HTML 4 documents and XHTML 1.0 documents. The HTML
31 wakaba 1.1 DOM exposes a number of convinience methods and attributes
32     that are more appropriate to script writers. These
33     enhancements rely on transitional or frameset DTDs
34 wakaba 1.7 of HTML 4.0 <SRC::DOM Level 1 HTML> or HTML 4.01
35     <SRC::DOM Level 2 HTML> and XHTML 1.0 <SRC::DOM Level 2 HTML>.
36     \
37     Form related interfaces are provided by a separate
38 wakaba 1.15 module, <Module::MDOM:DOMWebForms>.
39 wakaba 1.1
40 wakaba 1.17 @DISCore:author: DISCore|Wakaba
41 wakaba 1.1 @License:
42     license:Perl+MPL
43 wakaba 1.4 @Date:
44     @@@:
45 wakaba 1.18 $Date: 2005/09/23 18:24:55 $
46 wakaba 1.4 @@ContentType:
47     dis:Date.RCS
48    
49     @DefaultFor:
50     ManakaiDOM:ManakaiDOMLatest
51    
52     @Require:
53     @@Module:
54 wakaba 1.7 @@@QName:
55     DISlib:DISMarkup
56     @@@WithFor:
57     ManakaiDOM:all
58 wakaba 1.4 @@Module:
59 wakaba 1.17 @@@QName: MDOM|DOMXML
60     @@@WithFor: ManakaiDOM|ManakaiDOMLatest
61     @@Module:
62     @@@QName: MDOM|DOMWebForms
63     @@@WithFor: ManakaiDOM|ManakaiDOMLatest
64 wakaba 1.4 @@Module:
65 wakaba 1.17 @@@QName: MDOM|DOMHTML
66     @@@WithFor: ManakaiDOM|ManakaiDOM
67 wakaba 1.4 @@Module:
68 wakaba 1.17 @@@QName: MDOM|DOMHTML
69     @@@WithFor: ManakaiDOM|ManakaiDOM1
70 wakaba 1.4 @@Module:
71 wakaba 1.17 @@@QName: MDOM|DOMHTML
72     @@@WithFor: ManakaiDOM|ManakaiDOM2
73 wakaba 1.4 @@Module:
74 wakaba 1.17 @@@QName: MDOM|DOMHTML
75     @@@WithFor: ManakaiDOM|ManakaiDOMLatest
76 wakaba 1.4 @@Module:
77 wakaba 1.17 @@@QName: MDOM|DOMHTML
78     @@@WithFor: DOMHTML|ForHTML40SE
79 wakaba 1.4 @@Module:
80 wakaba 1.17 @@@QName: MDOM|DOMHTML
81     @@@WithFor: DOMHTML|ForHTML401
82 wakaba 1.11 @@Module:
83 wakaba 1.17 @@@QName: MDOM|DOMHTML
84     @@@WithFor: DOMHTML|ForXHTML10SE
85 wakaba 1.4
86     Namespace:
87     @dis:
88     http://suika.fam.cx/~wakaba/archive/2004/8/18/lang#dis--
89     @dis2pm:
90     http://suika.fam.cx/~wakaba/archive/2004/11/8/dis2pm#
91 wakaba 1.7 @DISlib:
92     http://suika.fam.cx/~wakaba/archive/2004/dis/
93 wakaba 1.4 @DOMHTML:
94     http://suika.fam.cx/~wakaba/archive/2004/dom/html#
95     @DOMMain:
96     http://suika.fam.cx/~wakaba/archive/2004/dom/main#
97 wakaba 1.16 @DOMMetaImpl:
98     http://suika.fam.cx/~wakaba/archive/2004/dom/meta#
99 wakaba 1.17 @f:
100     http://suika.fam.cx/~wakaba/archive/2004/dom/feature#
101     @html5:
102     http://www.w3.org/1999/xhtml
103 wakaba 1.4 @infoset:
104 wakaba 1.17 http://www.w3.org/2001/04/infoset#
105     @kwd:
106     http://suika.fam.cx/~wakaba/archive/2005/rfc2119/
107 wakaba 1.4 @lang:
108 wakaba 1.17 http://suika.fam.cx/~wakaba/archive/2004/8/18/lang#
109 wakaba 1.4 @license:
110 wakaba 1.17 http://suika.fam.cx/~wakaba/archive/2004/8/18/license#
111 wakaba 1.4 @ManakaiDOM:
112     http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#
113     @ManakaiDOMCore:
114     http://suika.fam.cx/~wakaba/archive/2004/mdom-core#
115     @ManakaiDOMHTML:
116     http://suika.fam.cx/~wakaba/archive/2004/mdom/html#
117     @MDOM:
118     http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM.
119     @MDOMX:
120     http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception#
121     @null:
122     http://suika.fam.cx/~wakaba/-temp/2003/09/27/null
123     @rdf:
124     http://www.w3.org/1999/02/22-rdf-syntax-ns#
125     @rdfs:
126     http://www.w3.org/2000/01/rdf-schema#
127     @s:
128     http://suika.fam.cx/~wakaba/archive/2004/dis/Markup#
129     @TreeCore:\
130     @xhtml1:
131     http://www.w3.org/1999/xhtml
132 wakaba 1.7 @xml:
133     http://www.w3.org/XML/1998/namespace
134     @xmlns:
135     http://www.w3.org/2000/xmlns/
136    
137     ImplNote:
138     @lang:en
139     @@:
140     {TODO:: Lowercase'ize Perl method/attribute names.
141     \
142     ISSUE: Should createTHead be createThead?
143     \
144     }
145 wakaba 1.4
146     ## -- "For HTML"
147    
148     ForDef:
149     @QName:
150     DOMHTML:ForHTML
151     @ISA:
152     s:ForML
153     @FullName:
154     @@lang:en
155     @@@:
156 wakaba 1.7 For Hypertext Markup Language (HTML), any version
157 wakaba 1.4
158     ForDef:
159     @QName:
160     DOMHTML:ForClassicHTML
161     @ISA:
162     DOMHTML:ForHTML
163     @FullName:
164     @@lang:en
165     @@@:
166 wakaba 1.7 For non-XML-based HTML, any version
167 wakaba 1.4
168     ForDef:
169 wakaba 1.17 @QName: DOMHTML|ForSGMLHTML
170     @ISA: DOMHTML|ForClassicHTML
171     @enFN: For SGML-based HTML, any version
172    
173     ElementTypeBinding:
174     @Name: enFN
175     @ElementType:
176     dis:FullName
177     @ShadowContent:
178     @@lang:en
179    
180     ForDef:
181 wakaba 1.4 @QName:
182     DOMHTML:ForHTML4
183 wakaba 1.17 @ISA: DOMHTML|ForSGMLHTML
184 wakaba 1.4 @FullName:
185     @@lang:en
186     @@@: For HTML 4
187    
188     ForDef:
189     @QName:
190     DOMHTML:ForHTML40
191     @ISA:
192     DOMHTML:ForHTML4
193     @FullName:
194     @@lang:en
195     @@@: For HTML 4.0
196    
197     ForDef:
198     @QName:
199     DOMHTML:ForHTML40FE
200     @ISA:
201     DOMHTML:ForHTML40
202     @FullName:
203     @@lang:en
204     @@@: For HTML 4.0 first edition
205    
206     ForDef:
207     @QName:
208     DOMHTML:ForHTML40SE
209     @ISA:
210     DOMHTML:ForHTML40
211     @FullName:
212     @@lang:en
213     @@@:
214     For HTML 4.0 second edition
215    
216     ForDef:
217     @QName:
218     DOMHTML:ForHTML401
219     @ISA:
220     DOMHTML:ForHTML4
221     @FullName:
222     @@lang:en
223     @@@:
224     For HTML 4.01
225    
226     ForDef:
227     @QName:
228     DOMHTML:ForXHTML
229     @ISA:
230     DOMHTML:ForHTML
231     @FullName:
232     @@lang:en
233     @@@:
234 wakaba 1.7 For XHTML, compatible with W3C XHTML 1, any version
235 wakaba 1.4
236     ForDef:
237     @QName:
238     DOMHTML:ForXHTML1
239     @ISA:
240     DOMHTML:ForXHTML
241     @FullName:
242     @@lang:en
243     @@@:
244     For XHTML 1
245    
246     ForDef:
247     @QName:
248     DOMHTML:ForXHTML10
249     @ISA:
250     DOMHTML:ForXHTML1
251     @FullName:
252     @@lang:en
253     @@@:
254     For XHTML 1.0
255    
256     ForDef:
257     @QName:
258     DOMHTML:ForXHTML10FE
259     @ISA:
260     DOMHTML:ForXHTML10
261     @FullName:
262     @@lang:en
263     @@@: For XHTML 1.0 First Edition
264    
265     ForDef:
266     @QName:
267     DOMHTML:ForXHTML10SE
268     @ISA:
269     DOMHTML:ForXHTML10
270     @FullName:
271     @@lang:en
272     @@@: For XHTML 1.0 Second Edition
273    
274     ForDef:
275     @QName:
276     DOMHTML:ForXHTML1m12n
277     @ISA:
278     DOMHTML:ForXHTML1
279     @FullName:
280     @@lang:en
281     @@@:
282     For modularized XHTML 1
283    
284     ## TODO: FE and SE required
285    
286     ForDef:
287     @QName:
288     DOMHTML:ForXHTML11
289     @ISA:
290     DOMHTML:ForXHTML1m12n
291     @FullName:
292     @@lang:en
293     @@@: For XHTML 1.1
294    
295 wakaba 1.11 ForDef:
296     @QName: DOMHTML|ForHTML5
297     @FullName:
298     @@lang:en
299     @@@:
300     For HTML 5 (Work in progress)
301     @ISA: DOMHTML|ForHTML
302    
303 wakaba 1.4 ## -- Features
304 wakaba 1.1
305 wakaba 1.4 ElementTypeBinding:
306     @Name: FeatureDef
307     @ElementType:
308     dis:ResourceDef
309     @ShadowContent:
310 wakaba 1.17 @@rdf:type: f|Feature
311     @@For: =ManakaiDOM|all
312 wakaba 1.7
313 wakaba 1.4 ElementTypeBinding:
314     @Name: FeatureVerDef
315     @ElementType:
316     dis:ResourceDef
317     @ShadowContent:
318 wakaba 1.17 @@rdf:type: f|Feature
319 wakaba 1.4
320     ElementTypeBinding:
321     @Name: featureName
322     @ElementType:
323 wakaba 1.17 f:name
324 wakaba 1.4 @ShadowContent:
325 wakaba 1.17 @@ContentType: DISCore|String
326 wakaba 1.4
327 wakaba 1.11 ElementTypeBinding:
328     @Name: featureQName
329     @ElementType:
330 wakaba 1.17 f:name
331 wakaba 1.11 @ShadowContent:
332 wakaba 1.17 @@ContentType: DISCore|QName
333 wakaba 1.11
334 wakaba 1.4 FeatureDef:
335     @featureName: HTML
336     @QName: HTMLFeature
337     @FeatureVerDef:
338 wakaba 1.1 @@Version:1.0
339 wakaba 1.4 @@QName: HTMLFeature10
340 wakaba 1.7 @@DOMMetaImpl:instanceFeatureOf: HTMLFeature
341     @@FullName:
342     @@@@: DOM Level 1 HTML
343     @@@lang:en
344 wakaba 1.1 @@ImplNote:
345     @@@lang:en
346     @@@@:
347     The DOM Level 2 HTML Specification does not say DOM Level 2
348 wakaba 1.15 HTML implementations to answer to <M::DOMCore:DOMImplementation
349     ::ManakaiDOM:ManakaiDOM2.hasFeature> of
350     <FeatureVer::1.0> as <DOM::true>. In fact, DOM Level 1 and 2
351     are incompatible.
352 wakaba 1.4 @@DOMMain:requireFeature:
353     DOMCore:CoreFeature10
354     @FeatureVerDef:
355 wakaba 1.1 @@Version:2.0
356 wakaba 1.4 @@QName: HTMLFeature20
357 wakaba 1.7 @@DOMMetaImpl:instanceFeatureOf: HTMLFeature
358     @@FullName:
359     @@@@: DOM Level 2 HTML
360     @@@lang:en
361 wakaba 1.17 @@enDesc:
362     Note that the <Feature::HTML> feature version <FeatureVer::2.0>
363     is <EM::incompatible> with <FeatureVer::1.0>.
364 wakaba 1.4 @@DOMMain:requireFeature:
365     DOMCore:CoreFeature20
366    
367     FeatureDef:
368     @featureName: XHTML
369     @QName: XHTMLFeature
370     @FeatureVerDef:
371 wakaba 1.1 @@Version:2.0
372 wakaba 1.7 @@FullName:
373     @@@@: DOM Level 2 HTML (with XHTML support)
374     @@@lang:en
375 wakaba 1.4 @@QName: XHTMLFeature20
376 wakaba 1.7 @@DOMMetaImpl:instanceFeatureOf: XHTMLFeature
377 wakaba 1.18 @@DOMFeature:extends: HTMLFeature20
378     @@DOMFeature:extends:
379 wakaba 1.4 DOMXML:XMLFeature20
380     @@Description:
381 wakaba 1.1 @@@lang:en
382     @@@@:
383 wakaba 1.4 DOM Level 2 HTML with XHTML support.
384     It is equal to <Feature::XML> / <FeatureVer::2.0> and
385     <Feature::HTML> / <FeatureVer::2.0>.
386    
387 wakaba 1.11 ## -- Datatypes
388    
389 wakaba 1.4 ElementTypeBinding:
390     @Name: DataTypeAlias
391     @ElementType:
392     dis:ResourceDef
393     @ShadowContent:
394 wakaba 1.17 @@rdf:type: DISLang|AnyDataType
395     @@ForCheck: ManakaiDOM|DOM
396 wakaba 1.1
397     DataTypeAlias:
398     @Name: DOMString
399 wakaba 1.4 @AliasFor:
400     @@@:
401     DOMMain:DOMString
402     @@For:
403     !ManakaiDOM:IDL
404     @Def:
405     @@For:
406     ManakaiDOM:IDL
407     @@ContentType:
408     lang:dis
409     @@DISLang:dataTypeAliasFor:
410     DOMMain:DOMString
411 wakaba 1.7
412 wakaba 1.1 DataTypeAlias:
413     @Name: Node
414 wakaba 1.4 @AliasFor:
415     @@@:
416     DOMCore:Node
417     @@For:
418     !ManakaiDOM:IDL
419     @Def:
420     @@For:
421     ManakaiDOM:IDL
422     @@ContentType:
423     lang:dis
424     @@DISLang:dataTypeAliasFor:
425     DOMCore:Node
426 wakaba 1.7
427 wakaba 1.1 DataTypeAlias:
428     @Name: Document
429 wakaba 1.4 @AliasFor:
430     @@@:
431     DOMCore:Document
432     @@For:
433     !ManakaiDOM:IDL
434     @Def:
435     @@For:
436     ManakaiDOM:IDL
437     @@ContentType:
438     lang:dis
439     @@DISLang:dataTypeAliasFor:
440     DOMCore:Document
441 wakaba 1.7
442 wakaba 1.1 DataTypeAlias:
443     @Name: NodeList
444 wakaba 1.4 @AliasFor:
445     @@@:
446     DOMCore:NodeList
447     @@For:
448     !ManakaiDOM:IDL
449     @Def:
450     @@For:
451     ManakaiDOM:IDL
452     @@ContentType:
453     lang:dis
454     @@DISLang:dataTypeAliasFor:
455     DOMCore:NodeList
456 wakaba 1.7
457 wakaba 1.1 DataTypeAlias:
458     @Name: Element
459 wakaba 1.4 @AliasFor:
460     @@@:
461     DOMCore:Element
462     @@For:
463     !ManakaiDOM:IDL
464     @Def:
465     @@For:
466     ManakaiDOM:IDL
467     @@ContentType:
468     lang:dis
469     @@DISLang:dataTypeAliasFor:
470     DOMCore:Element
471 wakaba 1.1
472 wakaba 1.11 ElementTypeBinding:
473     @Name: ReflectTypeDef
474     @ElementType:
475     dis:ResourceDef
476     @ShadowContent:
477 wakaba 1.17 @@rdf:type: DISLang|AnyDataType
478 wakaba 1.11 @@ForCheck: !ManakaiDOM|IDL
479 wakaba 1.17 @@For: ManakaiDOM|DOM
480 wakaba 1.11
481     ReflectTypeDef:
482     @QName: CDATADOMString
483     @enDesc:
484     <IF::DOMMain:DOMString> for DOM attributes reflecting
485     <SGML::CDATA> element attributes.
486     @rdfs:subClassOf: DOMString
487     @ResourceDef:
488     @@rdf:type: DOMMain|ReflectGet
489     @@DefaultValue: \
490     @@enDesc:
491     The DOM attribute returns the current value of the element attribute
492     in a transparent, case-sensitive manner.
493     \
494     If the element attribute is absent, the default value, if any,
495     or the empty string is returned.
496 wakaba 1.17 @@PerlCDef:
497 wakaba 1.11 my $ao = $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
498     ->{<Q::null:>}->{$LOCAL_NAME} ||
499     $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
500     ->{<Q::ManakaiDOM:noNS>}->{$LOCAL_NAME};
501     if ($ao) {
502     my $attr;
503     __CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
504     $object => $ao, $ref => $attr,
505     $class => {<ClassName::DOMCore:ManakaiDOMAttr>},
506     }__;
507     __DEEP{
508     $r = $ao-><AG::DOMCore:Attr.value>;
509     }__;
510     }
511     @ResourceDef:
512     @@QName: CDATADOMStringSet
513     @@rdf:type: DOMMain|ReflectSet
514     @@enDesc:
515     The corresponding element attribute is set to the given value,
516     in a transparent, case-sensitive manner.
517     @@ImplNote:
518     @@@lang:en
519     @@@@:
520     What will happen if the <DOM::null> value is given?
521 wakaba 1.17 @@PerlCDef:
522 wakaba 1.11 my $ao = $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
523     ->{<Q::null:>}->{$LOCAL_NAME} ||
524     $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
525     ->{<Q::ManakaiDOM:noNS>}->{$LOCAL_NAME};
526     if ($ao) {
527     my $attr;
528     __CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
529     $object => $ao, $ref => $attr,
530     $class => {<ClassName::DOMCore:ManakaiDOMAttr>},
531     }__;
532     __DEEP{
533     $ao-><AS::DOMCore:Attr.value> ($given);
534     }__;
535     } else {
536     __DEEP{
537     __FOR{ManakaiDOM|DOM2::
538     $self-><M::DOMCore:Element.setAttributeNS>
539     (null, $LOCAL_NAME => $given);
540     }__;
541     __FOR{!ManakaiDOM|DOM2::
542     $self-><M::DOMCore:Element.setAttribute> ($LOCAL_NAME => $given);
543     }__;
544     }__;
545     }
546    
547     ReflectTypeDef:
548     @QName: EnumDOMString
549     @enDesc:
550     <IF::DOMMain:DOMString> for DOM attributes reflecting
551     element attributes which is defined to only allow a specific
552     set of values.
553     @rdfs:subClassOf: DOMString
554     @ResourceDef:
555     @@rdf:type: DOMMain|ReflectGet
556     @@DefaultValue: \
557     @@enDesc:
558     The DOM attribute returns the current value of the element attribute
559     in lowercase.
560     \
561     If the element attribute is absent, the default value, if any,
562     or the empty string is returned.
563 wakaba 1.17 @@PerlCDef:
564 wakaba 1.11 my $ao = $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
565     ->{<Q::null:>}->{$LOCAL_NAME} ||
566     $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
567     ->{<Q::ManakaiDOM:noNS>}->{$LOCAL_NAME};
568     if ($ao) {
569     my $attr;
570     __CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
571     $object => $ao, $ref => $attr,
572     $class => {<ClassName::DOMCore:ManakaiDOMAttr>},
573     }__;
574     __DEEP{
575     $r = lc $ao-><AG::DOMCore:Attr.value>;
576     }__;
577     }
578     @ResourceDef:
579     @@rdf:type: DOMMain|ReflectSet
580     @@enDesc:
581     The corresponding element attribute is set to the given value,
582     in a transparent, case-sensitive manner.
583     @@ImplNote:
584     @@@lang:en
585     @@@@:
586     What will happen if the <DOM::null> value is given?
587 wakaba 1.17 @@disCDef:
588 wakaba 1.11 @@@DISPerl:cloneCode: CDATADOMStringSet
589    
590     ReflectTypeDef:
591     @QName: URIDOMString
592     @enDesc:
593     <IF::DOMMain:DOMString> for DOM attributes reflecting
594     element attributes defined to contain a IRI.
595     @rdfs:subClassOf: DOMString
596     @ResourceDef:
597     @@rdf:type: DOMMain|ReflectGet
598     @@DefaultValue: \
599     @@enDesc:
600     The DOM attribute returns the current value of the element attribute,
601     resolved to an absolute IRI.
602     \
603     If the element attribute is absent, the default value, if any,
604     or the empty string is returned.
605     @@ImplNote:
606     @@@lang:en
607     @@@@:
608     {TODO:: Resolving.
609     \
610     }
611 wakaba 1.17 @@PerlCDef:
612 wakaba 1.11 my $ao = $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
613     ->{<Q::null:>}->{$LOCAL_NAME} ||
614     $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
615     ->{<Q::ManakaiDOM:noNS>}->{$LOCAL_NAME};
616     if ($ao) {
617     my $attr;
618     __CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
619     $object => $ao, $ref => $attr,
620     $class => {<ClassName::DOMCore:ManakaiDOMAttr>},
621     }__;
622     __DEEP{
623     $r = $ao-><AG::DOMCore:Attr.value>;
624     }__;
625     }
626     @ResourceDef:
627     @@rdf:type: DOMMain|ReflectSet
628     @@enDesc:
629     The corresponding element attribute is set to the given literal value.
630     @@ImplNote:
631     @@@lang:en
632     @@@@:
633     What will happen if the <DOM::null> value is given?
634 wakaba 1.17 @@disCDef:
635 wakaba 1.11 @@@DISPerl:cloneCode: CDATADOMStringSet
636    
637     ReflectTypeDef:
638     @QName: Boolean
639     @enDesc:
640     <IF::DOMMain:boolean::ManakaiDOM:all> for DOM attributes reflecting
641     boolean element attributes.
642     @rdfs:subClassOf: DOMMain|boolean||ManakaiDOM|all
643     @ResourceDef:
644     @@rdf:type: DOMMain|ReflectGet
645     @@DefaultValue: false
646     @@enDesc:
647     The DOM attribute returns <DOM::true> if the element attribute
648     is set and <DOM::false> if it is absent.
649 wakaba 1.17 @@PerlCDef:
650 wakaba 1.11 my $ao = $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
651     ->{<Q::null:>}->{$LOCAL_NAME} ||
652     $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
653     ->{<Q::ManakaiDOM:noNS>}->{$LOCAL_NAME};
654     $r = $ao ? true : false;
655     @ResourceDef:
656     @@rdf:type: DOMMain|ReflectSet
657     @@enDesc:
658     The element attribute is removed if the DOM attribute
659     is set to <DOM::false> and is set to have the same
660     value as its local name if the DOM attribute is set to <DOM::true>.
661 wakaba 1.17 @@PerlCDef:
662 wakaba 1.11 my $ao = $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
663     ->{<Q::null:>}->{$LOCAL_NAME} ||
664     $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
665     ->{<Q::ManakaiDOM:noNS>}->{$LOCAL_NAME};
666     if ($ao) {
667     if ($given) {
668     my $attr;
669     __CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
670     $object => $ao, $ref => $attr,
671     $class => {<ClassName::DOMCore:ManakaiDOMAttr>},
672     }__;
673     __DEEP{
674     $ao-><AS::DOMCore:Attr.value> ($LOCAL_NAME);
675     }__;
676     } else {
677     if ($self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
678     ->{<Q::null:>}->{$LOCAL_NAME}) {
679     CORE::delete $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
680     ->{<Q::null:>}->{$LOCAL_NAME};
681     } else {
682     CORE::delete $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
683     ->{<Q::ManakaiDOM:noNS>}->{$LOCAL_NAME};
684     }
685     CORE::delete $ao->{<Q::infoset:ownerElement>};
686 wakaba 1.14 $ao-><M::NodeStem.orphanate>;
687 wakaba 1.11 }
688     } else {
689     if ($given) {
690     __DEEP{
691     __FOR{ManakaiDOM|DOM2::
692     $self-><M::DOMCore:Element.setAttributeNS>
693     (null, $LOCAL_NAME => $LOCAL_NAME);
694     }__;
695     __FOR{!ManakaiDOM|DOM2::
696     $self-><M::DOMCore:Element.setAttribute>
697     ($LOCAL_NAME => $LOCAL_NAME);
698     }__;
699     }__;
700     }
701     }
702    
703     ReflectTypeDef:
704     @QName: Numeric
705     @enDesc:
706     <IF::DOMMain:long::ManakaiDOM:all> for DOM attributes reflecting
707     number element attributes.
708     @rdfs:subClassOf: DOMMain|long||ManakaiDOM|all
709     @ResourceDef:
710     @@rdf:type: DOMMain|ReflectGet
711     @@DefaultValue: 0
712     @@enDesc:
713     The DOM attribute returns a numeric type value converted
714     from the element attribute value. If the convertion
715     fails or if the element attribute is absent, then
716     the default value is returned or <DOM::0> if there is
717     no default value.
718 wakaba 1.17 @@PerlCDef:
719 wakaba 1.11 my $ao = $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
720     ->{<Q::null:>}->{$LOCAL_NAME} ||
721     $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
722     ->{<Q::ManakaiDOM:noNS>}->{$LOCAL_NAME};
723     if ($ao) {
724     my $attr;
725     __CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
726     $object => $ao, $ref => $attr,
727     $class => {<ClassName::DOMCore:ManakaiDOMAttr>},
728     }__;
729     __DEEP{
730     $r = $ao-><AG::DOMCore:Attr.value>;
731     }__;
732     __CODE{convertToNumericType::
733     $original => $r,
734     $result => $r,
735     $default => {0},
736     }__;
737     }
738     @@ImplNote:
739     @@@lang:en
740     @@@@:
741     {TODO:: Default value other than 0.
742     \
743     }
744     @ResourceDef:
745     @@rdf:type: DOMMain|ReflectSet
746     @@enDesc:
747     The given value is converted to a string representing
748     the number in decimal (base ten) and then that
749     string is set to the element attribute.
750     @@QName: NumericSet
751 wakaba 1.17 @@PerlCDef:
752 wakaba 1.11 my $ao = $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
753     ->{<Q::null:>}->{$LOCAL_NAME} ||
754     $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
755     ->{<Q::ManakaiDOM:noNS>}->{$LOCAL_NAME};
756     if ($ao) {
757     my $attr;
758     __CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
759     $object => $ao, $ref => $attr,
760     $class => {<ClassName::DOMCore:ManakaiDOMAttr>},
761     }__;
762     __DEEP{
763     $ao-><AS::DOMCore:Attr.value> (0 + $given);
764     }__;
765     } else {
766     __DEEP{
767     __FOR{ManakaiDOM|DOM2::
768     $self-><M::DOMCore:Element.setAttributeNS>
769     (null, $LOCAL_NAME => 0 + $given);
770     }__;
771     __FOR{!ManakaiDOM|DOM2::
772     $self-><M::DOMCore:Element.setAttribute> ($LOCAL_NAME => 0 + $given);
773    
774     }__;
775     }__;
776     }
777    
778     @ResourceDef:
779     @@rdf:type: dis2pm|BlockCode
780     @@QName: convertToNumericType
781     @@enDesc:
782     Converts a string to a number.
783     \
784     When an HTML 5 (work in progress) user agent needs to
785     convert a string to a number, algorithms equivalent
786     to those specified in ECMA 262 section 9.3.1
787     <sw010:csection::ToNumber Applied to the String Type> and
788     8.5 <sw010:csection::The Number type> should be used
789     (possibly after suitably altering the algorithms to handle
790     numbers of the range that the user agent can support).
791     @@ImplNote:
792     @@@lang:en
793     @@@@:
794     - StringNumericLiteral := [StrWhiteSpace]
795     [StrNumericLiteral [StrWhiteSpace]]
796     \
797     - StrWhiteSpace := 1*StrWhiteSpaceChar
798     \
799     - StrWhiteSpaceChar := TAB / SP / NBSP / FF / VT / CR / LF / LS / PS / USP
800     ;; U+0009 / U+0020 / U+00A0 / U+000C / U+000D /
801     U+000A / U+2028 / U+2029 / Zs
802     \
803     - StrNumericLiteral := StrDecimalLiteral / HexIntegerLiteral
804     \
805     - StrDecimalLiteral := ["+" / "-"] StrUnsignedDecimalLiteral
806     \
807     - StrUnsignedDecimalLiteral := 'Infinity' /
808     1*DIGIT ["." 0*DIGIT] [ExponentPart] /
809     "." 1*DIGIT [ExponentPart]
810     \
811     - ExponentPart := "E" SignedInteger
812     \
813     - SignedInteger := ["+" / "-"] 1*DIGIT
814     \
815     - HexIntegerLiteral := "0x" 1*HEXDIGIT
816     @@ImplNote:
817     @@@lang:en
818     @@@@:
819     ECMA 262 3rd edition (1999) references Unicode 2.1
820     and section 7.2 <sw10:csection::White Space>
821     cites Unicode without version number, while section 6
822     <sw10:csection::Source Text> refers Unicode 2.1 or later.
823 wakaba 1.17 @@PerlCDef:
824 wakaba 1.11 if ($original =~ m{
825     \A [\x09\x0A\x0C\x0D\x20\u{00A0}\u{2028}\u{2029}\pZs]*
826    
827     (?: (
828    
829     ## Decimal
830    
831     [+-] (?: [0-9]+(?:\.[0-9]*)?([eE][+-][0-9]+)? |
832     \.[0-9]+ ([eE][+-][0-9]+)? |
833     Infinity ) |
834    
835     ## Hex
836    
837     0[xX][0-9A-Fa-f]+
838    
839     )
840    
841     [\x09\x0A\x0C\x0D\x20\u{00A0}\u{2028}\u{2029}\pZs]* )? \z
842     }s) {
843     my $__str = $1;
844     if (defined $__str) {
845     if (lc substr ($__str, 0, 2) eq '0x') {
846     $result = hex $__str;
847     } else {
848     $result = 0 + $__str;
849     }
850     ## BUG: Infinity is not supported
851     } else {
852     $result = +0;
853     }
854     } else { ## NaN
855     $result = $default;
856     }
857    
858     ReflectTypeDef:
859     @QName: UnsignedNumeric
860     @enDesc:
861     <IF::DOMMain:unsigned-long::ManakaiDOM:all> for DOM attributes reflecting
862     number element attributes.
863     @rdfs:subClassOf: DOMMain|unsigned-long||ManakaiDOM|all
864     @ResourceDef:
865     @@rdf:type: DOMMain|ReflectGet
866     @@DefaultValue: 0
867     @@enDesc:
868     The DOM attribute returns a numeric type value converted
869     from the element attribute value. If the convertion
870     fails or if the element attribute is absent, then
871     the default value is returned or <DOM::0> if there is
872     no default value.
873 wakaba 1.17 @@PerlCDef:
874 wakaba 1.11 my $ao = $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
875     ->{<Q::null:>}->{$LOCAL_NAME} ||
876     $self->{<Q::TreeCore:node>}->{<Q::infoset:attributes>}
877     ->{<Q::ManakaiDOM:noNS>}->{$LOCAL_NAME};
878     if ($ao) {
879     my $attr;
880     __CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
881     $object => $ao, $ref => $attr,
882     $class => {<ClassName::DOMCore:ManakaiDOMAttr>},
883     }__;
884     __DEEP{
885     $r = $ao-><AG::DOMCore:Attr.value>;
886     }__;
887     __CODE{convertToNumericType::
888     $original => $r,
889     $result => $r,
890     $default => {0},
891     }__;
892     $r = 0 if $r < 0;
893     }
894     @@ImplNote:
895     @@@lang:en
896     @@@@:
897     {TODO:: What should be returned if negative value?
898     \
899     }
900     @ResourceDef:
901     @@rdf:type: DOMMain|ReflectSet
902     @@enDesc:
903     The given value is converted to a string representing
904     the number in decimal (base ten) and then that
905     string is set to the element attribute.
906 wakaba 1.17 @@disCDef:
907 wakaba 1.11 @@@DISPerl:cloneCode: NumericSet
908    
909 wakaba 1.1 ImplNote:
910     @lang:en
911     @@:
912     The DOM Level 2 HTML Specification does not intend to define
913     exactly how a UA will respond to a change to any
914     attribute on an element that directly or indirectly refers
915 wakaba 1.15 external data, such elements are <IF::HTMLAppletElement>,
916     <IF::HTMLFrameElement>, <IF::HTMLFrameSetElement>,
917     <IF::HTMLIFrameElement>, <IF::HTMLImageElement>, <IF::HTMLLinkElement>,
918     <IF::HTMLObjectElement>, <IF::HTMLParamElement> and
919     <IF::HTMLScriptElement>.
920 wakaba 1.4 @@For:
921     ManakaiDOM:DOM
922    
923     ElementTypeBinding:
924     @Name: L1
925     @ElementType:
926     DOMMain:implementFeature
927     @ShadowContent:
928     @@@: HTMLFeature10
929     @@For:
930     ManakaiDOM:DOM1 !ManakaiDOM:DOM2
931     @ShadowSibling:
932     @@DOMMain:implementFeature:
933     @@@@: HTMLFeature20
934     @@@For:
935     ManakaiDOM:DOM2
936    
937     ElementTypeBinding:
938     @Name: L1IF
939     @ElementType:
940     DOMMain:implementFeature
941     @ShadowContent:
942     @@@: HTMLFeature10
943     @@For:
944     ManakaiDOM:DOM1 !ManakaiDOM:DOM2
945     @ShadowSibling:
946     @@DOMMain:implementFeature:
947     @@@@: HTMLFeature20
948     @@@For:
949     ManakaiDOM:DOM2
950     @@For:
951     ManakaiDOM:DOM1
952     @@For:
953     =ManakaiDOM:ManakaiDOM
954 wakaba 1.7 @@For: ForHTML
955 wakaba 1.9 @@ISA:
956     @@@@: ||ManakaiDOM|ManakaiDOM2||ManakaiDOM|ForIF
957     @@@ForCheck: ManakaiDOM|ForIF ManakaiDOM|ManakaiDOMLatest
958     @@@ContentType: DISCore|TFPQNames
959 wakaba 1.8 ## NOTE: A Level 2 interface is not always upward-compatible with Level 1 i.f.
960 wakaba 1.4
961     ElementTypeBinding:
962     @Name: L2
963     @ElementType:
964     DOMMain:implementFeature
965     @ShadowContent:
966     @@@: HTMLFeature20
967     @@For:
968     ManakaiDOM:DOM2
969    
970     ElementTypeBinding:
971 wakaba 1.8 @Name: L2ISAL1
972     @ElementType:
973     dis:ISA
974     @ShadowContent:
975     @@@: ||ManakaiDOM|ManakaiDOM1||ManakaiDOM|ForIF
976     @@ForCheck: ManakaiDOM|ForIF ManakaiDOM|ManakaiDOM
977     @@ContentType: DISCore|TFPQNames
978    
979     ElementTypeBinding:
980 wakaba 1.4 @Name: L2IF
981     @ElementType:
982     DOMMain:implementFeature
983     @ShadowContent:
984     @@@: HTMLFeature20
985     @@For:
986     ManakaiDOM:DOM2
987     @ShadowSibling:
988     @@For:
989     ManakaiDOM:DOM2
990     @@For:
991     =ManakaiDOM:ManakaiDOM
992 wakaba 1.7 @@For: ForHTML
993 wakaba 1.4
994     ElementTypeBinding:
995     @Name: PerlDef
996     @ElementType:
997     dis:Def
998     @ShadowContent:
999     @@ContentType:
1000     lang:Perl
1001 wakaba 1.17 @@ForCheck: ManakaiDOM|ForClass
1002    
1003     ElementTypeBinding:
1004     @Name: PerlCDef
1005     @ElementType:
1006     dis:Def
1007     @ShadowContent:
1008     @@ContentType:
1009     lang:Perl
1010    
1011     ElementTypeBinding:
1012     @Name: IFDef
1013     @ElementType:
1014     dis:ResourceDef
1015     @ShadowContent:
1016     @@rdf:type:
1017     @@@@: dis|MultipleResource
1018     @@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass
1019     @@resourceFor: ManakaiDOM|ForIF
1020     @@ForCheck: ManakaiDOM|DOM
1021    
1022     @@rdf:type:
1023     @@@@: DISLang|Interface
1024     @@@ForCheck: ManakaiDOM|ForIF
1025    
1026     ElementTypeBinding:
1027 wakaba 1.18 @Name: IfCls1Def
1028 wakaba 1.17 @ElementType:
1029     dis:ResourceDef
1030     @ShadowContent:
1031     @@rdf:type:
1032     @@@@: dis|MultipleResource
1033     @@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass
1034     @@resourceFor: ManakaiDOM|ForIF
1035     @@resourceFor:
1036     @@@@: ManakaiDOM|ForClass
1037     @@@ForCheck: ManakaiDOM|ManakaiDOM !=ManakaiDOM|ManakaiDOM
1038     @@For: ManakaiDOM|DOM1
1039     @@For: =ManakaiDOM|ManakaiDOM
1040    
1041     @@rdf:type:
1042     @@@@: DISLang|Interface
1043     @@@ForCheck: ManakaiDOM|ForIF
1044    
1045     @@rdf:type:
1046     @@@@: DISLang|Class
1047     @@@ForCheck: ManakaiDOM|ForClass
1048     @@Implement:
1049     @@@@: ||ManakaiDOM|ManakaiDOM||ManakaiDOM|ForIF
1050     @@@ContentType: DISCore|TFPQNames
1051     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM
1052     @@Implement:
1053     @@@@: ||ManakaiDOM|ManakaiDOM1||ManakaiDOM|ForIF
1054     @@@ContentType: DISCore|TFPQNames
1055     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1
1056     @@Implement:
1057     @@@@: ||ManakaiDOM|ManakaiDOM2||ManakaiDOM|ForIF
1058     @@@ContentType: DISCore|TFPQNames
1059     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM2
1060     @@Implement:
1061     @@@@: ||ManakaiDOM|ManakaiDOMLatest||ManakaiDOM|ForIF
1062     @@@ContentType: DISCore|TFPQNames
1063     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOMLatest
1064    
1065     @@DOMMain:implementFeature:
1066     @@@@: HTMLFeature10
1067     @@@For: ManakaiDOM|DOM1
1068     @@DOMMain:implementFeature:
1069     @@@@: HTMLFeature20
1070     @@@For: ManakaiDOM|DOM2
1071    
1072     ElementTypeBinding:
1073 wakaba 1.18 @Name: IfClsXDef
1074 wakaba 1.17 @ElementType:
1075     dis:ResourceDef
1076     @ShadowContent:
1077     @@rdf:type:
1078     @@@@: dis|MultipleResource
1079     @@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass
1080     @@resourceFor: ManakaiDOM|ForIF
1081     @@resourceFor:
1082     @@@@: ManakaiDOM|ForClass
1083     @@@ForCheck: ManakaiDOM|ManakaiDOM !=ManakaiDOM|ManakaiDOM
1084     @@For: ManakaiDOM|DOM1
1085     @@For: =ManakaiDOM|ManakaiDOM
1086    
1087     @@rdf:type:
1088     @@@@: DISLang|Interface
1089     @@@ForCheck: ManakaiDOM|ForIF
1090    
1091     @@rdf:type:
1092     @@@@: DISLang|Class
1093     @@@ForCheck: ManakaiDOM|ForClass
1094     @@Implement:
1095     @@@@: ||ManakaiDOM|ManakaiDOM||ManakaiDOM|ForIF
1096     @@@ContentType: DISCore|TFPQNames
1097     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM
1098     @@Implement:
1099     @@@@: ||ManakaiDOM|ManakaiDOMLatest||ManakaiDOM|ForIF
1100     @@@ContentType: DISCore|TFPQNames
1101     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOMLatest
1102    
1103     @@DOMMain:implementFeature:
1104     @@@@: HTMLExtendedFeature30
1105     @@@For: ManakaiDOM|ManakaiDOMLatest
1106    
1107 wakaba 1.4
1108     ElementTypeBinding:
1109     @Name: IF
1110     @ElementType:
1111     dis:ResourceDef
1112     @ShadowContent:
1113     @@rdf:type:
1114     @@@@:
1115     dis:MultipleResource
1116     @@@ForCheck:
1117     !ManakaiDOM:ForClass !ManakaiDOM:ForIF !ForHTML
1118     @@rdf:type:
1119 wakaba 1.17 @@@@: DISLang|Interface
1120 wakaba 1.4 @@@ForCheck:
1121     ManakaiDOM:ForIF
1122     @@rdf:type:
1123 wakaba 1.17 @@@@: DISLang|Class
1124 wakaba 1.4 @@@ForCheck:
1125     ManakaiDOM:ForClass
1126     @@resourceFor:
1127     @@@@:
1128     ManakaiDOM:ForIF
1129     @@@For:
1130     ManakaiDOM:DOMHTMLFeature
1131     @@@For:
1132     =ManakaiDOM:ManakaiDOM
1133     @@@ForCheck: !ForHTML
1134     @@resourceFor:
1135     @@@@:
1136     ManakaiDOM:ForClass
1137     @@@ForCheck:
1138     ManakaiDOM:ManakaiDOM !=ManakaiDOM:ManakaiDOM
1139     ManakaiDOM:DOMHTMLFeature !ForHTML
1140     @@ISA:
1141     @@@@:
1142     ManakaiDOM:ManakaiDOMObject
1143     @@@ForCheck:
1144     ManakaiDOM:ForClass
1145 wakaba 1.8 @@Implement:
1146     @@@@: ||+||ManakaiDOM|ForIF
1147     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1
1148     @@@ContentType: DISCore|TFPQNames
1149 wakaba 1.4
1150     ElementTypeBinding:
1151 wakaba 1.11 @Name: ClsOnly
1152     @ElementType:
1153     dis:ResourceDef
1154     @ShadowContent:
1155     @@rdf:type:
1156     @@@@:
1157     dis:MultipleResource
1158     @@@ForCheck:
1159     !ManakaiDOM:ForClass !ManakaiDOM:ForIF !ForHTML
1160     @@rdf:type:
1161     @@@@:
1162     ManakaiDOM:Class
1163     @@@ForCheck:
1164     ManakaiDOM:ForClass
1165     @@resourceFor:
1166     @@@@:
1167     ManakaiDOM:ForClass
1168     @@@ForCheck:
1169     ManakaiDOM:ManakaiDOM !=ManakaiDOM:ManakaiDOM
1170     ManakaiDOM:DOMHTMLFeature !ForHTML
1171     @@ISA:
1172     @@@@:
1173     ManakaiDOM:ManakaiDOMObject
1174     @@@ForCheck:
1175     ManakaiDOM:ForClass
1176    
1177     ElementTypeBinding:
1178 wakaba 1.18 @Name: IfCls12ETDef
1179 wakaba 1.17 @ElementType:
1180 wakaba 1.4 dis:ResourceDef
1181     @ShadowContent:
1182     @@rdf:type:
1183 wakaba 1.17 @@@@: dis|MultipleResource
1184     @@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass !ForHTML
1185     @@resourceFor: ManakaiDOM|ForIF
1186     @@resourceFor:
1187     @@@@: ManakaiDOM|ForClass
1188     @@@ForCheck: ManakaiDOM|ManakaiDOM !=ManakaiDOM|ManakaiDOM
1189     @@For: ManakaiDOM|DOM1
1190     @@For: =ManakaiDOM|ManakaiDOM
1191     @@For: ForHTML
1192    
1193     @@rdf:type:
1194     @@@@: DISLang|Interface
1195     @@@ForCheck: ManakaiDOM|ForIF
1196    
1197     @@rdf:type:
1198     @@@@: DISLang|Class
1199     @@@ForCheck: ManakaiDOM|ForClass
1200     @@Implement:
1201     @@@@: ||ManakaiDOM|ManakaiDOM||ManakaiDOM|ForIF
1202     @@@ContentType: DISCore|TFPQNames
1203     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM
1204     @@Implement:
1205     @@@@: ||ManakaiDOM|ManakaiDOM1||ManakaiDOM|ForIF
1206     @@@ContentType: DISCore|TFPQNames
1207 wakaba 1.4 @@@ForCheck:
1208 wakaba 1.17 ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1 !ManakaiDOM|ManakaiDOM2
1209     @@Implement:
1210     @@@@: ||ManakaiDOM|ManakaiDOM2||ManakaiDOM|ForIF
1211     @@@ContentType: DISCore|TFPQNames
1212     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM2
1213     @@Implement:
1214     @@@@: ||ManakaiDOM|ManakaiDOMLatest||ManakaiDOM|ForIF
1215     @@@ContentType: DISCore|TFPQNames
1216     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOMLatest
1217    
1218     @@DOMMain:implementFeature:
1219     @@@@: HTMLFeature10
1220     @@@For: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
1221     @@DOMMain:implementFeature:
1222     @@@@: HTMLFeature20
1223     @@@For: ManakaiDOM|DOM2
1224    
1225 wakaba 1.4 @@rdf:type:
1226 wakaba 1.17 @@@: s|ElementType
1227     @@ForCheck: ForHTML
1228    
1229     @@s:elementType:
1230     @@@@: ||ForHTML40SE
1231     @@@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
1232     @@@ImplNote:
1233     @@@@lang:en
1234     @@@@@:
1235     DOM Level 1 First Edition refers the latest version of
1236     HTML 4.0 while Second Edition refers the second edition of
1237     HTML 4.0.
1238     @@@DISCore:stopISARecursive:1
1239     @@s:elementType:
1240     @@@@: ||ForHTML401
1241     @@@ForCheck: ManakaiDOM|DOM2
1242     @@s:elementType:
1243     @@@@: ||ForXHTML10SE
1244     @@@ForCheck: ManakaiDOM|DOM2
1245     @@@DISCore:stopISARecursive:1
1246    
1247     ElementTypeBinding:
1248 wakaba 1.18 @Name: IfCls1ETDef
1249 wakaba 1.17 @ElementType:
1250     dis:ResourceDef
1251     @ShadowContent:
1252 wakaba 1.4 @@rdf:type:
1253 wakaba 1.17 @@@@: dis|MultipleResource
1254     @@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass !ForHTML
1255     @@resourceFor: ManakaiDOM|ForIF
1256 wakaba 1.4 @@resourceFor:
1257 wakaba 1.17 @@@@: ManakaiDOM|ForClass
1258     @@@ForCheck: ManakaiDOM|ManakaiDOM !=ManakaiDOM|ManakaiDOM
1259     @@For: ManakaiDOM|DOM1
1260     @@For: =ManakaiDOM|ManakaiDOM
1261     @@For: ForHTML
1262 wakaba 1.4
1263     @@rdf:type:
1264 wakaba 1.17 @@@@: DISLang|Interface
1265     @@@ForCheck: ManakaiDOM|ForIF
1266 wakaba 1.4
1267 wakaba 1.17 @@rdf:type:
1268     @@@@: DISLang|Class
1269     @@@ForCheck: ManakaiDOM|ForClass
1270     @@Implement:
1271     @@@@: ||ManakaiDOM|ManakaiDOM||ManakaiDOM|ForIF
1272     @@@ContentType: DISCore|TFPQNames
1273     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM
1274     @@Implement:
1275     @@@@: ||ManakaiDOM|ManakaiDOM1||ManakaiDOM|ForIF
1276     @@@ContentType: DISCore|TFPQNames
1277 wakaba 1.4 @@@ForCheck:
1278 wakaba 1.17 ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1
1279     @@Implement:
1280     @@@@: ||ManakaiDOM|ManakaiDOM2||ManakaiDOM|ForIF
1281 wakaba 1.8 @@@ContentType: DISCore|TFPQNames
1282 wakaba 1.17 @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM2
1283 wakaba 1.8 @@Implement:
1284 wakaba 1.17 @@@@: ||ManakaiDOM|ManakaiDOMLatest||ManakaiDOM|ForIF
1285 wakaba 1.8 @@@ContentType: DISCore|TFPQNames
1286 wakaba 1.17 @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOMLatest
1287    
1288     @@DOMMain:implementFeature:
1289     @@@@: HTMLFeature10
1290     @@@For: ManakaiDOM|DOM1
1291     @@DOMMain:implementFeature:
1292     @@@@: HTMLFeature20
1293     @@@For: ManakaiDOM|DOM2
1294    
1295     @@rdf:type:
1296     @@@: s|ElementType
1297     @@ForCheck: ForHTML
1298 wakaba 1.8
1299 wakaba 1.17 @@s:elementType:
1300     @@@@: ||ForHTML40SE
1301     @@@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
1302 wakaba 1.4 @@@ImplNote:
1303     @@@@lang:en
1304     @@@@@:
1305     DOM Level 1 First Edition refers the latest version of
1306     HTML 4.0 while Second Edition refers the second edition of
1307     HTML 4.0.
1308 wakaba 1.12 @@@DISCore:stopISARecursive:1
1309 wakaba 1.17 @@s:elementType:
1310     @@@@: ||ForHTML401
1311     @@@ForCheck: ManakaiDOM|DOM2
1312     @@s:elementType:
1313     @@@@: ||ForXHTML10SE
1314     @@@ForCheck: ManakaiDOM|DOM2
1315     @@@DISCore:stopISARecursive:1
1316    
1317     ElementTypeBinding:
1318 wakaba 1.18 @Name: IfCls1ETsDef
1319 wakaba 1.17 @ElementType:
1320     dis:ResourceDef
1321     @ShadowContent:
1322     @@rdf:type:
1323     @@@@: dis|MultipleResource
1324     @@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass !ForHTML
1325     @@resourceFor: ManakaiDOM|ForIF
1326     @@resourceFor:
1327     @@@@: ManakaiDOM|ForClass
1328     @@@ForCheck: ManakaiDOM|ManakaiDOM !=ManakaiDOM|ManakaiDOM
1329     @@For: ManakaiDOM|DOM1
1330     @@For: =ManakaiDOM|ManakaiDOM
1331     @@For: ForHTML
1332    
1333     @@rdf:type:
1334     @@@@: DISLang|Interface
1335     @@@ForCheck: ManakaiDOM|ForIF
1336    
1337     @@rdf:type:
1338     @@@@: DISLang|Class
1339     @@@ForCheck: ManakaiDOM|ForClass
1340     @@Implement:
1341     @@@@: ||ManakaiDOM|ManakaiDOM||ManakaiDOM|ForIF
1342     @@@ContentType: DISCore|TFPQNames
1343     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM
1344     @@Implement:
1345     @@@@: ||ManakaiDOM|ManakaiDOM1||ManakaiDOM|ForIF
1346     @@@ContentType: DISCore|TFPQNames
1347 wakaba 1.4 @@@ForCheck:
1348 wakaba 1.17 ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1
1349     @@Implement:
1350     @@@@: ||ManakaiDOM|ManakaiDOM2||ManakaiDOM|ForIF
1351     @@@ContentType: DISCore|TFPQNames
1352     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM2
1353     @@Implement:
1354     @@@@: ||ManakaiDOM|ManakaiDOMLatest||ManakaiDOM|ForIF
1355     @@@ContentType: DISCore|TFPQNames
1356     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOMLatest
1357    
1358     @@DOMMain:implementFeature:
1359     @@@@: HTMLFeature10
1360     @@@For: ManakaiDOM|DOM1
1361     @@DOMMain:implementFeature:
1362     @@@@: HTMLFeature20
1363     @@@For: ManakaiDOM|DOM2
1364 wakaba 1.11
1365     ElementTypeBinding:
1366     @Name: H5ETX
1367     @ElementType:
1368     dis:ResourceDef
1369     @ShadowContent:
1370 wakaba 1.18 @@ForCheck: !ManakaiDOM|all
1371 wakaba 1.17
1372 wakaba 1.11 @@rdf:type:
1373     @@@@:
1374     dis:MultipleResource
1375     @@@ForCheck:
1376     !ManakaiDOM:ForClass !ManakaiDOM:ForIF !ForHTML
1377     @@rdf:type:
1378     @@@@:
1379     ManakaiDOM:IF
1380     @@@ForCheck:
1381     ManakaiDOM:ForIF
1382     @@rdf:type:
1383     @@@@:
1384     ManakaiDOM:Class
1385     @@@ForCheck:
1386     ManakaiDOM:ForClass
1387     @@resourceFor:
1388     @@@@:
1389     ManakaiDOM:ForIF
1390     @@@ForCheck:
1391     ManakaiDOM:DOM
1392     @@@For:
1393     ManakaiDOM:DOMHTMLFeature
1394     @@@For:
1395     =ManakaiDOM:ManakaiDOM
1396     @@resourceFor:
1397     @@@@:
1398     ManakaiDOM:ForClass
1399     @@@ForCheck:
1400     ManakaiDOM:ManakaiDOM !=ManakaiDOM:ManakaiDOM ManakaiDOM:DOMHTMLFeature
1401    
1402     @@rdf:type:
1403     @@@@:
1404     s:ElementType
1405     @@@ForCheck:
1406     ForHTML
1407    
1408     @@ISA:
1409     @@@@:
1410     ::ManakaiDOM:ManakaiDOM||ManakaiDOM:ForIF
1411     @@@ForCheck:
1412     ManakaiDOM:ForIF ManakaiDOM:ManakaiDOM1
1413     @@@ContentType: DISCore|TFPQNames
1414     @@Implement:
1415     @@@@: ||+||ManakaiDOM|ForIF
1416     @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1
1417     @@@ContentType: DISCore|TFPQNames
1418    
1419     @@DISMarkup:elementType:
1420     @@@@: ||ForHTML5
1421     @@@ForCheck: ManakaiDOM|ManakaiDOMLatest
1422 wakaba 1.12 @@@DISCore:stopISARecursive:1
1423 wakaba 1.11
1424     @@DOMMain:implementFeature: HTMLExtendedFeature30
1425    
1426     @@For: =ManakaiDOM|ManakaiDOM
1427     @@For: ManakaiDOM|ManakaiDOMLatest
1428     @@For: ForHTML5
1429 wakaba 1.4
1430     ElementTypeBinding:
1431     @Name: Method
1432     @ElementType:
1433     dis:ResourceDef
1434     @ShadowContent:
1435 wakaba 1.17 @@rdf:type: DISLang|Method
1436     @@ForCheck: ManakaiDOM|DOM !=ManakaiDOM|ManakaiDOM
1437    
1438 wakaba 1.4 ElementTypeBinding:
1439     @Name: IntMethod
1440     @ElementType:
1441     dis:ResourceDef
1442     @ShadowContent:
1443 wakaba 1.17 @@rdf:type: DISLang|Method
1444     @@ForCheck: ManakaiDOM|ForClass
1445 wakaba 1.4 @@ManakaiDOM:isForInternal: 1
1446 wakaba 1.17
1447 wakaba 1.4 ElementTypeBinding:
1448     @Name: ReMethod
1449     @ElementType:
1450     dis:ResourceDef
1451     @ShadowContent:
1452 wakaba 1.17 @@rdf:type: DISLang|Method
1453     @@ForCheck: ManakaiDOM|ForClass
1454    
1455 wakaba 1.4 ElementTypeBinding:
1456     @Name: Param
1457     @ElementType:
1458     dis:ResourceDef
1459     @ShadowContent:
1460 wakaba 1.17 @@rdf:type: DISLang|MethodParameter
1461    
1462 wakaba 1.4 ElementTypeBinding:
1463     @Name: Exception
1464     @ElementType:
1465     ManakaiDOM:raises
1466 wakaba 1.18 @ForCheck: !ManakaiDOM|all
1467    
1468     ElementTypeBinding:
1469     @Name: RaiseException
1470     @ElementType:
1471     ManakaiDOM:raises
1472     @ForCheck: !ManakaiDOM|all
1473 wakaba 1.4
1474     ElementTypeBinding:
1475     @Name: Return
1476     @ElementType:
1477     dis:ResourceDef
1478     @ShadowContent:
1479 wakaba 1.17 @@rdf:type: DISLang|MethodReturn
1480 wakaba 1.4
1481     ElementTypeBinding:
1482     @Name: Attr
1483     @ElementType:
1484     dis:ResourceDef
1485     @ShadowContent:
1486 wakaba 1.17 @@rdf:type: DISLang|Attribute
1487     @@ForCheck: ManakaiDOM|DOM !=ManakaiDOM|ManakaiDOM
1488 wakaba 1.4
1489     ElementTypeBinding:
1490 wakaba 1.11 @Name: Attrs
1491     @ElementType:
1492     dis:ResourceDef
1493     @ShadowContent:
1494     @@rdf:type:
1495 wakaba 1.17 @@@@: DISLang|Attribute
1496 wakaba 1.11 @@@ForCheck: ManakaiDOM|DOM
1497     @@ForCheck: !=ManakaiDOM|ManakaiDOM
1498     @@For: ManakaiDOM|ManakaiDOM
1499     @@For: ForHTML
1500     @@rdf:type:
1501     @@@@: s|Attribute
1502     @@@ForCheck: ForHTML
1503    
1504     ElementTypeBinding:
1505 wakaba 1.4 @Name: ATTR
1506     @ElementType:
1507     dis:ResourceDef
1508     @ShadowContent:
1509     @@ForCheck:
1510     !=ManakaiDOM:ManakaiDOM
1511     @@rdf:type:
1512 wakaba 1.17 @@@@: DISLang|Attribute
1513     @@@ForCheck: ManakaiDOM|DOM
1514 wakaba 1.4 @@rdf:type:
1515 wakaba 1.17 @@@@: s|Attribute
1516     @@@ForCheck: ForHTML
1517 wakaba 1.4 @@DocAttr:
1518 wakaba 1.17 @@@@: ||ForHTML40SE
1519     @@@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
1520 wakaba 1.4 @@@ImplNote:
1521     @@@@lang:en
1522     @@@@@:
1523     DOM Level 1 First Edition refers the latest version of
1524     HTML 4.0 while Second Edition refers the second edition of
1525     HTML 4.0.
1526     @@DocAttr:
1527 wakaba 1.17 @@@@: ||ForHTML401
1528     @@@ForCheck: ManakaiDOM|DOM2
1529 wakaba 1.4 @@DocAttr:
1530 wakaba 1.17 @@@@: ||ForXHTML10SE
1531     @@@ForCheck: ManakaiDOM|DOM2
1532 wakaba 1.4
1533     ElementTypeBinding:
1534     @Name: ReAttr
1535     @ElementType:
1536     dis:ResourceDef
1537     @ShadowContent:
1538 wakaba 1.17 @@rdf:type: DISLang|Attribute
1539     @@ForCheck: ManakaiDOM|ForClass
1540    
1541 wakaba 1.4 ElementTypeBinding:
1542     @Name: Get
1543     @ElementType:
1544     dis:ResourceDef
1545     @ShadowContent:
1546 wakaba 1.17 @@rdf:type: DISLang|AttributeGet
1547     @@ForCheck: ManakaiDOM|DOM
1548    
1549 wakaba 1.4 ElementTypeBinding:
1550     @Name: Set
1551     @ElementType:
1552     dis:ResourceDef
1553     @ShadowContent:
1554 wakaba 1.17 @@rdf:type: DISLang|AttributeSet
1555     @@ForCheck: ManakaiDOM|DOM
1556    
1557 wakaba 1.4 ElementTypeBinding:
1558     @Name: InCase
1559     @ElementType:
1560     dis:ResourceDef
1561     @ShadowContent:
1562     @@rdf:type:
1563     ManakaiDOM:InCase
1564    
1565     ElementTypeBinding:
1566     @Name: ConstGroup
1567     @ElementType:
1568     dis:ResourceDef
1569     @ShadowContent:
1570 wakaba 1.17 @@rdf:type: DISLang|ConstGroup
1571     @@ForCheck: ManakaiDOM|DOM !=ManakaiDOM|ManakaiDOM
1572 wakaba 1.4
1573     ElementTypeBinding:
1574     @Name: Const
1575     @ElementType:
1576     dis:ResourceDef
1577     @ShadowContent:
1578 wakaba 1.17 @@rdf:type: DISLang|Const
1579     @@ForCheck: ManakaiDOM|DOM !=ManakaiDOM|ManakaiDOM
1580 wakaba 1.4
1581     ElementTypeBinding:
1582     @Name: Deprecated
1583     @ElementType:
1584     DOMHTML:isDeprecatedByHTML4
1585     @ShadowContent: 1
1586     @ShadowSibling:
1587     @@ForCheck: !ForXHTML11
1588    
1589     PropDef:
1590     @QName: isDeprecatedByHTML4
1591     @Description:
1592     @@lang:en
1593     @@@:
1594     Whether a subject resource is deprecated by HTML 4 or not.
1595 wakaba 1.17 @dataType: DISCore|Boolean
1596     @multipleProperties: DISCore|Single
1597 wakaba 1.1
1598 wakaba 1.18 IfCls1Def:
1599 wakaba 1.17 @IFQName: HTMLCollection
1600     @ClsQName: ManakaiDOMHTMLCollection
1601 wakaba 1.4
1602 wakaba 1.17 @ClsISA: NodeRef
1603 wakaba 1.4
1604 wakaba 1.1 @Description:
1605     @@lang:en
1606     @@@:
1607     A list of nodes. An individual node may be accessed
1608 wakaba 1.15 by either ordinal index or the <HA::name> or <HA::id>
1609 wakaba 1.1 of the node.
1610     \
1611 wakaba 1.15 <IF::HTMLCollection> objects are <EM::live>; they are
1612 wakaba 1.1 automatically updated when the underlying document
1613     is changed.
1614    
1615     @Attr:
1616     @@Name: length
1617     @@Description:
1618     @@@lang:en
1619     @@@@: The length of the list.
1620     @@Get:
1621 wakaba 1.17 @@@Type: ulong
1622 wakaba 1.4 @@@PerlDef:
1623     my $l = $self->{<Q::TreeCore:node>}
1624     -><M::ManakaiDOMCore:ManakaiDOMNodeObjectNode
1625     .getElementsBy>
1626     ($self->{<Q::ManakaiDOMCore:nodeMatch>});
1627     $r = @$l;
1628 wakaba 1.1 @Method:
1629     @@Name: item
1630     @@Description:
1631     @@@lang:en
1632     @@@@:
1633     Retrieve a node specified by ordinal index.
1634     @@Param:
1635     @@@Name: index
1636 wakaba 1.17 @@@Type: ulong
1637 wakaba 1.1 @@@Description:
1638     @@@@lang:en
1639     @@@@@:
1640     The index of the node to retrieve, in the document order.
1641 wakaba 1.15 The index origin is <DOM::0>.
1642 wakaba 1.1 @@Return:
1643 wakaba 1.4 @@@Type:
1644     DOMCore:Node
1645 wakaba 1.1 @@@Description:
1646     @@@@lang:en
1647     @@@@@:
1648 wakaba 1.15 The <P::index>th node.
1649 wakaba 1.1 @@@InCase:
1650     @@@@Value:
1651     @@@@@is-null:1
1652     @@@@Description:
1653     @@@@@lang:en
1654     @@@@@@:
1655 wakaba 1.15 The <P::index> is out of range.
1656 wakaba 1.4 @@@PerlDef:
1657     $r = $self->{<Q::TreeCore:node>}
1658     -><M::ManakaiDOMCore:ManakaiDOMNodeObjectNode
1659     .getElementBy>
1660     ($self->{<Q::ManakaiDOMCore:nodeMatch>}, \$index);
1661     if (defined $r) {
1662 wakaba 1.11 $r = <ClassM::DOMCore:ManakaiDOMNode.getNodeReference> ($r);
1663 wakaba 1.4 }
1664 wakaba 1.1 @Method:
1665     @@Name: namedItem
1666     @@Description:
1667     @@@lang:en
1668     @@@@:
1669     Retrieve a node using a name.
1670     \
1671     With HTML 4 documents,
1672 wakaba 1.15 it first searches for an <IF::DOMCore:Element> with a matching
1673     <HA::name> attribute and if it does not find one,
1674     it searches for an <IF::DOMCore:Element> (that is allowed to specify a
1675     <HA::name> attribute) with a matching <HA::name> attribute.
1676 wakaba 1.1 The matching is case-insensitive.
1677     \
1678     With XHTML 1.0 documents, it only searches for
1679 wakaba 1.15 an <IF::DOMCore:Element> with a matching <HA::id> attribute.
1680 wakaba 1.1 The matching is case-sensitive.
1681 wakaba 1.4 @@ImplNote:
1682     @@@lang:en
1683     @@@@:
1684     XHTML <HA::id> local attributes? XML <XML::ID> attributes?
1685     Any local <XA::id> attributes?
1686 wakaba 1.1 @@Param:
1687     @@@Name: name
1688 wakaba 1.4 @@@Type:
1689     DOMMain:DOMString
1690 wakaba 1.1 @@@Description:
1691     @@@@lang:en
1692     @@@@@:
1693 wakaba 1.15 The name of the <IF::DOMCore:Node> to retrieve.
1694 wakaba 1.1 @@Return:
1695 wakaba 1.4 @@@Type:
1696     DOMCore:Node
1697 wakaba 1.1 @@@Description:
1698     @@@@lang:en
1699     @@@@@:
1700 wakaba 1.15 The <IF::DOMCore:Node> with a <HA::name> or <HA::id> whose
1701     value matches with <P::name>.
1702 wakaba 1.1 @@@InCase:
1703     @@@@Value:
1704     @@@@@is-null:1
1705     @@@@Description:
1706     @@@@@lang:en
1707     @@@@@@:
1708 wakaba 1.15 There is no node with such a <P::name>.
1709 wakaba 1.4 @@@PerlDef:
1710     my $node = $self->{<Q::TreeCore:node>};
1711     $name = "$name";
1712     my $index = 0;
1713     if (not $node->{<Q::DOMCore:ownerDocument>}
1714     ->{<Q::DOMCore:hasFeature>}->{XML}) {
1715     $r = $self->{<Q::TreeCore:node>}
1716     -><M::ManakaiDOMCore:ManakaiDOMNodeObjectNode
1717     .getElementBy>
1718     (sub ($) {
1719 wakaba 1.7 \#line 1 "DOMHTML.ManakaiDOMHTMLCollection.namedItem.#1"
1720 wakaba 1.4 my $node = shift;
1721     if ($self->{<Q::ManakaiDOMCore:nodeMatch>}->($node)) {
1722     my $attr = $node->{<Q::infoset:attributes>}
1723     ->{<Q::null:>}->{name} ||
1724     $node->{<Q::infoset:attributes>}
1725     ->{<Q::ManakaiDOM:noNS>}->{name};
1726 wakaba 1.7 if ($attr) {
1727     my $attrn;
1728     __CODE{ManakaiNode:getWeakReference
1729     ||ManakaiDOM:Perl::
1730     $object => $attr, $ref => $attrn,
1731     $class => {<ClassName::DOMCore:ManakaiDOMAttr>},
1732     }__;
1733     __FOR{ManakaiDOM:DOM3::
1734     if ($attrn-><AG::DOMCore:Node.textContent>
1735     eq $name) {
1736     return true;
1737     }
1738     }__;
1739     __FOR{!ManakaiDOM:DOM3::
1740     if ($attrn-><AG::DOMCore:ManakaiDOMNode
1741     .textContent> eq $name) {
1742     return true;
1743     }
1744     }__;
1745 wakaba 1.4 }
1746     }
1747     return false;
1748 wakaba 1.7 \#line 1 "DOMHTML.ManakaiDOMHTMLCollection.namedItem.#2"
1749 wakaba 1.4 }, \$index);
1750     }
1751     $index = 0;
1752     $r ||= $self->{<Q::TreeCore:node>}
1753     -><M::ManakaiDOMCore:ManakaiDOMNodeObjectNode
1754     .getElementBy>
1755     (sub ($) {
1756 wakaba 1.7 \#line 1 "DOMHTML.ManakaiDOMHTMLCollection.namedItem.#3"
1757 wakaba 1.4 my $node = shift;
1758     if ($self->{<Q::ManakaiDOMCore:nodeMatch>}->($node)) {
1759     my $attr = $node->{<Q::infoset:attributes>}
1760     ->{<Q::null:>}->{id} ||
1761     $node->{<Q::infoset:attributes>}
1762     ->{<Q::ManakaiDOM:noNS>}->{id};
1763 wakaba 1.7 if ($attr) {
1764     my $attrn;
1765     __CODE{ManakaiNode:getWeakReference
1766     ||ManakaiDOM:Perl::
1767     $object => $attr, $ref => $attrn,
1768     $class => {<ClassName::DOMCore:ManakaiDOMAttr>},
1769     }__;
1770     __FOR{ManakaiDOM:DOM3::
1771     if ($attrn-><AG::DOMCore:Node.textContent>
1772     eq $name) {
1773     return true;
1774     }
1775     }__;
1776     __FOR{!ManakaiDOM:DOM3::
1777     if ($attrn-><AG::DOMCore:ManakaiDOMNode
1778     .textContent> eq $name) {
1779     return true;
1780     }
1781     }__;
1782 wakaba 1.4 }
1783     }
1784     return false;
1785 wakaba 1.7 \#line 1 "DOMHTML.ManakaiDOMHTMLCollection.namedItem.#4"
1786 wakaba 1.4 }, \$index);
1787     if (defined $r) {
1788 wakaba 1.11 $r = <ClassM::DOMCore:ManakaiDOMNode.getNodeReference> ($r);
1789 wakaba 1.4 }
1790 wakaba 1.1
1791 wakaba 1.2 ImplNote:
1792     @@lang:en
1793     @@@:
1794 wakaba 1.15 <IF::HTMLOptionCollection>: See <Module::MDOM:DOMWebForms>.
1795 wakaba 1.1
1796 wakaba 1.17 ResourceDef:
1797     @QName: ulong
1798     @For: ManakaiDOM|DOM
1799     @AliasFor: DOMMain|unsigned-long||ManakaiDOM|all
1800    
1801 wakaba 1.1 IF:
1802 wakaba 1.18 @ForCheck: !ManakaiDOM|all
1803 wakaba 1.17
1804 wakaba 1.4 @Name:
1805 wakaba 1.7 @@@: ManakaiDOMHTMLDOMImplementationIF
1806 wakaba 1.5 @@ForCheck:
1807     ManakaiDOM:ForIF
1808     @ISA:
1809     @@@:
1810     DOMCore:DOMImplementation
1811     @@ForCheck:
1812     ManakaiDOM:ForIF
1813    
1814     @Name:
1815     @@@: ManakaiDOMHTMLDOMImplementation
1816     @@ForCheck:
1817     ManakaiDOM:ForClass
1818     @ISA:
1819     @@@:
1820     DOMCore:ManakaiDOMImplementation
1821     @@ForCheck:
1822     ManakaiDOM:ForClass
1823    
1824     @For:
1825     ManakaiDOM:ManakaiDOMLatest
1826     @For:
1827     =ManakaiDOM:ManakaiDOM
1828     @DOMMain:implementFeature: HTMLFeature20
1829 wakaba 1.11 @DOMMain:implementFeature: HTMLExtendedFeature30
1830 wakaba 1.5
1831 wakaba 1.7 @DOMMetaImpl:provideFeature: HTMLFeature20
1832 wakaba 1.11 @DOMMetaImpl:provideFeature: HTMLExtendedFeature30
1833 wakaba 1.7
1834 wakaba 1.5 @Description:
1835     @@lang:en
1836     @@@:
1837     A DOM implementation with HTML-specific methods.
1838     \
1839     {NOTE:: The <IF::HTMLDOMImplementation> was part of
1840     the W3C's DOM Level 2 HTML Candicate Recommendation
1841     but later removed. The manakai DOM implementation
1842     has been decided to include this interface since
1843     there are a number of implementations supporting
1844     the <M::HTMLDOMImplementation.createHTMLDocument> method
1845     and the DOM Level 3 Core Specification belives:-) that
1846 wakaba 1.15 there is a <M::.createHTMLDocument> method.
1847 wakaba 1.5 \
1848     }
1849    
1850     @Method:
1851     @@Name: createHTMLDocument
1852     @@Description:
1853     @@@lang:en
1854     @@@@:
1855     Creates an <IF::HTMLDocument> object with the minimal tree
1856     made of <HE::html>, <HE::head>, <HE::title> and <HE::body> elements.
1857     \
1858     {NOTE:: This method creates a (non-XML) HTML document. To create
1859     a XHTML document, use <M::DOMCore:DOMImplementation.
1860     createDocument> with a root element type
1861     <Q::xhtml1:html> or with an appropriate document type
1862     node.
1863     \
1864     }
1865    
1866     @@For:
1867     ManakaiDOM:ManakaiDOMLatest
1868    
1869     @@Param:
1870     @@@Name:title
1871     @@@Type:
1872     DOMMain:DOMString
1873     @@@actualType:
1874     DOMMain:ManakaiDOMString
1875     @@@Description:
1876     @@@@lang:en
1877     @@@@@:
1878     The title of the document to create. It is set as the content of
1879     the <HE::title> element, through a child <IF::DOMCore:Text> node.
1880     @@Return:
1881     @@@Type: HTMLDocument
1882     @@@actualType: ManakaiDOMHTMLDocument
1883     @@@Description:
1884     @@@@lang:en
1885     @@@@@:
1886     A newly created HTML document.
1887     @@@PerlDef:
1888 wakaba 1.8 my $node = <ClassM::DOMCore:ManakaiDOMDocument.newObject>;
1889 wakaba 1.5 $node->{<Q::DOMCore:implementation>} = $self;
1890     $node->{<Q::ManakaiDOM:implID>}
1891     = $self->{<Q::TreeCore:node>}->{<Q::ManakaiDOM:implID>};
1892     $node->{<Q::DOMCore:hasFeature>}->{HTML} = 1;
1893 wakaba 1.9 my $cls = <ClassName::DOMCore:ManakaiDOMDocument>;
1894     $r = <Code::getWeakRef:: $object = $node, $class = $cls>;
1895 wakaba 1.5 $r-><M::DOMCore:Node.appendChild>
1896     (my $html = $r-><M::DOMCore:Document.createElement>
1897     ('HTML'));
1898     $html-><M::DOMCore:Node.appendChild>
1899     (my $head = $r-><M::DOMCore:Document.createElement>
1900     ('HEAD'));
1901     $head-><M::DOMCore:Node.appendChild>
1902     (my $titleEl = $r-><M::DOMCore:Document.createElement>
1903     ('TITLE'));
1904     if (length $title) {
1905     $titleEl-><M::DOMCore:Node.appendChild>
1906     ($r-><M::DOMCore:Document.createTextNode> ($title));
1907     }
1908     $html-><M::DOMCore:Node.appendChild>
1909     ($r-><M::DOMCore:Document.createElement>
1910     ('BODY'));
1911 wakaba 1.9 $r = <ClassM::DOMCore:ManakaiDOMNode.getNodeReference> ($node);
1912 wakaba 1.5
1913 wakaba 1.7
1914     @Method:
1915     @@Name: createXHTMLDocument
1916     @@Description:
1917     @@@lang:en
1918     @@@@:
1919     Creates an <IF::HTMLDocument> object with the minimal tree
1920     made of <HE::html>, <HE::head>, <HE::title> and <HE::body> elements
1921     and with the <Feature::XHTML> feature.
1922     \
1923     {NOTE:: This method is <EM::manakai extension>.
1924     \
1925     }
1926    
1927     @@For:
1928     ManakaiDOM:ManakaiDOMLatest
1929    
1930     @@Param:
1931     @@@Name:title
1932     @@@Type:
1933     DOMMain:DOMString
1934     @@@Description:
1935     @@@@lang:en
1936     @@@@@:
1937     The title of the document to create. It is set as the content of
1938     the <HE::title> element, through a child <IF::DOMCore:Text> node.
1939     @@Return:
1940     @@@Type: HTMLDocument
1941     @@@actualType: ManakaiDOMHTMLDocument
1942     @@@Description:
1943     @@@@lang:en
1944     @@@@@:
1945     A newly created HTML document.
1946     @@@PerlDef:
1947     __DEEP{
1948 wakaba 1.8 my $node = <ClassM::DOMCore:ManakaiDOMDocument.newObject>;
1949 wakaba 1.7 $node->{<Q::DOMCore:implementation>} = $self;
1950     $node->{<Q::ManakaiDOM:implID>}
1951     = $self->{<Q::TreeCore:node>}->{<Q::ManakaiDOM:implID>};
1952     $node->{<Q::DOMCore:hasFeature>}->{HTML} = 1;
1953     $node->{<Q::DOMCore:hasFeature>}->{XML} = 1;
1954 wakaba 1.9 my $cls = <ClassName::DOMCore:ManakaiDOMDocument>;
1955     $r = <Code::getWeakRef:: $object = $node, $class = $cls>;
1956 wakaba 1.7 $r-><M::DOMCore:Node.appendChild>
1957     (my $html = $r-><M::DOMCore:Document.createElementNS>
1958     (<Q::xhtml1:>, 'html'));
1959     $html-><M::DOMCore:Element.setAttributeNS>
1960     (<Q::xmlns:>, 'xmlns', <Q::xhtml1:>);
1961     $html-><M::DOMCore:Node.appendChild>
1962     (my $head = $r-><M::DOMCore:Document.createElementNS>
1963     (<Q::xhtml1:>, 'head'));
1964     $head-><M::DOMCore:Node.appendChild>
1965     (my $titleEl = $r-><M::DOMCore:Document.createElementNS>
1966     (<Q::xhtml1:>, 'title'));
1967     if (length $title) {
1968     $titleEl-><M::DOMCore:Node.appendChild>
1969     ($r-><M::DOMCore:Document.createTextNode> ($title));
1970     }
1971     $html-><M::DOMCore:Node.appendChild>
1972     ($r-><M::DOMCore:Document.createElementNS>
1973     (<Q::xhtml1:>, 'body'));
1974 wakaba 1.9 $r = <ClassM::DOMCore:ManakaiDOMNode.getNodeReference> ($node);
1975 wakaba 1.7 }__;
1976    
1977 wakaba 1.9 ResourceDef:
1978     @QName: getWeakRef
1979     @AliasFor:
1980     ManakaiNode:getWeakRef::ManakaiDOM:Perl
1981 wakaba 1.17 @For: ManakaiDOM|ManakaiDOM
1982 wakaba 1.9
1983 wakaba 1.18 IfCls1Def:
1984 wakaba 1.17 @IFQName: HTMLDocument
1985     @ClsQName: ManakaiHTMLDocument
1986 wakaba 1.4
1987 wakaba 1.17 @IFISA: DOMCore|Document
1988     @ClsISA: DOMCore|ManakaiDOMDocument
1989 wakaba 1.4
1990 wakaba 1.1 @Description:
1991     @@lang:en
1992     @@@:
1993     The root of the HTML document and holds the entire content.
1994    
1995 wakaba 1.9 @s:rootElementType:
1996     @@@: html||ForHTML40SE
1997     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
1998     @s:rootElementType:
1999     @@@: html||ForHTML401
2000     @@ForCheck: ManakaiDOM|DOM2
2001     @s:rootElementType:
2002     @@@: html||ForXHTML10SE
2003     @@ForCheck: ManakaiDOM|DOM2
2004    
2005 wakaba 1.4 @ImplNote:
2006 wakaba 1.18 @@For: !ManakaiDOM|all
2007 wakaba 1.1 @@doctype-public:
2008     -//W3C//DTD HTML 4.0//EN
2009     @@doctype-public:
2010     -//W3C//DTD HTML 4.0 Transitional//EN
2011     @@doctype-public:
2012     -//W3C//DTD HTML 4.0 Frameset//EN
2013     @@doctype-public:
2014     -//W3C//DTD HTML 4.01//EN
2015     @@doctype-public:
2016     -//W3C//DTD HTML 4.01 Transitional//EN
2017     @@doctype-public:
2018     -//W3C//DTD HTML 4.01 Frameset//EN
2019     @@doctype-public:
2020     -//W3C//DTD XHTML 1.0 Strict//EN
2021     @@doctype-public:
2022     -//W3C//DTD XHTML 1.0 Transitional//EN
2023     @@doctype-public:
2024     -//W3C//DTD XHTML 1.0 Frameset//EN
2025     @@ImplNote:
2026     @@@lang:en
2027     @@@@:
2028     TODO: doctype-system required
2029    
2030 wakaba 1.4 mediatype : text/html, text/x-html
2031    
2032 wakaba 1.1 @Attr:
2033     @@Name: title
2034     @@Description:
2035     @@@lang:en
2036     @@@@:
2037 wakaba 1.7 The title of a document, as specified by the <HE::title> element.
2038 wakaba 1.1 @@Get:
2039     @@@Type: DOMString
2040 wakaba 1.7 @@@PerlDef:
2041     __DEEP{
2042     DOC: for my $child (@{$self-><AG::DOMCore:Node.childNodes>}) {
2043     if ($child-><AG::DOMCore:Node.nodeType> ==
2044     <C::DOMCore:Node.ELEMENT_NODE> and
2045     <Code::isHTMLElement:: $elementNode = $child,
2046     $elementType = 'html'>) {
2047     for my $child (@{$child-><AG::DOMCore:Node.childNodes>}) {
2048     if ($child-><AG::DOMCore:Node.nodeType> ==
2049     <C::DOMCore:Node.ELEMENT_NODE> and
2050     <Code::isHTMLElement:: $elementNode = $child,
2051     $elementType = 'head'>) {
2052     for my $child (@{$child-><AG::DOMCore:Node.childNodes>}) {
2053     if ($child-><AG::DOMCore:Node.nodeType> ==
2054     <C::DOMCore:Node.ELEMENT_NODE> and
2055     <Code::isHTMLElement:: $elementNode = $child,
2056     $elementType = 'title'>) {
2057     __CODE{DOMCore:getNodeTextContent::
2058     $node => $child,
2059     $result => $r}__;
2060     last DOC;
2061     }
2062     }
2063     last DOC; # xhtml1:title not found
2064     }
2065     }
2066     last DOC; # xhtml1:head not found
2067     }
2068     }
2069     }__;
2070 wakaba 1.1 @@Set:
2071 wakaba 1.7 @@@Exception:
2072     @@@@@:
2073     DOMCore:DOMException.NO_MODIFICATION_ALLOWED_ERR
2074     @@@@enDesc:
2075     Either the <HE::title> element is read-only,
2076     there is no <HE::title> element and the <HE::head>
2077     element is read-only, there is no <HE::head>
2078     element and the <HE::html> element is read-only,
2079     or there is no <HE::html> element and the document
2080     node is read-only.
2081     @@@@ForCheck:
2082     ManakaiDOM:ManakaiDOM
2083     @@@Exception:
2084     @@@@@:
2085     MDOMX:MDOM_SECOND_DOC_ELEMENT
2086     @@@@enDesc:
2087     The document element (root element) of the document
2088     is not an <HE::html> element.
2089     @@@@ForCheck:
2090     ManakaiDOM:ManakaiDOM
2091     @@@ImplNote:
2092     @@@@lang:en
2093     @@@@@:
2094     The Spec. does not specify what has occured if
2095     there is no <HE::title> element.
2096 wakaba 1.1 @@@Type: DOMString
2097 wakaba 1.7 @@@PerlDef:
2098     __DEEP{
2099     my $html;
2100     for my $child (@{$self-><AG::DOMCore:Node.childNodes>}) {
2101     if ($child-><AG::DOMCore:Node.nodeType> ==
2102     <C::DOMCore:Node.ELEMENT_NODE> and
2103     <Code::isHTMLElement:: $elementNode = $child,
2104     $elementType = 'html'>) {
2105     $html = $child;
2106     last;
2107     }
2108     }
2109     unless ($html) {
2110     $html = $self-><M::DOMCore:Node.appendChild>
2111     ($self-><M::DOMCore:Document.createElementNS>
2112     (<Q::xhtml1:>, 'html'));
2113     }
2114    
2115     my $head;
2116     for my $child (@{$html-><AG::DOMCore:Node.childNodes>}) {
2117     if ($child-><AG::DOMCore:Node.nodeType> ==
2118     <C::DOMCore:Node.ELEMENT_NODE> and
2119     <Code::isHTMLElement:: $elementNode = $child,
2120     $elementType = 'head'>) {
2121     $head = $child;
2122     last;
2123     }
2124     }
2125     unless ($head) {
2126     $head = $html-><M::DOMCore:Node.appendChild>
2127     ($self-><M::DOMCore:Document.createElementNS>
2128     (<Q::xhtml1:>, 'head'));
2129     }
2130    
2131     my $title;
2132     for my $child (@{$head-><AG::DOMCore:Node.childNodes>}) {
2133     if ($child-><AG::DOMCore:Node.nodeType> ==
2134     <C::DOMCore:Node.ELEMENT_NODE> and
2135     <Code::isHTMLElement:: $elementNode = $child,
2136     $elementType = 'title'>) {
2137     $title = $child;
2138     last;
2139     }
2140     }
2141     unless ($title) {
2142     $title = $head-><M::DOMCore:Node.appendChild>
2143     ($self-><M::DOMCore:Document.createElementNS>
2144     (<Q::xhtml1:>, 'title'));
2145     }
2146    
2147     __CODE{DOMCore:setNodeTextContent::
2148     $node => $title, $given => $given}__;
2149     }__;
2150 wakaba 1.1 @Attr:
2151     @@Name: referrer
2152     @@Description:
2153     @@@lang:en
2154     @@@@:
2155     The page that linked to this page.
2156 wakaba 1.4 @@Type:
2157     DOMMain:DOMString
2158     @@actualType:
2159     DOMMain:RFC2396URI
2160 wakaba 1.1 @@Get:
2161     @@@Description:
2162     @@@@lang:en
2163     @@@@@:
2164     The RFC 2396 URI of the page.
2165     @@@InCase:
2166     @@@@Value:\
2167     @@@@Description:
2168     @@@@@lang:en
2169     @@@@@@:
2170     The user navigated to the page directly (not through a
2171     link, but for example via bookmark).
2172     @@@Def:
2173 wakaba 1.4 @@@@ContentType:
2174 wakaba 1.1 lang:dis
2175     @@@@GetProp:
2176 wakaba 1.4 DOMHTML:referrer
2177 wakaba 1.1 @Attr:
2178     @@Name: domain
2179     @@Description:
2180     @@@lang:en
2181     @@@@:
2182     The domain name of the server that served the document.
2183     @@Get:
2184     @@@Type: DOMString
2185     @@@InCase:
2186     @@@@Value:
2187     @@@@@is-null:1
2188     @@@@Description:
2189     @@@@@lang:en
2190     @@@@@@:
2191     The server cannot be identified by a domain name.
2192     @@@ImplNote:
2193     @@@@lang:en
2194     @@@@@:
2195     ISSUE: What is allowed? FQDNs? Non-FQ domain names?
2196     IPv4 addresses? IPv6 addresses with or without
2197     brackets?
2198 wakaba 1.4 @@@PerlDef:
2199 wakaba 1.1 $r = null;
2200 wakaba 1.4 if (defined $self->{<Q::TreeCore:node>}
2201     ->{<Q::DOMCore:documentURI>}) {
2202 wakaba 1.1 require URI;
2203 wakaba 1.4 my $uri = URI->new ($self->{<Q::TreeCore:node>}
2204     ->{<Q::DOMCore:documentURI>});
2205 wakaba 1.1 if ($uri->can ('host')) {
2206     $r = $uri->host;
2207     undef $r if defined $r and
2208     (length $r == 0 or
2209     substr ($r, 0, 1) eq '[');
2210     }
2211     }
2212     @Attr:
2213     @@Name: URL
2214     @@Description:
2215     @@@lang:en
2216     @@@@:
2217 wakaba 1.15 The absolute URI <SRC::RFC 2396> of the document.
2218 wakaba 1.1 @@Get:
2219     @@@Type: DOMString
2220 wakaba 1.4 @@@actualType:
2221     DOMMain:RFC2396AbsoluteURI
2222 wakaba 1.1 @@@Def:
2223 wakaba 1.4 @@@@ContentType:
2224 wakaba 1.1 lang:dis
2225     @@@@GetProp:
2226 wakaba 1.4 DOMCore:documentURI
2227 wakaba 1.1 @Attr:
2228     @@Name: body
2229     @@Description:
2230     @@@lang:en
2231     @@@@:
2232     The element that contains the content for the document.
2233     @@ImplNote:
2234     @@@lang:en
2235     @@@@:
2236 wakaba 1.15 ISSUE: Is returning <HA::frameset> is DOM Level 0 compatible?
2237 wakaba 1.1 @@Get:
2238     @@@Type: HTMLElement
2239     @@@Description:
2240     @@@@lang:en
2241     @@@@@:
2242 wakaba 1.15 The <HA::body> element or the outermost <HA::frameset> element.
2243 wakaba 1.7 @@@nullCase:
2244     @@@@enDesc:
2245     The document does not have the <HA::body> element
2246     nor a <HA::frameset> element.
2247     @@@PerlDef:
2248     __DEEP{
2249     DOC: for my $child (@{$self-><AG::DOMCore:Node.childNodes>}) {
2250     if ($child-><AG::DOMCore:Node.nodeType> ==
2251     <C::DOMCore:Node.ELEMENT_NODE> and
2252     <Code::isHTMLElement:: $elementNode = $child,
2253     $elementType = 'html'>) {
2254     for my $child (@{$child-><AG::DOMCore:Node.childNodes>}) {
2255     if ($child-><AG::DOMCore:Node.nodeType> ==
2256     <C::DOMCore:Node.ELEMENT_NODE>) {
2257     if (<Code::isHTMLElement:: $elementNode = $child,
2258     $elementType = 'body'> or
2259     <Code::isHTMLElement:: $elementNode = $child,
2260     $elementType = 'frameset'>) {
2261     $r = $child;
2262     last DOC;
2263     }
2264     }
2265     }
2266     last DOC; # xhtml1:html not found
2267     }
2268     }
2269     }__;
2270 wakaba 1.1 @@Set:
2271     @@@Type: HTMLElement
2272     @@@ImplNote:
2273     @@@@lang:en
2274     @@@@@:
2275     ISSUE: Why this attribute is writable? No exception?
2276 wakaba 1.7 @@@ImplNote:
2277     @@@@lang:en
2278     @@@@@:
2279     What should be happen if non-<HE::body> and non-<HE::frameset>
2280     element is attempted to set? A <C::DOMCore:DOMException
2281     .HIERARCHY_ERR>? The current implementation
2282     does no check.
2283     @@@Exception:
2284     @@@@@:
2285     DOMCore:DOMException.NO_MODIFICATION_ALLOWED_ERR
2286     @@@@enDesc:
2287     Either the <HE::html> element is read-only,
2288     or there is no <HE::html> element and the document
2289     node is read-only.
2290     @@@@ForCheck:
2291     ManakaiDOM:ManakaiDOM
2292     @@@Exception:
2293     @@@@@:
2294     MDOMX:MDOM_SECOND_DOC_ELEMENT
2295     @@@@enDesc:
2296     The document element (root element) of the document
2297     is not an <HE::html> element.
2298     @@@@ForCheck:
2299     ManakaiDOM:ManakaiDOM
2300     @@@ImplNote:
2301     @@@@lang:en
2302     @@@@@:
2303     The Spec. does not specify what has occured if
2304     there is no <HE::html> element.
2305     @@@PerlDef:
2306     __DEEP{
2307     my $html;
2308     for my $child (@{$self-><AG::DOMCore:Node.childNodes>}) {
2309     if ($child-><AG::DOMCore:Node.nodeType> ==
2310     <C::DOMCore:Node.ELEMENT_NODE> and
2311     <Code::isHTMLElement:: $elementNode = $child,
2312     $elementType = 'html'>) {
2313     $html = $child;
2314     last;
2315     }
2316     }
2317     unless ($html) {
2318     $html = $self-><M::DOMCore:Node.appendChild>
2319     ($self-><M::DOMCore:Document.createElementNS>
2320     (<Q::xhtml1:>, 'html'));
2321     }
2322    
2323     my $body;
2324     for my $child (@{$html-><AG::DOMCore:Node.childNodes>}) {
2325     if ($child-><AG::DOMCore:Node.nodeType> ==
2326     <C::DOMCore:Node.ELEMENT_NODE>) {
2327     if (<Code::isHTMLElement:: $elementNode = $child,
2328     $elementType = 'body'> or
2329     <Code::isHTMLElement:: $elementNode = $child,
2330     $elementType = 'frameset'>) {
2331 wakaba 1.8 $body = $child;
2332     last;
2333     }
2334 wakaba 1.7 }
2335     }
2336     if ($body) {
2337     $html-><M::DOMCore:Node.replaceChild> ($body => $given);
2338     } else {
2339     $html-><M::DOMCore:Node.appendChild> ($given);
2340     }
2341     }__;
2342 wakaba 1.1 @Attr:
2343     @@Name: images
2344     @@Description:
2345     @@@lang:en
2346     @@@@:
2347 wakaba 1.15 A collection of all the <HA::img> elements in a document.
2348 wakaba 1.1 \
2349 wakaba 1.15 {NOTE:: Only <HA::img> elements are contained for
2350 wakaba 1.1 backward compatibility.
2351     \
2352     }
2353     @@Get:
2354     @@@Type: HTMLCollection
2355 wakaba 1.4 @@@actualType:
2356     ManakaiDOMHTMLCollection
2357     @@@PerlDef:
2358     my $chk;
2359     $chk = sub {
2360 wakaba 1.7 \#line 1 "DOMHTML.ManakaiDOMHTMLElement.getImages.#1"
2361 wakaba 1.4 my ($self) = @_;
2362 wakaba 1.7 if (<Code::isHTMLElemento:: $elementNodeo = $self,
2363     $elementType = 'img'>) {
2364     return true;
2365 wakaba 1.4 } else {
2366 wakaba 1.7 return false;
2367 wakaba 1.4 }
2368 wakaba 1.7 \#line 1 "DOMHTML.ManakaiDOMHTMLElement.getImages.#2"
2369 wakaba 1.4 };
2370 wakaba 1.14 __CODE{getNodeRef::
2371     $object => {$self->{<Q::TreeCore:node>}},
2372     $ref => $r,
2373     $class => {<ClassName::ManakaiDOMHTMLCollection>},
2374 wakaba 1.4 }__;
2375     $r->{<Q::ManakaiDOMCore:nodeMatch>} = $chk;
2376    
2377 wakaba 1.1 @Attr:
2378     @@Name: applets
2379     @@Description:
2380     @@@lang:en
2381     @@@@:
2382 wakaba 1.15 A collection of all <HA::object> elements that include
2383     applets and <HA::applet> elements in the document.
2384 wakaba 1.1 @@ImplNote:
2385     @@@lang:en
2386     @@@@:
2387     There might be compatibility problems, since
2388     the two element types has different attribute sets.
2389     Old (DOM Level 0) applications might not take
2390 wakaba 1.15 <HA::object> elements into consideration.
2391 wakaba 1.1 @@Get:
2392     @@@Type: HTMLCollection
2393 wakaba 1.4 @@@actualType:
2394     ManakaiDOMHTMLCollection
2395     @@@PerlDef:
2396     my $chk;
2397 wakaba 1.7 $chk = sub {
2398     \#line 1 "DOMHTML.ManakaiDOMHTMLElement.getApplets.#1"
2399 wakaba 1.4 my ($self) = @_;
2400 wakaba 1.7 if (<Code::isHTMLElemento:: $elementNodeo = $self,
2401     $elementType = 'applet'>) {
2402     return true;
2403     } elsif (<Code::isHTMLElemento:: $elementNodeo = $self,
2404     $elementType = 'object'> and
2405     $self->{<Q::DOMHTML:isApplet>}) {
2406     return true;
2407 wakaba 1.4 } else {
2408 wakaba 1.7 return false;
2409 wakaba 1.4 }
2410 wakaba 1.7 \#line 1 "DOMHTML.ManakaiDOMHTMLElement.getApplets.#2"
2411     };
2412 wakaba 1.14 __CODE{getNodeRef::
2413     $object => {$self->{<Q::TreeCore:node>}},
2414     $ref => $r,
2415     $class => {<ClassName::ManakaiDOMHTMLCollection>},
2416 wakaba 1.4 }__;
2417     $r->{<Q::ManakaiDOMCore:nodeMatch>} = $chk;
2418 wakaba 1.7
2419 wakaba 1.1 @Attr:
2420     @@Name: links
2421     @@Description:
2422     @@@lang:en
2423     @@@@:
2424 wakaba 1.15 A collection of all <HA::a> and <HA::area> elements
2425     in a document with a value for the <HA::href> attribute.
2426 wakaba 1.1 @@Get:
2427     @@@Type: HTMLCollection
2428 wakaba 1.4 @@@actualType:
2429     ManakaiDOMHTMLCollection
2430     @@@PerlDef:
2431     my $chk;
2432 wakaba 1.7 $chk = sub {
2433     \#line 1 "DOMHTML.ManakaiDOMHTMLElement.getLinks.#1"
2434 wakaba 1.4 my ($self) = @_;
2435 wakaba 1.7 if (<Code::isHTMLElemento:: $elementNodeo = $self,
2436     $elementType = 'a'>) {
2437     return true
2438 wakaba 1.4 if $self->{<Q::infoset:attributes>}
2439     ->{<Q::null:>}->{href} or
2440     $self->{<Q::infoset:attributes>}
2441     ->{<Q::ManakaiDOM:noNS>}->{href};
2442 wakaba 1.7 } elsif (<Code::isHTMLElemento:: $elementNodeo = $self,
2443     $elementType = 'area'>) {
2444     return true
2445 wakaba 1.4 if $self->{<Q::infoset:attributes>}
2446     ->{<Q::null:>}->{href} or
2447     $self->{<Q::infoset:attributes>}
2448     ->{<Q::ManakaiDOM:noNS>}->{href};
2449     }
2450     return false;
2451 wakaba 1.7 \#line 1 "DOMHTML.ManakaiDOMHTMLElement.getLinks.#2"
2452     };
2453 wakaba 1.14 __CODE{getNodeRef::
2454     $object => {$self->{<Q::TreeCore:node>}},
2455     $ref => $r,
2456     $class => {<ClassName::ManakaiDOMHTMLCollection>},
2457 wakaba 1.4 }__;
2458     $r->{<Q::ManakaiDOMCore:nodeMatch>} = $chk;
2459 wakaba 1.7
2460 wakaba 1.1 @Attr:
2461     @@Name: forms
2462     @@Description:
2463     @@@lang:en
2464     @@@@:
2465     A collection of all the forms of a document.
2466     @@ImplNote:
2467     @@@lang:en
2468     @@@@:
2469 wakaba 1.15 It should be restricted for HTML <HA::form> elements.
2470     Neither <HA::isindex> elements nor non-HTML form elements
2471 wakaba 1.1 should be contained.
2472     @@Get:
2473     @@@Type: HTMLCollection
2474 wakaba 1.4 @@@actualType:
2475     ManakaiDOMHTMLCollection
2476     @@@PerlDef:
2477     my $chk;
2478 wakaba 1.7 $chk = sub {
2479     \#line 1 "DOMHTML.ManakaiDOMHTMLElement.getForms.#1"
2480 wakaba 1.4 my ($self) = @_;
2481 wakaba 1.7 if (<Code::isHTMLElemento:: $elementNodeo = $self,
2482     $elementType = 'form'>) {
2483     return true;
2484 wakaba 1.4 } else {
2485 wakaba 1.7 return false;
2486 wakaba 1.4 }
2487 wakaba 1.7 \#line 1 "DOMHTML.ManakaiDOMHTMLElement.getForms.#2"
2488     };
2489 wakaba 1.14 __CODE{getNodeRef::
2490     $object => {$self->{<Q::TreeCore:node>}},
2491     $ref => $r,
2492     $class => {<ClassName::ManakaiDOMHTMLCollection>},
2493 wakaba 1.4 }__;
2494     $r->{<Q::ManakaiDOMCore:nodeMatch>} = $chk;
2495 wakaba 1.1 @Attr:
2496     @@Name: anchors
2497     @@Description:
2498     @@@lang:en
2499     @@@@:
2500 wakaba 1.15 A collection of all the <HA::a> elements with a value
2501     for the <HA::name> attribute in the document.
2502 wakaba 1.1 \
2503     {NOTE:: The collection of this attribute only contains
2504 wakaba 1.15 those anchors with <HA::name> attributes,
2505     not with the <HA::id> attributes, for backward
2506 wakaba 1.1 compatibility. XHTML 1.0 deprecates the use
2507 wakaba 1.15 of the <HA::name> attribute.
2508 wakaba 1.1 \
2509     }
2510     @@Get:
2511     @@@Type: HTMLCollection
2512 wakaba 1.4 @@@actualType:
2513     ManakaiDOMHTMLCollection
2514     @@@PerlDef:
2515     my $chk;
2516 wakaba 1.7 $chk = sub {
2517     \#line 1 "DOMHTML.ManakaiDOMHTMLElement.getAnchors.#1"
2518 wakaba 1.4 my ($self) = @_;
2519 wakaba 1.7 if (<Code::isHTMLElemento:: $elementNodeo = $self,
2520     $elementType = 'a'>) {
2521     return true
2522 wakaba 1.4 if $self->{<Q::infoset:attributes>}
2523     ->{<Q::null:>}->{name} or
2524     $self->{<Q::infoset:attributes>}
2525     ->{<Q::ManakaiDOM:noNS>}->{name};
2526     }
2527     return false;
2528 wakaba 1.7 \#line 1 "DOMHTML.ManakaiDOMHTMLElement.getAnchors.#2"
2529     };
2530 wakaba 1.14 __CODE{getNodeRef::
2531     $object => {$self->{<Q::TreeCore:node>}},
2532     $ref => $r,
2533     $class => {<ClassName::ManakaiDOMHTMLCollection>},
2534 wakaba 1.4 }__;
2535     $r->{<Q::ManakaiDOMCore:nodeMatch>} = $chk;
2536 wakaba 1.7
2537 wakaba 1.1 @Attr:
2538     @@Name: cookie
2539     @@Description:
2540     @@@lang:en
2541     @@@@:
2542     The cookie, persistent state information associated
2543 wakaba 1.15 with the current frame or document <SRC::RFC 2965>.
2544 wakaba 1.1 \
2545     {NOTE:: The precise nature of a UA session is not
2546     defined.
2547     \
2548     }
2549     @@Get:
2550     @@@Type: DOMString
2551 wakaba 1.4 @@@actualType: RFC2965Cookies
2552 wakaba 1.1 @@@Description:
2553     @@@@lang:en
2554     @@@@@:
2555     A single string with each cookie's name-value pair
2556 wakaba 1.15 separated by a <CHAR::SEMICOLON>.
2557 wakaba 1.1 @@@ImplNote:
2558     @@@@lang:en
2559     @@@@@:
2560 wakaba 1.15 It is maybe RFC 2965 <CODE::cookies>.
2561 wakaba 1.1 @@@InCase:
2562     @@@@Value:\
2563     @@@@Description:
2564     @@@@@lang:en
2565     @@@@@@:
2566     No cookie is available for the current frame or document.
2567     @@Set:
2568 wakaba 1.18 @@@For: ManakaiDOM|DOM2
2569 wakaba 1.1 @@@Type: DOMString
2570 wakaba 1.4 @@@actualType: RFC2965Cookie
2571 wakaba 1.1 @@@Description:
2572     @@@@lang:en
2573     @@@@@:
2574     A single name-value pair followed by zero or more
2575 wakaba 1.15 cookie attribute values (RFC 2965 <CODE::cookie>).
2576 wakaba 1.1 \
2577 wakaba 1.15 If no <CODE::domain> attribute is specified,
2578     it defaults to the <CODE::host> portion of an
2579 wakaba 1.1 RFC 2396 absolute URI of the current frame or document.
2580     \
2581 wakaba 1.15 If no <CODE::path> attribute is specified, it defaults
2582     to the absolute <CODE::path> portion of an
2583 wakaba 1.1 RFC 2396 absolute URI of the current frame or document.
2584     \
2585 wakaba 1.15 If no <CODE::max-age> attribute is specified, it
2586 wakaba 1.1 defaults to a UA defined value.
2587     \
2588 wakaba 1.15 If a <CODE::cookie> with the specified name is already
2589 wakaba 1.1 associated, the new value as well as the new attributes
2590 wakaba 1.15 replace the old ones. If the <CODE::max-age> attribute
2591     value is <CODE::0>, any existing cookies of the specified
2592 wakaba 1.1 name are removed.
2593     @@@Exception:
2594 wakaba 1.4 @@@@@:
2595     ManakaiDOMHTML:MDOMHTML_BAD_COOKIE
2596     @@@@Description:
2597     @@@@@lang:en
2598     @@@@@@:
2599     The new value does not adhere to the
2600 wakaba 1.15 RFC 2965 <CODE::cookie>.
2601 wakaba 1.1 @Method:
2602     @@Name: open
2603     @@Description:
2604     @@@lang:en
2605     @@@@:
2606     Open a document stream for writing. If a document
2607     exists in the target, this method clears it.
2608     @@Return:
2609     @Method:
2610     @@Name: close
2611     @@Description:
2612     @@@lang:en
2613     @@@@:
2614 wakaba 1.15 Close a document stream opened by the <M::open> method
2615 wakaba 1.1 and force rendering.
2616     @@Return:
2617     @Method:
2618     @@Name: write
2619     @@Description:
2620     @@@lang:en
2621     @@@@:
2622 wakaba 1.15 Write a string to a document stream opened by <M::.open>.
2623 wakaba 1.1 @@ImplNote:
2624     @@@lang:en
2625     @@@@:
2626     This method might produce a document that is invalid.
2627     @@Param:
2628     @@@Name: text
2629     @@@Type: DOMString
2630     @@@Description:
2631     @@@@lang:en
2632     @@@@@:
2633     The string to be parsed into some structure in
2634     the document structure model.
2635     @@Return:
2636     @Method:
2637     @@Name: writeln
2638 wakaba 1.4 @@Description:
2639 wakaba 1.1 @@@lang:en
2640     @@@@:
2641     Write a string followed by a newline character
2642 wakaba 1.15 to a document stream opened by the <M::.open> method.
2643 wakaba 1.1 @@Param:
2644     @@@Name: text
2645     @@@Type: DOMString
2646     @@@Description:
2647     @@@@lang:en
2648     @@@@@:
2649     The string to be parsed into some structure in
2650     the document structure model.
2651     @@Return:
2652     @Method:
2653     @@Name: getElementsByName
2654     @@Description:
2655     @@@lang:en
2656     @@@@:
2657     With HTML 4 documents: return a collection of elements
2658     with matching name.
2659     \
2660     With XHTML 1 documents: return a collection of form controls
2661     with matching name.
2662     @@Param:
2663     @@@Name: elementName
2664     @@@Type: DOMString
2665     @@@Description:
2666     @@@@lang:en
2667     @@@@@:
2668 wakaba 1.15 The <HA::name> of the element. The matching is
2669 wakaba 1.1 case-sensitive.
2670     @@Return:
2671     @@@Type: NodeList
2672     @@@Description:
2673     @@@@lang:en
2674     @@@@@:
2675 wakaba 1.15 A collection of the element whose <HA::name> matches
2676     with <P::elementName>.
2677 wakaba 1.3 @Method:
2678     @@Name:getElementById
2679     @@Description:
2680     @@@lang:en
2681     @@@@:
2682 wakaba 1.15 Return the <IF::DOMCore:Element> whose <A::id> is given by
2683     <P::elementId>. Behavior is not defined if more than
2684     one elements has this <P::elementId>.
2685 wakaba 1.3 \
2686 wakaba 1.15 {NOTE:: This method was first defined in the <IF::HTMLDocument>
2687 wakaba 1.3 interface of DOM Level 1 but it has moved to
2688 wakaba 1.15 the <Module::MDOM:DOMCore> module in DOM Level 2.
2689 wakaba 1.3 \
2690     }
2691     @@Param:
2692     @@@Name:elementId
2693     @@@Type:
2694     DOMMain:DOMString
2695     @@@Description:
2696     @@@@lang:en
2697     @@@@@:
2698     The unique identifier of the element to retrieve.
2699     @@Return:
2700     @@@Type:
2701     DOMCore:Element
2702     @@@Description:
2703     @@@@lang:en
2704     @@@@@:The matching element.
2705 wakaba 1.7 @@@disDef:
2706     @@@@DISPerl:cloneCode:
2707     DOMCore:ManakaiDOMElement::ManakaiDOM:ManakaiDOMLatest.getElementById
2708 wakaba 1.4 @@DOMMain:implementFeature:
2709     HTMLFeature10
2710     @@For:
2711     ManakaiDOM:DOM1 !ManakaiDOM:DOM2
2712 wakaba 1.1 @ImplNote:
2713     @@lang:en
2714     @@@:
2715 wakaba 1.3 {P:: The following properties in DOM Level 0 have been deprecated
2716     by DOM HTML Specifications in favor of the corresponding
2717 wakaba 1.15 attributes in <IF::HTMLBodyElement> interface:
2718 wakaba 1.3 \
2719 wakaba 1.15 - <A::alinkColor>
2720 wakaba 1.3 \
2721 wakaba 1.15 - <A::background>
2722 wakaba 1.3 \
2723 wakaba 1.15 - <A::bgColor>
2724 wakaba 1.3 \
2725 wakaba 1.15 - <A::fgColor>
2726 wakaba 1.3 \
2727 wakaba 1.15 - <A::linkColor>
2728 wakaba 1.3 \
2729 wakaba 1.15 - <A::vlinkColor>
2730 wakaba 1.3 \
2731     }
2732 wakaba 1.9 ##HTMLDocument
2733 wakaba 1.1
2734 wakaba 1.4 ElementTypeBinding:
2735     @Name: PropDef
2736     @ElementType:
2737     dis:ResourceDef
2738     @ShadowContent:
2739     @@rdf:type:
2740 wakaba 1.5 rdf:Property
2741 wakaba 1.17 @@For: =ManakaiDOM|all
2742 wakaba 1.4
2743     PropDef:
2744     @QName: isApplet
2745     @FullName:
2746     @@lang:en
2747     @@@: Is a Java applet
2748     @Description:
2749     @@lang:en
2750     @@@:
2751     Whether an <HA::object> element is a Java applet or not.
2752    
2753     ElementTypeBinding:
2754     @Name: StringDataTypeDef
2755     @ElementType:
2756     dis:ResourceDef
2757     @ShadowContent:
2758 wakaba 1.17 @@rdf:type: DISLang|DataType
2759     @@For: ManakaiDOM|DOM
2760     @@For: =ManakaiDOM|all
2761     @@rdfs:subClassOf: DOMMain|DOMString
2762 wakaba 1.4 @@AliasFor:
2763 wakaba 1.17 @@@@: ||ManakaiDOM|all
2764     @@@For: !=ManakaiDOM|all
2765 wakaba 1.4
2766     StringDataTypeDef:
2767     @QName: RFC2965Cookies
2768     @FullName:
2769     @@lang:en
2770     @@@:
2771     RFC 2965 <CODE::cookies>
2772    
2773     StringDataTypeDef:
2774     @QName: RFC2965Cookie
2775     @FullName:
2776     @@lang:en
2777     @@@:
2778     RFC 2965 <CODE::cookie>
2779    
2780 wakaba 1.1 ImplNote:
2781     @lang:en
2782     @@:
2783     DOM attributes corresponding to HTML attributes have
2784     the semantic (including case-sensitivity) given in
2785     the HTML 4 and XHTML 1.0 specifications.
2786     \
2787     Exposing HTML attributes is for compatibility with DOM Level 0;
2788     this usage is deprecated by DOM Level 1 and 2 HTML specitications.
2789     \
2790     {FIG: HTML Data Types and DOM Data Types
2791     \
2792 wakaba 1.15 - <SGML::CDATA>:: <TYPE::DOMString>.
2793 wakaba 1.1 (Default of default: an empty string)
2794     \
2795 wakaba 1.15 - Enumerated values:: <TYPE::DOMString>.
2796 wakaba 1.1 (Normalized to lowercase in HTML.
2797     Default of default: an empty string)
2798     \
2799 wakaba 1.15 - Boolean:: <TYPE::boolean>. (Default of default: <DOM::false>.
2800 wakaba 1.1 \
2801 wakaba 1.15 - <SGML::NUMBER>:: <TYPE::long>. (Default of default: <DOM::0>.)
2802 wakaba 1.1 \
2803     }
2804     \
2805     Element type names in HTML 4 documents (exposed through
2806 wakaba 1.15 such as <A::DOMCore:Element.tagName>) are normalized in
2807 wakaba 1.1 uppercase. No specification for attribute names - it maybe
2808     should be in lowercase for compatibility.
2809    
2810 wakaba 1.18 IfCls1Def:
2811 wakaba 1.17 @IFQName: HTMLElement
2812     @ClsQName: ManakaiDOMHTMLElement
2813 wakaba 1.4
2814 wakaba 1.17 @IFISA: DOMCore|Element
2815     @ClsISA: DOMCore|ManakaiDOMElement
2816 wakaba 1.4
2817 wakaba 1.1 @Description:
2818     @@lang:en
2819     @@@:
2820     An HTML element. All specific HTML element interfaces
2821     are derived from this interface.
2822    
2823 wakaba 1.7 @s:elementType:
2824     @@@:
2825     AnyHTMLElement::ForHTML40SE
2826     @@ForCheck:
2827     ManakaiDOM:DOM1 !ManakaiDOM:DOM2
2828     @s:elementType:
2829     @@@:
2830     AnyHTMLElement::ForHTML401
2831     @@ForCheck:
2832     ManakaiDOM:DOM2
2833     @s:elementType:
2834     @@@:
2835     AnyHTMLElement::ForXHTML10SE
2836     @@ForCheck:
2837     ManakaiDOM:DOM2
2838    
2839     @ImplNote:
2840 wakaba 1.18 @@For: !ManakaiDOM|all
2841 wakaba 1.3 @@QName:
2842     xhtml1:sub
2843     \##TODO: rewrite this
2844 wakaba 1.1 @@html-element-type:sup
2845     @@html-element-type:span
2846     @@html-element-type:bdo
2847     @@html-element-type:tt
2848     @@html-element-type:i
2849     @@html-element-type:b
2850     @@html-element-type:u
2851     @@html-element-type:s
2852     @@html-element-type:strike
2853     @@html-element-type:big
2854     @@html-element-type:small
2855     @@html-element-type:em
2856     @@html-element-type:strong
2857     @@html-element-type:dfn
2858     @@html-element-type:code
2859     @@html-element-type:samp
2860     @@html-element-type:kbd
2861     @@html-element-type:var
2862     @@html-element-type:cite
2863     @@html-element-type:acronym
2864     @@html-element-type:abbr
2865     @@html-element-type:dd
2866     @@html-element-type:dt
2867     @@html-element-type:noframes
2868     @@html-element-type:noscript
2869     @@html-element-type:address
2870     @@html-element-type:center
2871 wakaba 1.7
2872 wakaba 1.3 @ImplNote:
2873     @@lang:en
2874     @@@:
2875 wakaba 1.15 The DOM Level 1 First and Second Editions said that the <HE::head>
2876 wakaba 1.3 element belongs to this category - it is considered as
2877 wakaba 1.15 an error, since there is the <IF::HTMLHeadElement>.
2878 wakaba 1.1
2879     @Attr:
2880     @@Name: id
2881 wakaba 1.7 @@DocAttr1:
2882 wakaba 1.11 id::ForHTML40SE
2883 wakaba 1.7 @@DocAttr2S:
2884 wakaba 1.11 id::ForHTML401
2885 wakaba 1.7 @@DocAttr2X:
2886 wakaba 1.11 id::ForXHTML10SE
2887     @@ReflectCDATA:
2888 wakaba 1.1 @@Get:
2889     @@Set:
2890     @@ImplNote:
2891     @@@lang:en
2892     @@@@:
2893 wakaba 1.15 Some element in HTML 4/XHTML 1.0 does not have <HA::class> attribute.
2894 wakaba 1.1 @Attr:
2895     @@Name: title
2896 wakaba 1.7 @@DocAttr1:
2897 wakaba 1.11 title::ForHTML40SE
2898 wakaba 1.7 @@DocAttr2S:
2899 wakaba 1.11 title::ForHTML401
2900 wakaba 1.7 @@DocAttr2X:
2901 wakaba 1.11 title::ForXHTML10SE
2902     @@ReflectCDATA:
2903 wakaba 1.1 @@Get:
2904     @@Set:
2905     @@ImplNote:
2906     @@@lang:en
2907     @@@@:
2908 wakaba 1.15 Some element in HTML 4/XHTML 1.0 does not have <HA::class> attribute.
2909 wakaba 1.1 @Attr:
2910     @@Name: lang
2911 wakaba 1.7 @@DocAttr1:
2912 wakaba 1.11 lang::ForHTML40SE
2913 wakaba 1.7 @@DocAttr2S:
2914 wakaba 1.11 lang::ForHTML401
2915 wakaba 1.7 @@DocAttr2X:
2916 wakaba 1.11 lang::ForXHTML10SE
2917     @@ReflectCDATA:
2918 wakaba 1.1 @@Get:
2919     @@Set:
2920     @@ImplNote:
2921     @@@lang:en
2922     @@@@:
2923 wakaba 1.15 Some element in HTML 4/XHTML 1.0 does not have <HA::class> attribute.
2924 wakaba 1.1 @Attr:
2925     @@Name: dir
2926 wakaba 1.7 @@DocAttr1:
2927 wakaba 1.11 dir::ForHTML40SE
2928 wakaba 1.7 @@DocAttr2S:
2929 wakaba 1.11 dir::ForHTML401
2930 wakaba 1.7 @@DocAttr2X:
2931 wakaba 1.11 dir::ForXHTML10SE
2932     @@ReflectCDATA:
2933 wakaba 1.1 @@Get:
2934     @@Set:
2935     @@ImplNote:
2936     @@@lang:en
2937     @@@@:
2938 wakaba 1.15 Some element in HTML 4/XHTML 1.0 does not have <HA::class> attribute.
2939 wakaba 1.1 @Attr:
2940     @@Name: className
2941 wakaba 1.7 @@DocAttr1:
2942 wakaba 1.11 class::ForHTML40SE
2943 wakaba 1.7 @@DocAttr2S:
2944 wakaba 1.11 class::ForHTML401
2945 wakaba 1.7 @@DocAttr2X:
2946 wakaba 1.11 class::ForXHTML10SE
2947     @@ReflectCDATA:
2948 wakaba 1.1 @@Get:
2949     @@Set:
2950     @@ImplNote:
2951     @@@lang:en
2952     @@@@:
2953 wakaba 1.15 Some element in HTML 4/XHTML 1.0 does not have <HA::class> attribute.
2954 wakaba 1.3
2955     @ImplNote:
2956     @@lang:en
2957     @@@:
2958 wakaba 1.15 The <A::HTMLElement.style> is reserved by DOM Level 1 First Edition
2959 wakaba 1.3 for future use. It is used later in DOM Level 2 CSS Module.
2960 wakaba 1.11 ##HTMLElement
2961 wakaba 1.1
2962 wakaba 1.7 ElementTypeBinding:
2963 wakaba 1.11 @Name: ReflectCDATA
2964 wakaba 1.7 @ElementType:
2965 wakaba 1.11 dis:Type
2966 wakaba 1.7 @ShadowContent:
2967 wakaba 1.11 @@@: DOMString
2968     @ShadowSibling:
2969     @@actualType: CDATADOMString
2970    
2971 wakaba 1.7 ElementTypeBinding:
2972 wakaba 1.11 @Name: ReflectURI
2973 wakaba 1.7 @ElementType:
2974 wakaba 1.11 dis:Type
2975 wakaba 1.7 @ShadowContent:
2976 wakaba 1.11 @@@: DOMString
2977     @ShadowSibling:
2978     @@actualType: URIDOMString
2979    
2980 wakaba 1.7 ElementTypeBinding:
2981 wakaba 1.11 @Name: ReflectEnum
2982 wakaba 1.7 @ElementType:
2983 wakaba 1.11 dis:Type
2984 wakaba 1.7 @ShadowContent:
2985 wakaba 1.11 @@@: DOMString
2986     @ShadowSibling:
2987     @@actualType: EnumDOMString
2988    
2989     ElementTypeBinding:
2990     @Name: ReflectBoolean
2991     @ElementType:
2992     dis:Type
2993     @ShadowContent:
2994     @@@: DOMMain|boolean||ManakaiDOM|all
2995     @ShadowSibling:
2996     @@actualType: Boolean
2997    
2998     ElementTypeBinding:
2999     @Name: ReflectNumeric
3000     @ElementType:
3001     dis:Type
3002     @ShadowContent:
3003     @@@: DOMMain|long||ManakaiDOM|all
3004     @ShadowSibling:
3005     @@actualType: Numeric
3006    
3007     ElementTypeBinding:
3008     @Name: DocAttr1
3009     @ElementType:
3010     dis:DocAttr
3011     @ShadowContent:
3012     @@ForCheck:
3013     ManakaiDOM:DOM1 !ManakaiDOM:DOM2
3014     ElementTypeBinding:
3015     @Name: DocAttr2S
3016     @ElementType:
3017     dis:DocAttr
3018     @ShadowContent:
3019     @@ForCheck:
3020     ManakaiDOM:DOM2
3021     ElementTypeBinding:
3022     @Name: DocAttr2X
3023     @ElementType:
3024     dis:DocAttr
3025     @ShadowContent:
3026     @@ForCheck:
3027     ManakaiDOM:DOM2
3028 wakaba 1.7
3029     ResourceDef:
3030     @QName: AnyHTMLElement
3031     @enDesc:
3032     Any HTML element types.
3033     @rdf:type:
3034     s:AnyElementInNS
3035     @AppName:
3036     @@@:
3037     xhtml1:*
3038     @@ContentType:
3039     dis:TypeQName
3040     @ForCheck: ForHTML
3041    
3042     ## TODO: Move to attribute set
3043    
3044     @AttrDef:
3045     @@QName: dir
3046     @AttrDef:
3047     @@QName: id
3048     @AttrDef:
3049     @@QName: lang
3050 wakaba 1.18 # @@DeprecatedBy:
3051     # DOMHTML:XHTML1.0
3052 wakaba 1.7 @AttrDef:
3053     @@QName: class
3054     @AttrDef:
3055     @@QName: title
3056    
3057     ElementTypeBinding:
3058     @Name: AttrDef
3059     @ElementType:
3060     dis:ResourceDef
3061     @ShadowContent:
3062     @@rdf:type:
3063     s:Attribute
3064 wakaba 1.17 @@ForCheck: ForHTML
3065 wakaba 1.7
3066     ResourceDef:
3067     @QName: isHTMLElement
3068     @rdf:type:
3069     dis2pm:InlineCode
3070     @enDesc:
3071     Tests whether this is an HTML element of the given type or not.
3072     @Param:
3073     @@Name: elementNode
3074     @@Type:
3075     DOMCore:Element
3076     @@enDesc:
3077     The element node to test.
3078     @Param:
3079     @@Name: elementType
3080     @@Type:
3081     DOMMain:DOMString
3082     @@enDesc:
3083     The element type name to test.
3084 wakaba 1.17 @PerlCDef:
3085 wakaba 1.7 do {
3086     my $__ln = $elementNode->{<Q::TreeCore:node>}
3087     ->{<Q::infoset:localName>};
3088     if (defined $__ln) { ## Namespace-aware node
3089     my $__ns = $elementNode->{<Q::TreeCore:node>}
3090     ->{<Q::infoset:namespaceName>};
3091     if ($__ns eq <Q::xhtml1:> or
3092     (not defined $__ns and
3093 wakaba 1.10 $elementNode->{<Q::TreeCore:node>}
3094     ->{<Q::DOMCore:ownerDocument>}
3095     ->{<Q::DOMCore:hasFeature>}
3096 wakaba 1.7 ->{HTML})) {
3097     $elementType eq $__ln ? true : false;
3098     } else {
3099     false;
3100     }
3101 wakaba 1.10 } elsif ($elementNode->{<Q::TreeCore:node>}
3102     ->{<Q::DOMCore:ownerDocument>}->{<Q::DOMCore:hasFeature>}
3103 wakaba 1.7 ->{HTML}) {
3104 wakaba 1.10 if ($elementNode->{<Q::TreeCore:node>}
3105     ->{<Q::DOMCore:ownerDocument>}->{<Q::DOMCore:hasFeature>}
3106 wakaba 1.7 ->{XML}) {
3107     $elementType eq $elementNode-><AG::DOMCore:Node.nodeName>
3108     ? true : false;
3109     } else {
3110     $elementType eq lc ($elementNode-><AG::DOMCore:Node.nodeName>)
3111     ? true : false;
3112     }
3113     } else {
3114     false;
3115     }
3116     }
3117    
3118     ResourceDef:
3119 wakaba 1.14 @QName: NodeStem
3120     @AliasFor: ManakaiNode|NodeStem||ManakaiDOM|Perl
3121     @For: ManakaiDOM|Perl
3122    
3123     ResourceDef:
3124     @QName: NodeRef
3125     @AliasFor: ManakaiNode|NodeRef||ManakaiDOM|Perl
3126     @For: ManakaiDOM|Perl
3127    
3128     ResourceDef:
3129     @QName: getNodeRef
3130     @AliasFor: ManakaiNode|getNewReference||ManakaiDOM|Perl
3131     @For: ManakaiDOM|Perl
3132    
3133     ResourceDef:
3134 wakaba 1.7 @QName: isHTMLElemento
3135     @rdf:type:
3136     dis2pm:InlineCode
3137     @enDesc:
3138     Tests whether this is an HTML element of the given type or not.
3139     @Param:
3140     @@Name: elementNodeo
3141 wakaba 1.14 @@Type: NodeStem
3142 wakaba 1.7 @@enDesc:
3143     The element node to test.
3144     @Param:
3145     @@Name: elementType
3146     @@Type:
3147     DOMMain:DOMString
3148     @@enDesc:
3149     The element type name to test.
3150 wakaba 1.17 @PerlCDef:
3151 wakaba 1.7 do {
3152     my $__ln = $elementNodeo->{<Q::infoset:localName>};
3153     if (defined $__ln) { ## Namespace-aware node
3154     my $__ns = $elementNodeo->{<Q::infoset:namespaceName>};
3155     if ($__ns eq <Q::xhtml1:> or
3156     (not defined $__ns and
3157 wakaba 1.10 $elementNodeo->{<Q::DOMCore:ownerDocument>}
3158     ->{<Q::DOMCore:hasFeature>}
3159 wakaba 1.7 ->{HTML})) {
3160     $elementType eq $__ln ? true : false;
3161     } else {
3162     false;
3163     }
3164 wakaba 1.10 } elsif ($elementNodeo
3165     ->{<Q::DOMCore:ownerDocument>}->{<Q::DOMCore:hasFeature>}
3166 wakaba 1.7 ->{HTML}) {
3167     my $elClass = <ClassName::DOMCore:ManakaiDOMElement>;
3168     my $elementNode = <Code::ManakaiNode:getWeakRef
3169     ||ManakaiDOM:Perl::
3170     $object = $elementNodeo,
3171     $class = $elClass,
3172     >;
3173 wakaba 1.10 if ($elementNodeo
3174     ->{<Q::DOMCore:ownerDocument>}->{<Q::DOMCore:hasFeature>}
3175 wakaba 1.7 ->{XML}) {
3176     $elementType eq $elementNode-><AG::DOMCore:Node.nodeName>
3177     ? true : false;
3178     } else {
3179     $elementType eq lc ($elementNode-><AG::DOMCore:Node.nodeName>)
3180     ? true : false;
3181     }
3182     } else {
3183     false;
3184     }
3185     }
3186    
3187    
3188     ElementTypeBinding:
3189     @Name: enDesc
3190     @ElementType:
3191     dis:Description
3192     @ShadowContent:
3193     @@lang:en
3194    
3195 wakaba 1.18 IfCls1ETDef:
3196 wakaba 1.4 @ETQName:
3197     xhtml1:html
3198 wakaba 1.9 @QName:
3199     @@@: html
3200     @@ForCheck: s|ForML
3201 wakaba 1.4
3202     @IFQName:
3203     @@@: HTMLHtmlElement
3204     @ClsQName:
3205     @@@: ManakaiDOMHTMLHtmlElement
3206     @ISAHTMLElement:
3207 wakaba 1.1
3208 wakaba 1.4 @ATTR:
3209 wakaba 1.1 @@Name: version
3210 wakaba 1.4 @@Deprecated:
3211 wakaba 1.11 @@ReflectCDATA:
3212 wakaba 1.1 @@Get:
3213     @@Set:
3214    
3215 wakaba 1.18 IfCls1ETDef:
3216 wakaba 1.4 @ETQName:
3217     xhtml1:head
3218     @IFQName:
3219     @@@: HTMLHeadElement
3220     @ClsQName:
3221     @@@: ManakaiDOMHTMLHeadElement
3222     @ISAHTMLElement:
3223 wakaba 1.1
3224 wakaba 1.4 @ATTR:
3225 wakaba 1.1 @@Name: profile
3226 wakaba 1.11 @@ReflectCDATA:
3227 wakaba 1.1 @@Get:
3228     @@Set:
3229    
3230 wakaba 1.17 IfCls1ETDef:
3231 wakaba 1.4 @ETQName:
3232     xhtml1:link
3233     @IFQName:
3234     @@@: HTMLLinkElement
3235     @ClsQName:
3236     @@@: ManakaiDOMHTMLLinkElement
3237     @ISAHTMLElement:
3238 wakaba 1.1
3239     @Attr:
3240     @@Name: disabled
3241     @@Description:
3242     @@@lang:en
3243     @@@@:
3244     Whether the link is enabled or not. This is currently
3245     only used for style sheet links and may be used to
3246     activate or deactivate the style sheet.
3247     @@Get:
3248     @@@Type:
3249     DOMMain:boolean
3250     @@@InCase:
3251     @@@@Value: true
3252     @@@@Description:
3253     @@@@@lang:en
3254     @@@@@@:
3255     The link is disabled.
3256     @@@InCase:
3257     @@@@Value: false
3258     @@@@Description:
3259     @@@@@lang:en
3260     @@@@@@:
3261     The link is enabled.
3262     @@@Def:
3263 wakaba 1.4 @@@@ContentType:
3264 wakaba 1.1 lang:dis
3265     @@@@GetProp:
3266     DOMHTML:disabled
3267     @@Set:
3268     @@@Type:
3269     DOMMain:boolean
3270     @@@InCase:
3271     @@@@Value: true
3272     @@@@Description:
3273     @@@@@lang:en
3274     @@@@@@:
3275     The link is disabled.
3276     @@@InCase:
3277     @@@@Value: false
3278     @@@@Description:
3279     @@@@@lang:en
3280     @@@@@@:
3281     The link is enabled.
3282     @@@Def:
3283 wakaba 1.4 @@@@ContentType:
3284 wakaba 1.1 lang:dis
3285     @@@@SetProp:
3286     DOMHTML:disabled
3287 wakaba 1.4 @@ImplNote:
3288     @@@lang:en
3289     @@@@:
3290     A version of WinIE 3 has a <HA::disable> attribute by mistake.
3291     @ATTR:
3292 wakaba 1.1 @@Name: charset
3293 wakaba 1.11 @@ReflectCDATA:
3294 wakaba 1.1 @@Get:
3295     @@Set:
3296 wakaba 1.4 @ATTR:
3297 wakaba 1.1 @@Name: href
3298 wakaba 1.11 @@ReflectURI:
3299 wakaba 1.1 @@Get:
3300     @@Set:
3301 wakaba 1.4 @ATTR:
3302 wakaba 1.1 @@Name: hreflang
3303 wakaba 1.11 @@ReflectCDATA:
3304 wakaba 1.1 @@Get:
3305     @@Set:
3306 wakaba 1.4 @ATTR:
3307 wakaba 1.1 @@Name: media
3308 wakaba 1.11 @@ReflectCDATA:
3309 wakaba 1.1 @@Get:
3310     @@Set:
3311 wakaba 1.4 @ATTR:
3312 wakaba 1.1 @@Name: rel
3313 wakaba 1.11 @@ReflectCDATA:
3314 wakaba 1.1 @@Get:
3315     @@Set:
3316 wakaba 1.4 @ATTR:
3317 wakaba 1.1 @@Name: rev
3318 wakaba 1.11 @@ReflectCDATA:
3319 wakaba 1.1 @@Get:
3320     @@Set:
3321 wakaba 1.4 @ATTR:
3322 wakaba 1.1 @@Name: target
3323 wakaba 1.11 @@ReflectCDATA:
3324 wakaba 1.1 @@Get:
3325     @@Set:
3326 wakaba 1.4 @ATTR:
3327 wakaba 1.1 @@Name: type
3328 wakaba 1.11 @@ReflectCDATA:
3329 wakaba 1.1 @@Get:
3330     @@Set:
3331 wakaba 1.17 ##HTMLLinkElement
3332 wakaba 1.1
3333 wakaba 1.17 IfCls1ETDef:
3334 wakaba 1.4 @ETQName:
3335     xhtml1:title
3336     @IFQName:
3337     @@@: HTMLTitleElement
3338     @ClsQName:
3339     @@@: ManakaiDOMHTMLTitleElement
3340     @ISAHTMLElement:
3341 wakaba 1.17
3342 wakaba 1.4
3343 wakaba 1.1 @Attr:
3344     @@Name: text
3345     @@Description:
3346     @@@lang:en
3347     @@@@:
3348     The title.
3349     @@Get:
3350     @@@Type: DOMString
3351     @@@Def:
3352 wakaba 1.4 @@@@ContentType:
3353     lang:dis
3354     @@@@DISPerl:cloneCode:
3355 wakaba 1.7 DOMCore:ManakaiDOMNode::ManakaiDOM:ManakaiDOMLatest.textContent.get
3356 wakaba 1.1 @@Set:
3357     @@@Type: DOMString
3358     @@@Def:
3359 wakaba 1.4 @@@@ContentType:
3360     lang:dis
3361     @@@@DISPerl:cloneCode:
3362 wakaba 1.7 DOMCore:ManakaiDOMNode::ManakaiDOM:ManakaiDOMLatest.textContent.set
3363 wakaba 1.17 ##HTMLTitleElement
3364 wakaba 1.1
3365 wakaba 1.17 IfCls1ETDef:
3366 wakaba 1.4 @ETQName:
3367     xhtml1:meta
3368     @IFQName:
3369     @@@: HTMLMetaElement
3370     @ClsQName:
3371     @@@: ManakaiDOMHTMLMetaElement
3372     @ISAHTMLElement:
3373    
3374     @ATTR:
3375 wakaba 1.1 @@Name: content
3376 wakaba 1.11 @@ReflectCDATA:
3377 wakaba 1.1 @@Get:
3378     @@Set:
3379 wakaba 1.4 @ATTR:
3380     @@AName:
3381     @@@@: http-equiv
3382     @@DOMAName:
3383     @@@@: httpEquiv
3384 wakaba 1.11 @@ReflectCDATA:
3385 wakaba 1.1 @@Get:
3386     @@Set:
3387 wakaba 1.4 @ATTR:
3388 wakaba 1.1 @@Name: name
3389 wakaba 1.11 @@ReflectCDATA:
3390 wakaba 1.1 @@Get:
3391     @@Set:
3392 wakaba 1.4 @ATTR:
3393 wakaba 1.1 @@Name: scheme
3394 wakaba 1.11 @@ReflectCDATA:
3395 wakaba 1.1 @@Get:
3396     @@Set:
3397    
3398 wakaba 1.17 IfCls1ETDef:
3399 wakaba 1.4 @ETQName:
3400     xhtml1:base
3401     @IFQName:
3402     @@@: HTMLBaseElement
3403     @ClsQName:
3404     @@@: ManakaiDOMHTMLBaseElement
3405     @ISAHTMLElement:
3406    
3407     @ATTR:
3408 wakaba 1.1 @@Name: href
3409 wakaba 1.11 @@ReflectURI:
3410 wakaba 1.1 @@Get:
3411     @@Set:
3412 wakaba 1.4 @ATTR:
3413 wakaba 1.1 @@Name: target
3414 wakaba 1.11 @@ReflectCDATA:
3415 wakaba 1.1 @@Get:
3416     @@Set:
3417    
3418 wakaba 1.4 ElementTypeBinding:
3419     @Name: ISAHTMLElement
3420 wakaba 1.1 @ElementType:
3421 wakaba 1.4 dis:ISA
3422     @ShadowContent:
3423     @@@: HTMLElement
3424     @@ForCheck:
3425     ManakaiDOM:ForIF
3426     @ShadowSibling:
3427     @@ISA:
3428     @@@@: ManakaiDOMHTMLElement
3429     @@@ForCheck:
3430     ManakaiDOM:ForClass
3431    
3432 wakaba 1.17 IfCls1ETDef:
3433 wakaba 1.4 @ETQName:
3434     xhtml1:isindex
3435     @IFQName:
3436     @@@: HTMLIsIndexElement
3437     @ClsQName:
3438     @@@: ManakaiDOMHTMLIsIndexElement
3439     @ISAHTMLElement:
3440    
3441     @ForCheck: !ForXHTML11
3442    
3443 wakaba 1.1 @Attr:
3444     @@Name: form
3445     @@Description:
3446     @@@lang:en
3447     @@@@:
3448 wakaba 1.15 The <HE::form> element containing this element.
3449 wakaba 1.1 \
3450 wakaba 1.15 {NOTE:: Although DOM has this attribute, the <HE::isindex>
3451     is independent from any <HE::form> by definition.
3452 wakaba 1.1 \
3453     }
3454     @@Get:
3455 wakaba 1.2 @@@Type:
3456 wakaba 1.4 DOMHTML:HTMLFormElement
3457 wakaba 1.1 @@@InCase:
3458     @@@@Value:
3459     @@@@@is-null:1
3460     @@@@Description:
3461     @@@@@lang:en
3462     @@@@@@:
3463     This element is not within the context of a form.
3464 wakaba 1.7 @@@disDef:
3465     @@@@DISLang:nop:
3466 wakaba 1.4 @ATTR:
3467 wakaba 1.1 @@Name: prompt
3468 wakaba 1.4 @@Deprecated:
3469 wakaba 1.11 @@ReflectCDATA:
3470 wakaba 1.1 @@Get:
3471     @@Set:
3472    
3473 wakaba 1.4 ElementTypeBinding:
3474 wakaba 1.7 @Name: disDef
3475     @ElementType:
3476     dis:Def
3477     @ShadowContent:
3478     @@ContentType:
3479     lang:dis
3480 wakaba 1.17 @@ForCheck: ManakaiDOM|ForClass
3481    
3482     ElementTypeBinding:
3483     @Name: disCDef
3484     @ElementType:
3485     dis:Def
3486     @ShadowContent:
3487     @@ContentType:
3488     lang:dis
3489 wakaba 1.7
3490     ElementTypeBinding:
3491 wakaba 1.4 @Name: ETQName
3492     @ElementType:
3493 wakaba 1.7 dis:AppName
3494 wakaba 1.4 @ShadowContent:
3495     @@ForCheck:
3496     s:ForML
3497 wakaba 1.17 @@ContentType: DISCore|QName
3498 wakaba 1.7
3499 wakaba 1.4 ElementTypeBinding:
3500     @Name: IFQName
3501     @ElementType:
3502     dis:QName
3503     @ShadowContent:
3504     @@ForCheck:
3505     ManakaiDOM:ForIF
3506     ElementTypeBinding:
3507     @Name: ClsQName
3508 wakaba 1.1 @ElementType:
3509 wakaba 1.4 dis:QName
3510     @ShadowContent:
3511     @@ForCheck:
3512     ManakaiDOM:ForClass
3513    
3514 wakaba 1.17 IfCls1ETDef:
3515 wakaba 1.4 @ETQName:
3516     xhtml1:style
3517     @IFQName: HTMLStyleElement
3518     @ClsQName: ManakaiDOMHTMLStyleElement
3519     @ISAHTMLElement:
3520    
3521 wakaba 1.1 @Attr:
3522     @@Name: disabled
3523     @@Description:
3524     @@@lang:en
3525     @@@@:
3526     Whether the style sheet is enabled or not.
3527     @@Get:
3528     @@@Type:
3529     DOMMain:boolean
3530     @@@InCase:
3531     @@@@Value: true
3532     @@@@Description:
3533     @@@@@lang:en
3534     @@@@@@:The style sheet is disabled.
3535     @@@InCase:
3536     @@@@Value: false
3537     @@@@Description:
3538     @@@@@lang:en
3539     @@@@@@:The style sheet is enabled.
3540     @@@Def:
3541 wakaba 1.4 @@@@ContentType:
3542 wakaba 1.1 lang:dis
3543     @@@@GetProp:
3544     DOMHTML:disabled
3545     @@Set:
3546     @@@Type:
3547     DOMMain:boolean
3548     @@@InCase:
3549     @@@@Value: true
3550     @@@@Description:
3551     @@@@@lang:en
3552     @@@@@@:The style sheet is disabled.
3553     @@@InCase:
3554     @@@@Value: false
3555     @@@@Description:
3556     @@@@@lang:en
3557     @@@@@@:The style sheet is enabled.
3558     @@@Def:
3559 wakaba 1.4 @@@@ContentType:
3560 wakaba 1.1 lang:dis
3561     @@@@SetProp:
3562     DOMHTML:disabled
3563 wakaba 1.4 @ATTR:
3564 wakaba 1.1 @@Name: media
3565 wakaba 1.11 @@ReflectCDATA:
3566 wakaba 1.1 @@Get:
3567     @@Set:
3568 wakaba 1.4 @ATTR:
3569 wakaba 1.1 @@Name: type
3570 wakaba 1.11 @@ReflectCDATA:
3571 wakaba 1.1 @@Get:
3572     @@Set:
3573    
3574 wakaba 1.7 PropDef:
3575     @QName: disabled
3576     @enDesc:
3577     <A::.disabled>.
3578    
3579 wakaba 1.4 ElementTypeBinding:
3580     @Name: DOMAName
3581 wakaba 1.1 @ElementType:
3582 wakaba 1.4 dis:Name
3583     @ShadowContent:
3584 wakaba 1.17 @@ForCheck: ManakaiDOM|DOM
3585    
3586 wakaba 1.4 ElementTypeBinding:
3587     @Name: AName
3588     @ElementType:
3589     dis:Name
3590     @ShadowContent:
3591 wakaba 1.17 @@ForCheck: s|ForML
3592    
3593     ElementTypeBinding:
3594     @Name: plAName
3595     @ElementType:
3596     DISPerl:methodName
3597     @ShadowContent:
3598     @@ForCheck: ManakaiDOM|DOM
3599     @@ContentType: lang|Perl
3600 wakaba 1.4
3601 wakaba 1.11 IF:
3602 wakaba 1.17 @ForCheck: !ManakaiDOM|all
3603    
3604 wakaba 1.11 @IFQName: HTMLStrictlyInlineContainerExtended
3605     @ClsQName: ManakaiDOMHTMLStrictlyInlineContainerExtended
3606     @DOMMain:implementFeature: HTMLExtendedFeature30
3607    
3608     @Method:
3609     @@Name: appendNewAnchor
3610     @@enDesc:
3611     Appends a new <HE::a> element.
3612     @@Param:
3613     @@@Name: hrefArg
3614     @@@Type: DOMString
3615     @@@enDesc:
3616     A URI reference to be set to the <HA::href> attribute
3617     of the newly created element.
3618     @@Param:
3619     @@@Name: textArg
3620     @@@Type: DOMString
3621     @@@enDesc:
3622     Text content of the newly created element.
3623     @@@nullCase:
3624     @@@@enDesc: No text node is added.
3625     @@Param:
3626     @@@Name: classArg
3627     @@@Type: DOMString
3628     @@@enDesc:
3629     A space-separeted list of classes to be set to
3630     the <HA::class> attribute of the newly created element.
3631     @@@nullCase:
3632     @@@@enDesc:
3633     No class is set.
3634 wakaba 1.13 @@@ImplNote:
3635     @@@@lang:en
3636     @@@@@:
3637     <IF::DOMTokenString> and <IF::DOMStringList> shuld also be supported.
3638 wakaba 1.11 @@Return:
3639     @@@Type: HTMLAnchorElement
3640     @@@enDesc:
3641     The newly created <HE::a> element.
3642     @@@RaiseException:
3643     @@@@@: MDOMX|NOMOD_THIS
3644     @@@@enDesc:
3645     This node is read-only.
3646     @@@PerlDef:
3647     __DEEP{
3648     $self-><M::DOMCore:Node.appendChild>
3649     ($r = $self-><AG::DOMCore:Node.ownerDocument>
3650     -><M::DOMCore:Document.createElementNS>
3651     (<Q::xhtml1:>, 'a'));
3652     $r-><AS::HTMLAnchorElement.href> ($hrefArg);
3653     if (defined $textArg) {
3654     $r-><AS::DOMCore:Node.textContent> ($textArg);
3655     }
3656     if (defined $classArg) {
3657     $r-><AS::HTMLElement.className> ($classArg);
3658     }
3659     }__;
3660    
3661     @Method:
3662     @@Name: appendNewAbbr
3663     @@enDesc:
3664     Appends a new <HE::abbr> element.
3665     @@Param:
3666     @@@Name: shortForm
3667     @@@Type: DOMString
3668     @@@enDesc:
3669     Text content of the newly created element.
3670     @@@nullCase:
3671     @@@@enDesc: No text node is added.
3672     @@Param:
3673     @@@Name: longForm
3674     @@@Type: DOMString
3675     @@@enDesc:
3676     A text to be set to the <HA::title> attribute
3677     of the newly created element.
3678     @@@nullCase:
3679     @@@@enDesc: No long form.
3680     @@Param:
3681     @@@Name: classArg
3682     @@@Type: DOMString
3683     @@@enDesc:
3684     A space-separeted list of classes to be set to
3685     the <HA::class> attribute of the newly created element.
3686     @@@nullCase:
3687     @@@@enDesc:
3688     No class is set.
3689     @@Return:
3690     @@@Type: HTMLElement
3691     @@@enDesc:
3692     The newly created <HE::abbr> element.
3693     @@@RaiseException:
3694     @@@@@: MDOMX|NOMOD_THIS
3695     @@@@enDesc:
3696     This node is read-only.
3697     @@@PerlDef:
3698     __DEEP{
3699     $self-><M::DOMCore:Node.appendChild>
3700     ($r = $self-><AG::DOMCore:Node.ownerDocument>
3701     -><M::DOMCore:Document.createElementNS>
3702     (<Q::xhtml1:>, 'abbr'));
3703     if (defined $shortForm) {
3704     $r-><AS::DOMCore:Node.textContent> ($shortForm);
3705     }
3706     if (defined $longForm) {
3707     $r-><AS::HTMLElement.title> ($longForm);
3708     }
3709     if (defined $classArg) {
3710     $r-><AS::HTMLElement.className> ($classArg);
3711     }
3712     }__;
3713    
3714     @Method:
3715     @@Name: appendNewDfn
3716     @@enDesc:
3717     Appends a new <HE::dfn> element.
3718     @@Param:
3719     @@@Name: textArg
3720     @@@Type: DOMString
3721     @@@enDesc:
3722     Text content of the newly created element.
3723     @@@nullCase:
3724     @@@@enDesc: No text node is added.
3725     @@Param:
3726     @@@Name: titleArg
3727     @@@Type: DOMString
3728     @@@enDesc:
3729     A definitive word to be set to
3730     the <HA::title> attribute of the newly created element.
3731     @@@nullCase:
3732     @@@@enDesc:
3733     No title is set.
3734     @@Param:
3735     @@@Name: classArg
3736     @@@Type: DOMString
3737     @@@enDesc:
3738     A space-separeted list of classes to be set to
3739     the <HA::class> attribute of the newly created element.
3740     @@@nullCase:
3741     @@@@enDesc:
3742     No class is set.
3743     @@Return:
3744     @@@Type: HTMLElement
3745     @@@enDesc:
3746     The newly created <HE::dfn> element.
3747     @@@RaiseException:
3748     @@@@@: MDOMX|NOMOD_THIS
3749     @@@@enDesc:
3750     This node is read-only.
3751     @@@PerlDef:
3752     __DEEP{
3753     $self-><M::DOMCore:Node.appendChild>
3754     ($r = $self-><AG::DOMCore:Node.ownerDocument>
3755     -><M::DOMCore:Document.createElementNS>
3756     (<Q::xhtml1:>, 'dfn'));
3757     if (defined $textArg) {
3758     $r-><AS::DOMCore:Node.textContent> ($textArg);
3759     }
3760     if (defined $titleArg) {
3761     $r-><AS::HTMLElement.title> ($titleArg);
3762     }
3763     if (defined $classArg) {
3764     $r-><AS::HTMLElement.className> ($classArg);
3765     }
3766     }__;
3767    
3768     @enImplNote:
3769 wakaba 1.13 {TODO::
3770     <P::classArg>s should also accept <IF::DOMTokenString> (HTML5)
3771     and <IF::DOMStringList> (DOM3) and any Perl array references.
3772     (Pending until the publication of a fixed draft of HTML5)
3773     }
3774 wakaba 1.11
3775     @Method:
3776     @@Name: appendNewPhrase
3777     @@enDesc:
3778     Appends a new phrase element or text.
3779     @@Param:
3780     @@@Name: namespaceNameArg
3781     @@@Type: DOMString
3782     @@@enDesc:
3783     Element type namespace URI.
3784     @@@nullCase:
3785     @@@@enDesc:
3786 wakaba 1.13 The HTML namespace URI, <URI::http://www.w3.org/1999/xhtml>,
3787     is assumed.
3788     \
3789     {NOTE:: The <DOM::null> namespace is not supported.
3790     }
3791 wakaba 1.11 @@Param:
3792     @@@Name: localNameArg
3793     @@@Type: DOMString
3794     @@@enDesc:
3795     Element type local name.
3796     @@@nullCase:
3797     @@@@enDesc:
3798 wakaba 1.13 No element is added and the <P::namespaceNameArg> is ignored.
3799 wakaba 1.11 @@Param:
3800     @@@Name: textArg
3801     @@@Type: DOMString
3802     @@@enDesc:
3803     Text content of the newly created element.
3804     If <P::localNameArg> is <DOM::null>, the <P::textArg>
3805 wakaba 1.13 is directly appended to this element as a new <IF::Text> node.
3806 wakaba 1.11 @@@nullCase:
3807     @@@@enDesc: No text node is added.
3808     @@Param:
3809     @@@Name: classArg
3810     @@@Type: DOMString
3811     @@@enDesc:
3812     A space-separeted list of classes to be set to
3813     the <HA::class> attribute of the newly created element.
3814     If the <P::localNameArg> is <DOM::null>, this parameter
3815     is ignored.
3816     @@@nullCase:
3817     @@@@enDesc:
3818     No class is set.
3819     @@Return:
3820     @@@Type: HTMLElement
3821     @@@enDesc:
3822     The newly created element.
3823     @@@nullCase:
3824     @@@@enDesc:
3825     If <P::localNameArg>
3826     is <DOM::null>.
3827     @@@RaiseException:
3828     @@@@@: MDOMX|NOMOD_THIS
3829     @@@@enDesc:
3830     This node is read-only.
3831     @@@RaiseException:
3832     @@@@@: DOMCore|DOMException.INVALID_CHARACTER_ERR
3833     @@@@enDesc:
3834     <P::localNameArg> is not a legal <CODE::Name>
3835     of the markup language in use.
3836     @@@RaiseException:
3837     @@@@@: DOMCore|DOMException.NAMESPACE_ERR
3838     @@@@enDesc:
3839     <P::localNameArg> is not a legal <CODE::NCName>
3840     of the XML version in use.
3841     @@@PerlDef:
3842     __DEEP{
3843     if (defined $localNameArg) {
3844     $self-><M::DOMCore:Node.appendChild>
3845     ($r = $self-><AG::DOMCore:Node.ownerDocument>
3846     -><M::DOMCore:Document.createElementNS>
3847     (defined $namespaceNameArg
3848     ? $namespaceNameArg : <Q::xhtml1:>,
3849     $localNameArg));
3850     if (defined $textArg) {
3851     $r-><AS::DOMCore:Node.textContent> ($textArg);
3852     }
3853     if (defined $classArg) {
3854     $r-><AS::HTMLElement.className> ($classArg);
3855     }
3856     } else {
3857     $self-><M::DOMCore:Node.appendChild>
3858     ($self-><AG::DOMCore:Node.ownerDocument>
3859     -><M::DOMCore:Document.createTextNode> ($textArg));
3860     }
3861     }__;
3862     ##HTMLStrictlyInlineContainerExtended
3863    
3864     ClsOnly:
3865 wakaba 1.17 @ForCheck: !ManakaiDOM|all
3866    
3867 wakaba 1.11 @For: ManakaiDOM|ManakaiDOMLatest
3868     @ClsQName: ManakaiDOMHTMLStrictlyInlineElementExtended
3869     @ClsISA: ManakaiDOMHTMLStrictlyInlineContainerExtended
3870     @ClsISA: ManakaiDOMHTMLElement
3871    
3872     @enDesc:
3873     Strictly inline-level content elements whose content
3874     is also strictly inline-level content.
3875    
3876     @enImplNote:
3877     Future version of manakai might split this class into
3878     indivisual element type classes.
3879    
3880     @s:elementType: em||ForHTML5
3881     @s:elementType: small||ForHTML5
3882     @s:elementType: i||ForHTML5
3883     @s:elementType: var||ForHTML5
3884     @s:elementType: kbd||ForHTML5
3885     @s:elementType: sup||ForHTML5
3886     @s:elementType: sub||ForHTML5
3887     @s:elementType: cite||ForHTML5
3888     @s:elementType: abbr||ForHTML5
3889     @s:elementType: dfn||ForHTML5
3890     ##HTMLStrictlyInlineElementExtended
3891    
3892     ResourceDef:
3893     @QName: em
3894     @rdf:type: s|ElementType
3895     @For: ForHTML
3896     @ETQName: xhtml1|em
3897    
3898     ResourceDef:
3899     @QName: small
3900     @rdf:type: s|ElementType
3901     @For: ForHTML
3902     @ETQName: xhtml1|small
3903    
3904     ResourceDef:
3905     @QName: i
3906     @rdf:type: s|ElementType
3907     @For: ForHTML
3908     @ETQName: xhtml1|i
3909    
3910     ResourceDef:
3911     @QName: var
3912     @rdf:type: s|ElementType
3913     @For: ForHTML
3914     @ETQName: xhtml1|var
3915    
3916     ResourceDef:
3917     @QName: kbd
3918     @rdf:type: s|ElementType
3919     @For: ForHTML
3920     @ETQName: xhtml1|kbd
3921    
3922     ResourceDef:
3923     @QName: sup
3924     @rdf:type: s|ElementType
3925     @For: ForHTML
3926     @ETQName: xhtml1|sup
3927    
3928     ResourceDef:
3929     @QName: sub
3930     @rdf:type: s|ElementType
3931     @For: ForHTML
3932     @ETQName: xhtml1|sub
3933    
3934     ResourceDef:
3935     @QName: cite
3936     @rdf:type: s|ElementType
3937     @For: ForHTML
3938     @ETQName: xhtml1|cite
3939    
3940     ResourceDef:
3941     @QName: abbr
3942     @rdf:type: s|ElementType
3943     @For: ForHTML
3944     @ETQName: xhtml1|abbr
3945    
3946     ResourceDef:
3947     @QName: dfn
3948     @rdf:type: s|ElementType
3949     @For: ForHTML
3950     @ETQName: xhtml1|dfn
3951    
3952     IF:
3953 wakaba 1.17 @ForCheck: !ManakaiDOM|all
3954    
3955 wakaba 1.11 @IFQName: HTMLStructuredInlineContainerExtended
3956     @ClsQName: ManakaiDOMHTMLStructuredInlineContainerExtended
3957     @DOMMain:implementFeature: HTMLExtendedFeature30
3958    
3959     @Method:
3960     @@Name: appendNewUl
3961     @@enDesc:
3962     Appends a new empty <HE::ul> element.
3963     @@enImplNote:
3964     Array containing items should be accepted as a parameter?
3965     @@Return:
3966     @@@Type: HTMLUListElement
3967     @@@enDesc:
3968     The newly created <HE::ul> element.
3969     @@@RaiseException:
3970     @@@@@: MDOMX|NOMOD_THIS
3971     @@@@enDesc:
3972     This node is read-only.
3973     @@@PerlDef:
3974     __DEEP{
3975     $self-><M::DOMCore:Node.appendChild>
3976     ($r = $self-><AG::DOMCore:Node.ownerDocument>
3977     -><M::DOMCore:Document.createElementNS>
3978     (<Q::xhtml1:>, 'ul'));
3979     }__;
3980    
3981     @Method:
3982     @@Name: appendNewDl
3983     @@enDesc:
3984     Appends a new empty <HE::dl> element.
3985     @@enImplNote:
3986     Array containing items should be accepted as a parameter?
3987     @@Return:
3988     @@@Type: HTMLDListElement
3989     @@@enDesc:
3990     The newly created <HE::dl> element.
3991     @@@RaiseException:
3992     @@@@@: MDOMX|NOMOD_THIS
3993     @@@@enDesc:
3994     This node is read-only.
3995     @@@PerlDef:
3996     __DEEP{
3997     $self-><M::DOMCore:Node.appendChild>
3998     ($r = $self-><AG::DOMCore:Node.ownerDocument>
3999     -><M::DOMCore:Document.createElementNS>
4000     (<Q::xhtml1:>, 'dl'));
4001     }__;
4002    
4003    
4004     @Method:
4005     @@Name: appendNewTable
4006     @@enDesc:
4007     Appends a new empty table whose only child is a <HE::tbody> element.
4008     @@enImplNote:
4009     Array containing items should be accepted as a parameter?
4010     Caption? Row & Col number?
4011     @@Return:
4012     @@@Type: HTMLTableElement
4013     @@@enDesc:
4014     The newly created <HE::table> element.
4015     @@@RaiseException:
4016     @@@@@: MDOMX|NOMOD_THIS
4017     @@@@enDesc:
4018     This node is read-only.
4019     @@@PerlDef:
4020     __DEEP{
4021     my $od = $self-><AG::DOMCore:Node.ownerDocument>;
4022     $self-><M::DOMCore:Node.appendChild>
4023     ($r = $od-><M::DOMCore:Document.createElementNS>
4024     (<Q::xhtml1:>, 'table'));
4025     $r-><M::DOMCore:Node.appendChild>
4026     ($od-><M::DOMCore:Document.createElementNS>
4027     (<Q::xhtml1:>, 'tbody'));
4028     }__;
4029     ##StructuredInlineContainerExtended
4030    
4031     IF:
4032 wakaba 1.17 @ForCheck: !ManakaiDOM|all
4033    
4034 wakaba 1.11 @IFQName: HTMLInlineContainerExtended
4035     @ClsQName: ManakaiDOMHTMLInlineContainerExtended
4036     @DOMMain:implementFeature: HTMLExtendedFeature30
4037    
4038     @IFISA: HTMLStrictlyInlineContainerExtended
4039     @ClsISA: ManakaiDOMHTMLStrictlyInlineContainerExtended
4040    
4041     @IFISA: HTMLStructuredInlineContainerExtended
4042     @ClsISA: ManakaiDOMHTMLStructuredInlineContainerExtended
4043     ##HTMLInlineContainerExtended
4044    
4045     ClsOnly:
4046 wakaba 1.17 @ForCheck: !ManakaiDOM|all
4047    
4048 wakaba 1.11 @For: ManakaiDOM|ManakaiDOMLatest
4049     @ClsQName: ManakaiDOMHTMLInlineElementExtended
4050     @ClsISA: ManakaiDOMHTMLInlineContainerExtended
4051     @ClsISA: ManakaiDOMHTMLElement
4052    
4053     @enDesc:
4054     Strictly inline-level content elements whose content
4055     is conditionally either strictly inline-level content or
4056     any inline-level content.
4057    
4058     @enImplNote:
4059     Future version of manakai might split this class into
4060     indivisual element type classes.
4061    
4062     @s:elementType: code||ForHTML5
4063     @s:elementType: samp||ForHTML5
4064     @s:elementType: span||ForHTML5
4065     ##HTMLInlineElementExtended
4066    
4067     ResourceDef:
4068     @QName: code
4069     @rdf:type: s|ElementType
4070     @For: ForHTML
4071     @ETQName: xhtml1|code
4072    
4073     ResourceDef:
4074     @QName: samp
4075     @rdf:type: s|ElementType
4076     @For: ForHTML
4077     @ETQName: xhtml1|samp
4078    
4079     ResourceDef:
4080     @QName: span
4081     @rdf:type: s|ElementType
4082     @For: ForHTML
4083     @ETQName: xhtml1|span
4084    
4085     IF:
4086 wakaba 1.17 @ForCheck: !ManakaiDOM|all
4087    
4088 wakaba 1.11 @IFQName: HTMLBlockContainerExtended
4089     @ClsQName: ManakaiDOMHTMLBlockContainerExtended
4090     @DOMMain:implementFeature: HTMLExtendedFeature30
4091    
4092     @IFISA: HTMLStructuredInlineContainerExtended
4093     @ClsISA: ManakaiDOMHTMLStructuredInlineContainerExtended
4094    
4095     @Method:
4096     @@Name: appendNewParagraph
4097     @@enDesc:
4098     Appends a new <HE::p> element.
4099     @@Return:
4100     @@@Type: HTMLParagraphElement
4101     @@@enDesc:
4102     The newly created <HE::p> element.
4103     @@@RaiseException:
4104     @@@@@: MDOMX|NOMOD_THIS
4105     @@@@enDesc:
4106     This node is read-only.
4107     @@@PerlDef:
4108     __DEEP{
4109     $self-><M::DOMCore:Node.appendChild>
4110     ($r = $self-><AG::DOMCore:Node.ownerDocument>
4111     -><M::DOMCore:Document.createElementNS>
4112     (<Q::xhtml1:>, 'p'));
4113     }__;
4114     ##HTMLBlockContainerExtended
4115    
4116     IF:
4117 wakaba 1.17 @ForCheck: !ManakaiDOM|all
4118    
4119 wakaba 1.11 @IFQName: HTMLSectioningElementExtended
4120     @ClsQName: ManakaiDOMHTMLSectioningElementExtended
4121     @DOMMain:implementFeature: HTMLExtendedFeature30
4122    
4123     @IFISA: HTMLBlockContainerExtended
4124     @ClsISA: ManakaiDOMHTMLBlockContainerExtended
4125    
4126     @Method:
4127     @@Name: appendNewSection
4128     @@enDesc:
4129     Appends a new <HE::section> element.
4130     @@ImplNote:
4131     @@@lang:en
4132     @@@@:
4133     Better method name?
4134     @@Param:
4135     @@@Name: title
4136     @@@Type: DOMString
4137     @@@enDesc:
4138     The title text of the section. If this parameter is
4139     specified, the newly created <HE::section> element
4140     has a newly created heading element with a
4141     text node whose <A::DOMCore:CharacterData.data> is set to <P::title>.
4142     @@@nullCase:
4143     @@@@enDesc:
4144     The newly created section does not have an initial
4145     heading element.
4146     @@Return:
4147     @@@Type: HTMLSectionElementExtended
4148     @@@actualType: ManakaiDOMHTMLSectionElementExtended
4149     @@@enDesc:
4150     The newly created <HE::section> element.
4151     @@@RaiseException:
4152     @@@@@: MDOMX|NOMOD_THIS
4153     @@@@enDesc:
4154     This node is read-only.
4155     @@@PerlDef:
4156     __DEEP{
4157     $self-><M::DOMCore:Node.appendChild>
4158     ($r = $self-><AG::DOMCore:Node.ownerDocument>
4159     -><M::DOMCore:Document.createElementNS>
4160     (<Q::xhtml1:>, 'section'));
4161     if (defined $title) {
4162     $r-><M::DOMCore:Node.appendChild>
4163     ($self-><AG::DOMCore:Node.ownerDocument>
4164     -><M::DOMCore:Document.createElementNS>
4165     (<Q::xhtml1:>, 'h1'))
4166     ## TODO: Rank
4167     -><AS::DOMCore:Node.textContent> ($title);
4168     }
4169     }__;
4170    
4171     @Attr:
4172     @@Name: heading
4173     @@enDesc:
4174     The heading element for this section.
4175     @@enImplNote:
4176     {TODO:: Update as in Web Applications 1.0.
4177     \
4178     }
4179     @@Type: HTMLElement
4180     @@Get:
4181     @@@nullCase:
4182     @@@@enDesc:
4183     This sectioning element does not have a heading.
4184     @@@PerlDef:
4185     for my $co (@{$self->{<Q::TreeCore:node>}->{<Q::infoset:children>}}) {
4186     if ($co->{<Q::DOMCore:nodeType>} eq <Q::infoset:Element> and
4187     (<Code::isHTMLElemento:: $elementNodeo = $co,
4188     $elementType = 'h1'> or
4189     <Code::isHTMLElemento:: $elementNodeo = $co,
4190     $elementType = 'h2'> or
4191     <Code::isHTMLElemento:: $elementNodeo = $co,
4192     $elementType = 'h3'> or
4193     <Code::isHTMLElemento:: $elementNodeo = $co,
4194     $elementType = 'h4'> or
4195     <Code::isHTMLElemento:: $elementNodeo = $co,
4196     $elementType = 'h5'> or
4197     <Code::isHTMLElemento:: $elementNodeo = $co,
4198     $elementType = 'h6'>)) {
4199     $r = <ClassM::DOMCore:ManakaiDOMNode.getNodeReference> ($co);
4200     last;
4201     }
4202     }
4203     @@enImplNote: Should setter be defined as e.g. caption?
4204    
4205     @Method:
4206     @@Name: createHeading
4207     @@enDesc:
4208     Creates a heading element and preprends as the first
4209     child node of this element or returns an existing one.
4210     @@enImplNote:
4211     Should prepend or append? Rank?
4212     @@Return:
4213     @@@Type: HTMLHeadingElement
4214     @@@enDesc:
4215     A heading element.
4216     @@@RaiseException:
4217     @@@@@: MDOMX|NOMOD_THIS
4218     @@@@enDesc:
4219     This node is read-only.
4220     @@@PerlDef:
4221     A: {
4222     for my $co (@{$self->{<Q::TreeCore:node>}->{<Q::infoset:children>}}) {
4223     if ($co->{<Q::DOMCore:nodeType>} eq <Q::infoset:Element> and
4224     (<Code::isHTMLElemento:: $elementNodeo = $co,
4225     $elementType = 'h1'> or
4226     <Code::isHTMLElemento:: $elementNodeo = $co,
4227     $elementType = 'h2'> or
4228     <Code::isHTMLElemento:: $elementNodeo = $co,
4229     $elementType = 'h3'> or
4230     <Code::isHTMLElemento:: $elementNodeo = $co,
4231     $elementType = 'h4'> or
4232     <Code::isHTMLElemento:: $elementNodeo = $co,
4233     $elementType = 'h5'> or
4234     <Code::isHTMLElemento:: $elementNodeo = $co,
4235     $elementType = 'h6'>)) {
4236     $r = <ClassM::DOMCore:ManakaiDOMNode.getNodeReference> ($co);
4237     last A;
4238     }
4239     }
4240    
4241     ## Not found
4242     __DEEP{
4243     $r = $self-><M::DOMCore:Node.insertBefore>
4244     ($self-><AG::DOMCore:Node.ownerDocument>
4245     -><M::DOMCore:Document.createElementNS>
4246     (<Q::xhtml1:>, 'h1'),
4247     $self-><AG::DOMCore:Node.firstChild>);
4248     }__;
4249     }
4250     ##HTMLSectioningElementExtended
4251    
4252     ElementTypeBinding:
4253     @Name: enImplNote
4254     @ElementType:
4255     dis:ImplNote
4256     @ShadowContent:
4257     @@lang:en
4258    
4259     H5ETX:
4260     @ETQName: xhtml1|section
4261     @IFQName: HTMLSectionElementExtended
4262     @ClsQName: ManakaiDOMHTMLSectionElementExtended
4263    
4264     @IFISA: HTMLSectioningElementExtended
4265     @ClsISA: ManakaiDOMHTMLSectioningElementExtended
4266     @ISAHTMLElement:
4267     ##HTMLSectionElementExtended
4268    
4269     ElementTypeBinding:
4270     @Name: nullCase
4271     @ElementType:
4272     dis:ResourceDef
4273     @ShadowContent:
4274     @@rdf:type: ManakaiDOM|InCase
4275     @@Value:
4276     @@@is-null:1
4277    
4278 wakaba 1.18 IfCls1ETDef:
4279 wakaba 1.4 @ETQName:
4280     xhtml1:body
4281     @IFQName: HTMLBodyElement
4282     @ClsQName: ManakaiDOMHTMLBodyElement
4283     @ISAHTMLElement:
4284    
4285     @ATTR:
4286     @@AName: alink
4287     @@DOMAName: aLink
4288 wakaba 1.17 @@plAName: alink
4289 wakaba 1.4 @@Deprecated:
4290 wakaba 1.11 @@ReflectCDATA:
4291 wakaba 1.1 @@Get:
4292     @@Set:
4293 wakaba 1.4 @ATTR:
4294 wakaba 1.1 @@Name: background
4295 wakaba 1.4 @@Deprecated:
4296 wakaba 1.11 @@ReflectURI:
4297 wakaba 1.1 @@Get:
4298     @@Set:
4299 wakaba 1.4 @ATTR:
4300     @@DOMAName: bgColor
4301     @@AName: bgcolor
4302 wakaba 1.17 @@plAName: bgcolor
4303 wakaba 1.4 @@Deprecated:
4304 wakaba 1.11 @@ReflectCDATA:
4305 wakaba 1.1 @@Get:
4306     @@Set:
4307 wakaba 1.4 @ATTR:
4308 wakaba 1.1 @@Name: link
4309 wakaba 1.4 @@Deprecated:
4310 wakaba 1.11 @@ReflectCDATA:
4311     @@Get:
4312     @@Set:
4313     @ATTR:
4314     @@Name: text
4315     @@Deprecated:
4316     @@ReflectCDATA:
4317     @@Get:
4318     @@Set:
4319     @Attr:
4320     @@DOMAName: vLink
4321     @@AName: vlink
4322 wakaba 1.17 @@plAName: vlink
4323 wakaba 1.11 @@Deprecated:
4324     @@ReflectCDATA:
4325     @@Get:
4326     @@Set:
4327     ##HTMLBodyElement
4328    
4329     IF:
4330 wakaba 1.17 @ForCheck: !ManakaiDOM|all
4331    
4332 wakaba 1.11 @IFQName: HTMLBodyElementExtended
4333     @ClsQName: ManakaiDOMHTMLBodyElementExtended
4334    
4335     @IFISA: HTMLSectioningElementExtended
4336     @ClsISA: ManakaiDOMHTMLSectioningElementExtended
4337     @ClsISA: ManakaiDOMHTMLBodyElement
4338     ##HTMLBodyElementExtended
4339    
4340     ImplNote:
4341     @@lang:en
4342     @@@:
4343 wakaba 1.15 <IF::HTMLFormElement>, <IF::HTMLSelectElement>,
4344     <IF::HTMLOptionElement>, <IF::HTMLOptGroupElement>,
4345     <IF::HTMLInputElement>, <IF::HTMLTextAreaElement>,
4346     <IF::HTMLButtonElement>, <IF::HTMLFieldSetElement>,
4347     <IF::HTMLLegendElement>: See <Module::MDOM:DOMWebForms>.
4348 wakaba 1.11
4349     FeatureDef:
4350     @QName: HTMLExtendedFeature
4351     @featureQName: ManakaiDOM|HTML
4352     @FeatureVerDef:
4353     @@QName: HTMLExtendedFeature30
4354     @@enDesc:
4355     Extended interfaces.
4356     @@DOMMain:requireFeature: HTMLFeature20
4357     @@DOMMain:requireFeature: DOMCore|CoreFeature30
4358     @@DOMMetaImpl:instanceFeatureOf: HTMLExtendedFeature
4359     @@Version: 3.0
4360    
4361     IF:
4362 wakaba 1.17 @ForCheck: !ManakaiDOM|all
4363    
4364 wakaba 1.11 @IFQName: HTMLListElementExtended
4365     @ClsQName: ManakaiDOMHTMLListElementExtended
4366     @DOMMain:implementFeature: HTMLExtendedFeature30
4367    
4368     @Method:
4369     @@Name: insertItem
4370     @@enDesc:
4371     Inserts a new empty item in the list. The new item is
4372     inserted immediately before the current <P::index>th
4373     item in the list.
4374     \
4375     If this node is a <HE::dl> element, a pair of
4376     <HE::dt> element and <HE::dd> element is
4377     inserted immediately before the <P::index>th <HE::dt> element.
4378     Otherwise, a <HE::li> element is inserted
4379     immediately before the <P::index>th <HE::li> element.
4380 wakaba 1.13 @@enImplNote:
4381     This behaviour may be changed if the HTML5 introduces
4382     the <QUOTE::di> element type which contains pair of <HE::dt>
4383     and <HE::dd> elements.
4384 wakaba 1.11 @@Param:
4385     @@@Name:index
4386     @@@Type:DOMMain|long||ManakaiDOM|all
4387     @@@enDesc:
4388     The item number where to insert a new item.
4389     The index starts from <DOM::0>.
4390     @@@InCase:
4391     @@@@enLabel:
4392     <DOM::-1> or equal to the number of items
4393     @@@@enDesc:
4394     The new item is appended.
4395     @@Return:
4396     @@@Type: HTMLElement
4397     @@@actualType: ManakaiDOMHTMLElement
4398     @@@enDesc:
4399     The newly created element. If this node is a <HE::dl>
4400     element, the newly created <HE::dt> element is returned.
4401     Otherwise, the <HE::li> element is returned.
4402     @@@RaiseException:
4403     @@@@@: MDOMX|NOMOD_THIS
4404     @@@@enDesc:
4405     This node is read-only.
4406     @@@RaiseException:
4407     @@@@@: DOMCore|DOMException.INDEX_SIZE_ERR
4408     @@@@enDesc:
4409     If the specified <P::index> is greater than
4410     the number of rows or if the <P::index> is a negative
4411     number other than <DOM::-1>.
4412     @@@PerlDef:
4413     @@@@ImplNote:
4414     @@@@@lang:en
4415     @@@@@@:
4416     For non-<HE::dl> elements.
4417     @@@@@:
4418     if ($self->{<Q::TreeCore:node>}->{<Q::DOMCore:read-only>}) {
4419     __EXCEPTION{
4420     MDOMX:NOMOD_THIS::
4421     }__;
4422     }
4423    
4424     my $before;
4425     my $after;
4426     __CODE{splitChildrenByElementIndex::
4427     $children => {[@{$self->{<Q::TreeCore:node>}
4428     ->{<Q::infoset:children>}}]},
4429     $before => $before, $after => $after,
4430     $elementType => 'li', $index => $index,
4431     }__;
4432    
4433     __DEEP{
4434     $r = $self-><AG::DOMCore:Node.ownerDocument>
4435     -><M::DOMCore:Document.createElementNS>
4436     (<Q::xhtml1:>, 'li');
4437     }__;
4438 wakaba 1.14 $self->{<Q::TreeCore:node>}-><M::NodeStem.importTree>
4439 wakaba 1.11 ($r->{<Q::TreeCore:node>});
4440     $r->{<Q::TreeCore:node>}->{<Q::infoset:parent>}
4441     = $self->{<Q::TreeCore:node>};
4442     $self->{<Q::TreeCore:node>}->{<Q::infoset:children>}
4443     = [@$before, $r->{<Q::TreeCore:node>}, @$after];
4444    
4445     ##HTMLListElementExtended
4446    
4447     ElementTypeBinding:
4448     @Name: IFISA
4449     @ElementType:
4450     dis:ISA
4451     @ShadowContent:
4452     @@ForCheck: ManakaiDOM|ForIF
4453    
4454     ElementTypeBinding:
4455     @Name: ClsISA
4456     @ElementType:
4457     dis:ISA
4458     @ShadowContent:
4459     @@ForCheck: ManakaiDOM|ForClass
4460    
4461     IF:
4462 wakaba 1.18 @For: !ManakaiDOM|all
4463 wakaba 1.17
4464 wakaba 1.11 @IFQName: HTMLUListElementExtended
4465     @ClsQName: ManakaiDOMHTMLUListElementExtended
4466     @DOMMain:implementFeature: HTMLExtendedFeature30
4467    
4468     @IFISA: HTMLListElementExtended
4469    
4470     @ClsISA: ManakaiDOMHTMLListElementExtended
4471     @ClsISA: ManakaiDOMHTMLUListElement
4472     ##HTMLUListElementExtended
4473    
4474     IF:
4475 wakaba 1.17 @For: !ManakaiDOM|all
4476    
4477 wakaba 1.11 @IFQName: HTMLOListElementExtended
4478     @ClsQName: ManakaiDOMHTMLOListElementExtended
4479     @DOMMain:implementFeature: HTMLExtendedFeature30
4480    
4481     @IFISA: HTMLListElementExtended
4482    
4483     @ClsISA: ManakaiDOMHTMLListElementExtended
4484     @ClsISA: ManakaiDOMHTMLOListElement
4485     ##HTMLOListElementExtended
4486    
4487     IF:
4488 wakaba 1.17 @For: !ManakaiDOM|all
4489    
4490 wakaba 1.11 @IFQName: HTMLDListElementExtended
4491     @ClsQName: ManakaiDOMHTMLDListElementExtended
4492     @DOMMain:implementFeature: HTMLExtendedFeature30
4493    
4494     @IFISA: HTMLListElementExtended
4495    
4496     @ClsISA: ManakaiDOMHTMLListElementExtended
4497     @ClsISA: ManakaiDOMHTMLDListElement
4498    
4499     @Method:
4500     @@Name: insertItem
4501     @@ManakaiDOM:isRedefining:1
4502     @@ForCheck: ManakaiDOM|ForClass
4503     @@enDesc:
4504     Inserts a new empty pair of <HE::dt> and
4505     <HE::dd> elements in the list. The new item is
4506     inserted immediately before the current <P::index>th
4507     <HE::dt> element in the list.
4508     @@Param:
4509     @@@Name:index
4510     @@@Type:DOMMain|long||ManakaiDOM|all
4511     @@@enDesc:
4512     The item number where to insert a new item.
4513     The index starts from <DOM::0>.
4514     @@@InCase:
4515     @@@@enLabel:
4516     <DOM::-1> or equal to the number of items
4517     @@@@enDesc:
4518     The new item is appended.
4519     @@Return:
4520     @@@Type: HTMLElement
4521     @@@actualType: ManakaiDOMHTMLElement
4522     @@@enDesc:
4523     The newly created <HE::dt> element. Note that
4524     the new <HE::dd> element can be obtained by
4525     <AG::DOMCore:Node.nextSibling> attribute of the returned
4526     node.
4527     @@@RaiseException:
4528     @@@@@: MDOMX|NOMOD_THIS
4529     @@@@enDesc:
4530     This node is read-only.
4531     @@@RaiseException:
4532     @@@@@: DOMCore|DOMException.INDEX_SIZE_ERR
4533     @@@@enDesc:
4534     If the specified <P::index> is greater than
4535     the number of rows or if the <P::index> is a negative
4536     number other than <DOM::-1>.
4537     @@@PerlDef:
4538     @@@@ImplNote:
4539     @@@@@lang:en
4540     @@@@@@:
4541     For non-<HE::dl> elements.
4542     @@@@@:
4543     if ($self->{<Q::TreeCore:node>}->{<Q::DOMCore:read-only>}) {
4544     __EXCEPTION{
4545     MDOMX:NOMOD_THIS::
4546     }__;
4547     }
4548    
4549     my $before;
4550     my $after;
4551     __CODE{splitChildrenByElementIndex::
4552     $children => {[@{$self->{<Q::TreeCore:node>}
4553     ->{<Q::infoset:children>}}]},
4554     $before => $before, $after => $after,
4555     $elementType => 'dt', $index => $index,
4556     }__;
4557    
4558     my $dd;
4559     __DEEP{
4560     my $od = $self-><AG::DOMCore:Node.ownerDocument>;
4561     $r = $od-><M::DOMCore:Document.createElementNS>
4562     (<Q::xhtml1:>, 'dt');
4563     $dd = $od-><M::DOMCore:Document.createElementNS>
4564     (<Q::xhtml1:>, 'dd');
4565     }__;
4566 wakaba 1.14 $self->{<Q::TreeCore:node>}-><M::NodeStem.importTree>
4567 wakaba 1.11 ($r->{<Q::TreeCore:node>});
4568     $r->{<Q::TreeCore:node>}->{<Q::infoset:parent>}
4569     = $self->{<Q::TreeCore:node>};
4570 wakaba 1.14 $self->{<Q::TreeCore:node>}-><M::NodeStem.importTree>
4571 wakaba 1.11 ($dd->{<Q::TreeCore:node>});
4572     $dd->{<Q::TreeCore:node>}->{<Q::infoset:parent>}
4573     = $self->{<Q::TreeCore:node>};
4574     $self->{<Q::TreeCore:node>}->{<Q::infoset:children>}
4575     = [@$before, $r->{<Q::TreeCore:node>},
4576     $dd->{<Q::TreeCore:node>}, @$after];
4577    
4578     ##HTMLDListElementExtended
4579    
4580     ResourceDef:
4581     @QName: splitChildrenByElementIndex
4582     @rdf:type: dis2pm|BlockCode
4583     @enDesc:
4584     Splits a child node list into two groups: nodes before
4585     <P::index>th <P::elementType> element node (not inclusive) and
4586     any remind nodes.
4587 wakaba 1.17 @PerlCDef:
4588 wakaba 1.11 my $__i = 0;
4589 wakaba 1.12 $before = [];
4590 wakaba 1.11 $after = $children;
4591     FIND: {
4592 wakaba 1.12 if ($index == -1) {
4593     $before = $after;
4594     $after = [];
4595     last FIND;
4596     }
4597 wakaba 1.11 while (my $__co = shift @$after) {
4598     if ($__co->{<Q::DOMCore:nodeType>} eq <Q::infoset:Element> and
4599     <Code::isHTMLElemento:: $elementNodeo = $__co,
4600     $elementType = $elementType>) {
4601     if ($index == $__i++) { ## Position found
4602     unshift @$after, $__co;
4603     last FIND;
4604     } else {
4605     push @$before, $__co;
4606     }
4607     } else {
4608     push @$before, $__co;
4609     }
4610     }
4611     last FIND if $index == $__i; ## Equal to number
4612    
4613     __EXCEPTION{DOMCore:ManakaiDOMException.INDEX_SIZE_ERR::
4614     MDOMX:param-name => 'index',
4615     }__
4616     } # FIND
4617 wakaba 1.17 @For: ManakaiDOM|ManakaiDOM
4618 wakaba 1.1
4619 wakaba 1.11 ElementTypeBinding:
4620     @Name: enLabel
4621     @ElementType:
4622     dis:Label
4623     @ShadowContent:
4624     @@lang:en
4625 wakaba 1.2
4626 wakaba 1.17 IfCls1ETDef:
4627 wakaba 1.4 @ETQName:
4628     xhtml1:ul
4629     @IFQName: HTMLUListElement
4630     @ClsQName: ManakaiDOMHTMLUListElement
4631     @ISAHTMLElement:
4632    
4633     @ATTR:
4634 wakaba 1.2 @@Name: compact
4635 wakaba 1.4 @@Deprecated:
4636 wakaba 1.11 @@ReflectBoolean:
4637 wakaba 1.1 @@Get:
4638 wakaba 1.2 @@@InCase:
4639     @@@@Value: true
4640     @@@InCase:
4641     @@@@Value: false
4642     @@Set:
4643     @@@InCase:
4644     @@@@Value: true
4645     @@@InCase:
4646     @@@@Value: false
4647 wakaba 1.4 @ATTR:
4648 wakaba 1.2 @@Name: type
4649 wakaba 1.4 @@Deprecated:
4650 wakaba 1.11 @@ReflectCDATA:
4651 wakaba 1.1 @@Get:
4652     @@Set:
4653 wakaba 1.2
4654 wakaba 1.17 IfCls1ETDef:
4655 wakaba 1.4 @ETQName:
4656     xhtml1:ol
4657     @IFQName: HTMLOListElement
4658     @ClsQName:ManakaiDOMHTMLOListElement
4659     @ISAHTMLElement:
4660    
4661     @ATTR:
4662 wakaba 1.2 @@Name: compact
4663 wakaba 1.4 @@Deprecated:
4664 wakaba 1.11 @@ReflectBoolean:
4665 wakaba 1.1 @@Get:
4666 wakaba 1.2 @@@InCase:
4667     @@@@Value: true
4668     @@@InCase:
4669     @@@@Value: false
4670 wakaba 1.1 @@Set:
4671 wakaba 1.2 @@@InCase:
4672     @@@@Value: true
4673     @@@InCase:
4674     @@@@Value: false
4675 wakaba 1.4 @ATTR:
4676 wakaba 1.2 @@Name: start
4677 wakaba 1.4 @@Deprecated:
4678 wakaba 1.11 @@ReflectNumeric:
4679 wakaba 1.1 @@Get:
4680     @@Set:
4681     @Attr:
4682 wakaba 1.2 @@Name: type
4683 wakaba 1.4 @@Deprecated:
4684 wakaba 1.11 @@ReflectCDATA:
4685 wakaba 1.1 @@Get:
4686     @@Set:
4687 wakaba 1.2
4688 wakaba 1.17 IfCls1ETDef:
4689 wakaba 1.4 @ETQName:
4690     xhtml1:dl
4691     @IFQName: HTMLDListElement
4692     @ClsQName: ManakaiDOMHTMLDListElement
4693     @ISAHTMLElement:
4694    
4695     @ATTR:
4696 wakaba 1.2 @@Name: compact
4697 wakaba 1.4 @@Deprecated:
4698 wakaba 1.11 @@ReflectBoolean:
4699 wakaba 1.1 @@Get:
4700 wakaba 1.2 @@@InCase:
4701     @@@@Value: true
4702     @@@InCase:
4703     @@@@Value: false
4704 wakaba 1.1 @@Set:
4705 wakaba 1.2 @@@InCase:
4706     @@@@Value: true
4707     @@@InCase:
4708     @@@@Value: false
4709    
4710 wakaba 1.17 IfCls1ETDef:
4711 wakaba 1.4 @ETQName:
4712     xhtml1:dir
4713     @IFQName: HTMLDirectoryElement
4714     @ClsQName: ManakaiDOMHTMLDirectoryElement
4715     @ISAHTMLElement:
4716     @Deprecated:
4717    
4718 wakaba 1.1 @Attr:
4719 wakaba 1.2 @@Name: compact
4720 wakaba 1.4 @@Deprecated:
4721 wakaba 1.11 @@ReflectBoolean:
4722 wakaba 1.1 @@Get:
4723 wakaba 1.2 @@@InCase:
4724     @@@@Value: true
4725     @@@InCase:
4726     @@@@Value: false
4727 wakaba 1.1 @@Set:
4728 wakaba 1.2 @@@InCase:
4729     @@@@Value: true
4730     @@@InCase:
4731     @@@@Value: false
4732 wakaba 1.1
4733 wakaba 1.17 IfCls1ETDef:
4734 wakaba 1.4 @ETQName:
4735     xhtml1:menu
4736     @IFQName: HTMLMenuElement
4737     @ClsQName: ManakaiDOMHTMLMenuElement
4738     @ISAHTMLElement:
4739     @Deprecated:
4740    
4741     @ATTR:
4742 wakaba 1.2 @@Name: compact
4743 wakaba 1.4 @@Deprecated:
4744 wakaba 1.11 @@ReflectBoolean:
4745 wakaba 1.1 @@Get:
4746     @@@InCase:
4747 wakaba 1.2 @@@@Value: true
4748 wakaba 1.1 @@@InCase:
4749 wakaba 1.2 @@@@Value: false
4750     @@Set:
4751 wakaba 1.1 @@@InCase:
4752     @@@@Value: true
4753     @@@InCase:
4754     @@@@Value: false
4755 wakaba 1.2
4756 wakaba 1.17 IfCls1ETDef:
4757 wakaba 1.4 @ETQName:
4758     xhtml1:li
4759     @IFQName: HTMLLIElement
4760     @ClsQName: ManakaiDOMHTMLLIElement
4761     @ISAHTMLElement:
4762    
4763     @ATTR:
4764 wakaba 1.1 @@Name: type
4765 wakaba 1.4 @@Deprecated:
4766 wakaba 1.11 @@ReflectCDATA:
4767 wakaba 1.1 @@Get:
4768     @@Set:
4769     @Attr:
4770     @@Name: value
4771 wakaba 1.4 @@Deprecated:
4772 wakaba 1.11 @@ReflectNumeric:
4773 wakaba 1.1 @@Get:
4774     @@Set:
4775 wakaba 1.2
4776 wakaba 1.17 IfCls1ETDef:
4777 wakaba 1.4 @ETQName:
4778     xhtml1:div
4779     @IFQName: HTMLDivElement
4780     @ClsQName: ManakaiDOMHTMLDivElement
4781     @ISAHTMLElement:
4782    
4783     @ATTR:
4784 wakaba 1.1 @@Name: align
4785 wakaba 1.4 @@Deprecated:
4786 wakaba 1.11 @@ReflectEnum:
4787 wakaba 1.1 @@Get:
4788     @@Set:
4789 wakaba 1.2
4790 wakaba 1.17 IfCls1ETDef:
4791 wakaba 1.4 @ETQName:
4792     xhtml1:p
4793     @IFQName: HTMLParagraphElement
4794     @ClsQName: ManakaiDOMHTMLParagraphElement
4795     @ISAHTMLElement:
4796    
4797     @ATTR:
4798 wakaba 1.1 @@Name: align
4799 wakaba 1.4 @@Deprecated:
4800 wakaba 1.11 @@ReflectEnum:
4801 wakaba 1.1 @@Get:
4802     @@Set:
4803 wakaba 1.2
4804 wakaba 1.4 ForDef:
4805 wakaba 1.17 @QName: DOMHTML|ForAnET
4806     ForDef:
4807 wakaba 1.4 @QName:
4808     DOMHTML:ForH1
4809 wakaba 1.17 @ISA: DOMHTML|ForAnET
4810 wakaba 1.4 ForDef:
4811     @QName:
4812     DOMHTML:ForH2
4813 wakaba 1.17 @ISA: DOMHTML|ForAnET
4814 wakaba 1.4 ForDef:
4815     @QName:
4816     DOMHTML:ForH3
4817 wakaba 1.17 @ISA: DOMHTML|ForAnET
4818 wakaba 1.4 ForDef:
4819     @QName:
4820     DOMHTML:ForH4
4821 wakaba 1.17 @ISA: DOMHTML|ForAnET
4822 wakaba 1.4 ForDef:
4823     @QName:
4824     DOMHTML:ForH5
4825 wakaba 1.17 @ISA: DOMHTML|ForAnET
4826 wakaba 1.4 ForDef:
4827     @QName:
4828     DOMHTML:ForH6
4829 wakaba 1.17 @ISA: DOMHTML|ForAnET
4830 wakaba 1.4
4831 wakaba 1.1 IF:
4832 wakaba 1.17 @For: !ManakaiDOM|all
4833    
4834 wakaba 1.11 @IFQName: HTMLParagraphElementExtended
4835     @ClsQName: ManakaiDOMHTMLParagraphElementExtended
4836     @DOMMain:implementFeature: HTMLExtendedFeature30
4837    
4838     @IFISA: HTMLBlockContainerExtended
4839     @IFISA: HTMLParagraphElement
4840    
4841     @ClsISA: ManakaiDOMHTMLBlockContainerExtended
4842     @ClsISA: ManakaiDOMHTMLParagraphElement
4843     ##HTMLParagraphElementExtended
4844    
4845     IF:
4846 wakaba 1.17 @For: !ManakaiDOM|all
4847    
4848 wakaba 1.11 @IFQName: HTMLHeadingElementExtended
4849     @ClsQName: ManakaiDOMHTMLHeadingElementExtended
4850     @DOMMain:implementFeature: HTMLExtendedFeature30
4851    
4852 wakaba 1.14 @IFISA: HTMLStrictlyInlineContainerExtended
4853 wakaba 1.11 @IFISA: HTMLHeadingElement
4854    
4855 wakaba 1.14 @ClsISA: ManakaiDOMHTMLStrictlyInlineContainerExtended
4856 wakaba 1.11 @ClsISA: ManakaiDOMHTMLHeadingElement
4857     ##HTMLHeadingElementExtended
4858    
4859 wakaba 1.18 IfCls1ETsDef:
4860 wakaba 1.4 @rdf:type:
4861     @@@:
4862     dis:MultipleResource
4863     @@For: ForHTML
4864     @@ForCheck:
4865     !ManakaiDOM:ForIF !ManakaiDOM:ForClass
4866     !ForH1 !ForH2 !ForH3 !ForH4 !ForH5 !ForH6
4867     @resourceFor:
4868     @@@: ForH1
4869     @@For: ForHTML
4870     @resourceFor:
4871     @@@: ForH2
4872     @@For: ForHTML
4873     @resourceFor:
4874     @@@: ForH3
4875     @@For: ForHTML
4876     @resourceFor:
4877     @@@: ForH4
4878     @@For: ForHTML
4879     @resourceFor:
4880     @@@: ForH5
4881     @@For: ForHTML
4882     @resourceFor:
4883     @@@: ForH6
4884     @@For: ForHTML
4885     @rdf:type:
4886 wakaba 1.17 @@@: s|ElementType
4887     @@ForCheck: ForAnET
4888 wakaba 1.4
4889 wakaba 1.8 @ETQName:
4890 wakaba 1.4 @@@:
4891 wakaba 1.2 xhtml1:h1
4892 wakaba 1.4 @@ForCheck: ForH1
4893 wakaba 1.8 @ETQName:
4894 wakaba 1.4 @@@:
4895 wakaba 1.2 xhtml1:h2
4896 wakaba 1.4 @@ForCheck: ForH2
4897 wakaba 1.8 @ETQName:
4898 wakaba 1.4 @@@:
4899 wakaba 1.2 xhtml1:h3
4900 wakaba 1.4 @@ForCheck: ForH3
4901 wakaba 1.8 @ETQName:
4902 wakaba 1.4 @@@:
4903 wakaba 1.2 xhtml1:h4
4904 wakaba 1.4 @@ForCheck: ForH4
4905 wakaba 1.8 @ETQName:
4906 wakaba 1.4 @@@:
4907 wakaba 1.2 xhtml1:h5
4908 wakaba 1.4 @@ForCheck: ForH5
4909 wakaba 1.8 @ETQName:
4910 wakaba 1.4 @@@:
4911 wakaba 1.2 xhtml1:h6
4912 wakaba 1.4 @@ForCheck: ForH6
4913 wakaba 1.8
4914     @s:elementType:
4915     @@@: ||ForHTML40SE||ForH1
4916     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
4917     @@ContentType: DISCore|TFPQName
4918     @@DISCore:stopISARecursive:1
4919     @s:elementType:
4920     @@@: ||ForHTML401||ForH1
4921     @@ForCheck: ManakaiDOM|DOM2
4922     @@ContentType: DISCore|TFPQNames
4923     @@DISCore:stopISARecursive:1
4924     @s:elementType:
4925     @@@: ||ForXHTML10SE||ForH1
4926     @@ForCheck: ManakaiDOM|DOM2
4927     @@ContentType: DISCore|TFPQNames
4928     @@DISCore:stopISARecursive:1
4929     @s:elementType:
4930     @@@: ||ForHTML40SE||ForH2
4931     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
4932     @@ContentType: DISCore|TFPQNames
4933     @s:elementType:
4934     @@@: ||ForHTML401||ForH2
4935     @@ForCheck: ManakaiDOM|DOM2
4936     @@ContentType: DISCore|TFPQNames
4937     @s:elementType:
4938     @@@: ||ForXHTML10SE||ForH2
4939     @@ForCheck: ManakaiDOM|DOM2
4940     @@ContentType: DISCore|TFPQNames
4941     @s:elementType:
4942     @@@: ||ForHTML40SE||ForH3
4943     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
4944     @@ContentType: DISCore|TFPQNames
4945     @s:elementType:
4946     @@@: ||ForHTML401||ForH3
4947     @@ForCheck: ManakaiDOM|DOM2
4948     @@ContentType: DISCore|TFPQNames
4949     @s:elementType:
4950     @@@: ||ForXHTML10SE||ForH3
4951     @@ForCheck: ManakaiDOM|DOM2
4952     @@ContentType: DISCore|TFPQNames
4953     @s:elementType:
4954     @@@: ||ForHTML40SE||ForH4
4955     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
4956     @@ContentType: DISCore|TFPQNames
4957     @s:elementType:
4958     @@@: ||ForHTML401||ForH4
4959     @@ForCheck: ManakaiDOM|DOM2
4960     @@ContentType: DISCore|TFPQNames
4961     @s:elementType:
4962     @@@: ||ForXHTML10SE||ForH4
4963     @@ForCheck: ManakaiDOM|DOM2
4964     @@ContentType: DISCore|TFPQNames
4965     @s:elementType:
4966     @@@: ||ForHTML40SE||ForH5
4967     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
4968     @@ContentType: DISCore|TFPQNames
4969     @s:elementType:
4970     @@@: ||ForHTML401||ForH5
4971     @@ForCheck: ManakaiDOM|DOM2
4972     @@ContentType: DISCore|TFPQNames
4973     @s:elementType:
4974     @@@: ||ForXHTML10SE||ForH5
4975     @@ForCheck: ManakaiDOM|DOM2
4976     @@ContentType: DISCore|TFPQNames
4977     @s:elementType:
4978     @@@: ||ForHTML40SE||ForH6
4979     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
4980     @@ContentType: DISCore|TFPQNames
4981     @s:elementType:
4982     @@@: ||ForHTML401||ForH6
4983     @@ForCheck: ManakaiDOM|DOM2
4984     @@ContentType: DISCore|TFPQNames
4985     @s:elementType:
4986     @@@: ||ForXHTML10SE||ForH6
4987     @@ForCheck: ManakaiDOM|DOM2
4988     @@ContentType: DISCore|TFPQNames
4989 wakaba 1.4
4990     @IFQName: HTMLHeadingElement
4991     @ClsQName: ManakaiDOMHTMLHeadingElement
4992     @ISAHTMLElement:
4993    
4994 wakaba 1.11 @Attrs:
4995 wakaba 1.1 @@Name: align
4996 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForH1
4997     @@docAttrP2S: ||ForHTML401||ForH1
4998     @@docAttrP2X: ||ForXHTML10SE||ForH1
4999     @@docAttrP1S: ||ForHTML40SE||ForH2
5000     @@docAttrP2S: ||ForHTML401||ForH2
5001     @@docAttrP2X: ||ForXHTML10SE||ForH2
5002     @@docAttrP1S: ||ForHTML40SE||ForH3
5003     @@docAttrP2S: ||ForHTML401||ForH3
5004     @@docAttrP2X: ||ForXHTML10SE||ForH3
5005     @@docAttrP1S: ||ForHTML40SE||ForH4
5006     @@docAttrP2S: ||ForHTML401||ForH4
5007     @@docAttrP2X: ||ForXHTML10SE||ForH4
5008     @@docAttrP1S: ||ForHTML40SE||ForH5
5009     @@docAttrP2S: ||ForHTML401||ForH5
5010     @@docAttrP2X: ||ForXHTML10SE||ForH5
5011     @@docAttrP1S: ||ForHTML40SE||ForH6
5012     @@docAttrP2S: ||ForHTML401||ForH6
5013     @@docAttrP2X: ||ForXHTML10SE||ForH6
5014 wakaba 1.4 @@Deprecated:
5015 wakaba 1.11 @@ReflectEnum:
5016 wakaba 1.1 @@Get:
5017     @@Set:
5018 wakaba 1.11
5019     ElementTypeBinding:
5020     @Name: docAttrP1S
5021     @ElementType:
5022     dis:DocAttr
5023     @ShadowContent:
5024     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
5025     @@ContentType: DISCore|TFPQNames
5026     ElementTypeBinding:
5027 wakaba 1.18 @Name: docAttrP2S
5028 wakaba 1.11 @ElementType:
5029     dis:DocAttr
5030     @ShadowContent:
5031     @@ForCheck: ManakaiDOM|DOM2
5032     @@ContentType: DISCore|TFPQNames
5033     ElementTypeBinding:
5034     @Name: docAttrP2X
5035     @ElementType:
5036     dis:DocAttr
5037     @ShadowContent:
5038     @@ForCheck: ManakaiDOM|DOM2
5039     @@ContentType: DISCore|TFPQNames
5040 wakaba 1.2
5041 wakaba 1.17 IFDef:
5042     @IFQName: HTMLBlockquoteElement
5043     @IFISA: HTMLElement
5044 wakaba 1.4
5045 wakaba 1.3 @Description:
5046     @@lang:en
5047     @@@:
5048 wakaba 1.15 The <IF::HTMLBlockquoteElement> interface was contained
5049 wakaba 1.3 in the DOM Level 1 First Edition by error. The
5050 wakaba 1.15 <IF::HTMLQuoteElement> interface should must used instead.
5051     <SRC::DOM Level 1 Errata>
5052 wakaba 1.3 @Attr:
5053     @@Name:cite
5054     @@Get:
5055     @@@Type:
5056     DOMMain:DOMString
5057     @@Set:
5058     @@@Type:
5059     DOMMain:DOMString
5060 wakaba 1.4 @ForCheck:
5061     =ManakaiDOM:DOM1
5062    
5063     ForDef:
5064     @QName:
5065     DOMHTML:ForBlockquote
5066 wakaba 1.17 @ISA: DOMHTML|ForAnET
5067 wakaba 1.4 ForDef:
5068     @QName:
5069     DOMHTML:ForQ
5070 wakaba 1.17 @ISA: DOMHTML|ForAnET
5071 wakaba 1.3
5072 wakaba 1.18 IfCls1ETsDef:
5073 wakaba 1.4 @rdf:type:
5074     @@@:
5075     dis:MultipleResource
5076     @@ForCheck: ForHTML
5077     @@ForCheck:
5078     !ManakaiDOM:ForIF !ManakaiDOM:ForClass
5079     !ForBlockquote !ForQ
5080     @resourceFor:
5081     @@@:ForBlockquote
5082     @@ForCheck:ForHTML
5083     @resourceFor:
5084     @@@:ForQ
5085     @@ForCheck:ForHTML
5086     @rdf:type:
5087 wakaba 1.17 @@@: s|ElementType
5088     @@ForCheck: ForAnET
5089 wakaba 1.4
5090     @ETQName:
5091     @@@:
5092 wakaba 1.2 xhtml1:blockquote
5093 wakaba 1.4 @@ForCheck:ForBlockquote
5094     @ETQName:
5095     @@@:
5096 wakaba 1.2 xhtml1:q
5097 wakaba 1.4 @@ForCheck:ForQ
5098    
5099     @IFQName: HTMLQuoteElement
5100     @ClsQName: ManakaiDOMHTMLQuoteElement
5101     @ISAHTMLElement:
5102    
5103 wakaba 1.8 @s:elementType:
5104     @@@: ||ForHTML40SE||ForBlockquote
5105     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
5106     @@ContentType: DISCore|TFPQNames
5107     @@DISCore:stopISARecursive:1
5108     @s:elementType:
5109     @@@: ||ForHTML401||ForBlockquote
5110     @@ForCheck: ManakaiDOM|DOM2
5111     @@ContentType: DISCore|TFPQNames
5112     @@DISCore:stopISARecursive:1
5113     @s:elementType:
5114     @@@: ||ForXHTML10SE||ForBlockquote
5115     @@ForCheck: ManakaiDOM|DOM2
5116     @@ContentType: DISCore|TFPQNames
5117     @@DISCore:stopISARecursive:1
5118    
5119     @s:elementType:
5120     @@@: ||ForHTML40SE||ForQ
5121     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
5122     @@ContentType: DISCore|TFPQNames
5123     @s:elementType:
5124     @@@: ||ForHTML401||ForQ
5125     @@ForCheck: ManakaiDOM|DOM2
5126     @@ContentType: DISCore|TFPQNames
5127     @s:elementType:
5128     @@@: ||ForXHTML10SE||ForQ
5129     @@ForCheck: ManakaiDOM|DOM2
5130     @@ContentType: DISCore|TFPQNames
5131    
5132 wakaba 1.11 @Attrs:
5133 wakaba 1.1 @@Name: cite
5134 wakaba 1.11 @@ReflectURI:
5135     @@docAttrP1S: ||ForHTML40SE||ForQ
5136     @@docAttrP2S: ||ForHTML401||ForQ
5137     @@docAttrP2X: ||ForXHTML10SE||ForQ
5138     @@docAttrP1S: ||ForHTML40SE||ForBlockquote
5139     @@docAttrP2S: ||ForHTML401||ForBlockquote
5140     @@docAttrP2X: ||ForXHTML10SE||ForBlockquote
5141 wakaba 1.1 @@Get:
5142     @@Set:
5143 wakaba 1.2
5144 wakaba 1.8 ElementTypeBinding:
5145     @Name: elementType
5146     @ElementType:
5147     s:elementType
5148     @ShadowContent:
5149     @@DISCore:stopISARecursive:1
5150    
5151 wakaba 1.17 IfCls1ETDef:
5152 wakaba 1.4 @ETQName:
5153     xhtml1:pre
5154     @IFQName: HTMLPreElement
5155     @ClsQName: ManakaiDOMHTMLPreElement
5156     @ISAHTMLElement:
5157    
5158     @ATTR:
5159 wakaba 1.1 @@Name: width
5160 wakaba 1.4 @@Deprecated:1
5161 wakaba 1.11 @@ReflectNumeric:
5162 wakaba 1.1 @@Get:
5163     @@Set:
5164 wakaba 1.2
5165 wakaba 1.17 IfCls1ETDef:
5166 wakaba 1.4 @ETQName:
5167     xhtml1:br
5168     @IFQName: HTMLBRElement
5169     @ClsQName:ManakaiDOMHTMLBRElement
5170     @ISAHTMLElement:
5171    
5172     @ATTR:
5173 wakaba 1.1 @@Name: clear
5174 wakaba 1.4 @@Deprecated:1
5175 wakaba 1.11 @@ReflectCDATA:
5176 wakaba 1.1 @@Get:
5177     @@Set:
5178 wakaba 1.2
5179 wakaba 1.17 IfCls12ETDef:
5180 wakaba 1.4 @ETQName:
5181     xhtml1:basefont
5182     @IFQName: HTMLBaseFontElement
5183     @ClsQName:ManakaiDOMHTMLBaseFontElement
5184     @ISAHTMLElement:
5185     @Deprecated:
5186    
5187     @ATTR:
5188 wakaba 1.1 @@Name: color
5189 wakaba 1.4 @@Deprecated:
5190 wakaba 1.11 @@ReflectCDATA:
5191 wakaba 1.1 @@Get:
5192     @@Set:
5193 wakaba 1.7 @ATTR:
5194 wakaba 1.1 @@Name: face
5195 wakaba 1.4 @@Deprecated:
5196 wakaba 1.11 @@ReflectCDATA:
5197 wakaba 1.1 @@Get:
5198     @@Set:
5199 wakaba 1.4 @ATTR:
5200 wakaba 1.1 @@Name: size
5201 wakaba 1.2 @@Description:
5202     @@@lang:en
5203     @@@@:Computed font size.
5204 wakaba 1.4 @@@For:
5205     ManakaiDOM:DOM2
5206     @@Deprecated:
5207 wakaba 1.11 @@Type:
5208     @@@@:
5209     DOMMain:long
5210     @@@For:
5211     ManakaiDOM:DOM2
5212     @@actualType:
5213     @@@@: Numeric
5214     @@@For: ManakaiDOM|DOM2
5215     @@Type:
5216     @@@@:
5217     DOMMain:DOMString
5218     @@@For:
5219     ManakaiDOM:DOM1 !ManakaiDOM:DOM2
5220     @@actualType:
5221     @@@@: CDATADOMString
5222     @@@For: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
5223 wakaba 1.1 @@Get:
5224 wakaba 1.11 @@@ImplNote:
5225     @@@@lang:en
5226     @@@@@:
5227     TODO: Computed value should be returned.
5228 wakaba 1.15 In DOM Level 1, it was <EM::not> the computed value
5229     and the type was <TYPE::DOMString>.
5230 wakaba 1.1 @@Set:
5231     @@Level[list]:
5232 wakaba 1.2 1
5233 wakaba 1.1 2
5234     @@SpecLevel[list]:
5235 wakaba 1.2 1
5236 wakaba 1.1 2
5237 wakaba 1.2
5238 wakaba 1.17 IfCls1ETDef:
5239 wakaba 1.4 @ETQName:
5240     xhtml1:font
5241     @IFQName: HTMLFontElement
5242     @ClsQName:ManakaiDOMHTMLFontElement
5243     @ISAHTMLElement:
5244     @Deprecated:
5245    
5246     @ATTR:
5247 wakaba 1.1 @@Name: color
5248 wakaba 1.4 @@Deprecated:
5249 wakaba 1.11 @@ReflectCDATA:
5250 wakaba 1.1 @@Get:
5251     @@Set:
5252 wakaba 1.7 @ATTR:
5253 wakaba 1.1 @@Name: face
5254 wakaba 1.4 @@Deprecated:
5255 wakaba 1.11 @@ReflectCDATA:
5256 wakaba 1.1 @@Get:
5257     @@Set:
5258 wakaba 1.7 @ATTR:
5259 wakaba 1.1 @@Name: size
5260 wakaba 1.4 @@Deprecated:
5261 wakaba 1.2 @@ImplNote:
5262     @@@lang:en
5263     @@@@:
5264 wakaba 1.15 This is <EM::not> the computed size.
5265 wakaba 1.11 @@ReflectCDATA:
5266 wakaba 1.1 @@Get:
5267     @@Set:
5268 wakaba 1.2
5269 wakaba 1.17 IfCls1ETDef:
5270 wakaba 1.4 @ETQName:
5271     xhtml1:hr
5272     @IFQName: HTMLHRElement
5273     @ClsQName:ManakaiDOMHTMLHRElement
5274     @ISAHTMLElement:
5275    
5276     @ATTR:
5277 wakaba 1.1 @@Name: align
5278 wakaba 1.4 @@Deprecated:
5279 wakaba 1.11 @@ReflectEnum:
5280 wakaba 1.1 @@Get:
5281     @@Set:
5282 wakaba 1.4 @ATTR:
5283     @@AName:noshade
5284     @@DOMAName: noShade
5285 wakaba 1.17 @@plAName: noshade
5286 wakaba 1.4 @@Deprecated:
5287 wakaba 1.11 @@ReflectBoolean:
5288 wakaba 1.1 @@Get:
5289     @@@InCase:
5290     @@@@Value: true
5291     @@@InCase:
5292     @@@@Value: false
5293     @@Set:
5294     @@@InCase:
5295     @@@@Value: true
5296     @@@InCase:
5297     @@@@Value: false
5298 wakaba 1.4 @ATTR:
5299 wakaba 1.1 @@Name: size
5300 wakaba 1.4 @@Deprecated:
5301 wakaba 1.11 @@ReflectCDATA:
5302 wakaba 1.1 @@Get:
5303     @@Set:
5304 wakaba 1.4 @ATTR:
5305 wakaba 1.1 @@Name: width
5306 wakaba 1.4 @@Deprecated:
5307 wakaba 1.11 @@ReflectCDATA:
5308 wakaba 1.1 @@Get:
5309     @@Set:
5310 wakaba 1.2
5311 wakaba 1.4 ForDef:
5312     @QName:
5313     DOMHTML:ForIns
5314 wakaba 1.17 @ISA: DOMHTML|ForAnET
5315 wakaba 1.4 ForDef:
5316     @QName:
5317     DOMHTML:ForDel
5318 wakaba 1.17 @ISA: DOMHTML|ForAnET
5319 wakaba 1.4
5320 wakaba 1.18 IfCls1ETsDef:
5321 wakaba 1.4 @rdf:type:
5322     @@@:
5323     dis:MultipleResource
5324     @@ForCheck:
5325     !ManakaiDOM:ForIF !ManakaiDOM:ForClass
5326     !ForIns !ForDel
5327     @@For: ForHTML
5328     @resourceFor:
5329     @@@: ForIns
5330     @@For:ForHTML
5331     @resourceFor:
5332     @@@: ForDel
5333     @@For:ForHTML
5334     @rdf:type:
5335     @@@:
5336     s:ElementType
5337 wakaba 1.17 @@ForCheck: ForAnET
5338 wakaba 1.4
5339     @ETQName:
5340     @@@:
5341 wakaba 1.2 xhtml1:ins
5342 wakaba 1.4 @@ForCheck:ForIns
5343     @ETQName:
5344     @@@:
5345 wakaba 1.2 xhtml1:del
5346 wakaba 1.4 @@ForCheck:ForDel
5347    
5348 wakaba 1.8 @elementType:
5349     @@@: ||ForHTML40SE||ForIns
5350     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
5351     @@ContentType: DISCore|TFPQNames
5352     @elementType:
5353     @@@: ||ForHTML401||ForIns
5354     @@ForCheck: ManakaiDOM|DOM2
5355     @@ContentType: DISCore|TFPQNames
5356     @elementType:
5357     @@@: ||ForXHTML10SE||ForIns
5358     @@ForCheck: ManakaiDOM|DOM2
5359     @@ContentType: DISCore|TFPQNames
5360    
5361     @elementType:
5362     @@@: ||ForHTML40SE||ForDel
5363     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
5364     @@ContentType: DISCore|TFPQNames
5365     @elementType:
5366     @@@: ||ForHTML401||ForDel
5367     @@ForCheck: ManakaiDOM|DOM2
5368     @@ContentType: DISCore|TFPQNames
5369     @elementType:
5370     @@@: ||ForXHTML10SE||ForDel
5371     @@ForCheck: ManakaiDOM|DOM2
5372     @@ContentType: DISCore|TFPQNames
5373    
5374 wakaba 1.4 @IFQName: HTMLModElement
5375     @ClsQName:ManakaiDOMHTMLModElement
5376     @ISAHTMLElement:
5377    
5378 wakaba 1.11 @Attrs:
5379 wakaba 1.1 @@Name: cite
5380 wakaba 1.11 @@ReflectURI:
5381 wakaba 1.1 @@Get:
5382     @@Set:
5383 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForIns
5384     @@docAttrP2S: ||ForHTML401||ForIns
5385     @@docAttrP2X: ||ForXHTML10SE||ForIns
5386     @@docAttrP1S: ||ForHTML40SE||ForDel
5387     @@docAttrP2S: ||ForHTML401||ForDel
5388     @@docAttrP2X: ||ForXHTML10SE||ForDel
5389     @Attrs:
5390 wakaba 1.4 @@AName: datetime
5391     @@DOMAName: dateTime
5392 wakaba 1.11 @@ReflectCDATA:
5393 wakaba 1.1 @@Get:
5394     @@Set:
5395 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForIns
5396     @@docAttrP2S: ||ForHTML401||ForIns
5397     @@docAttrP2X: ||ForXHTML10SE||ForIns
5398     @@docAttrP1S: ||ForHTML40SE||ForDel
5399     @@docAttrP2S: ||ForHTML401||ForDel
5400     @@docAttrP2X: ||ForXHTML10SE||ForDel
5401 wakaba 1.2
5402 wakaba 1.17 IfCls1ETDef:
5403 wakaba 1.4 @ETQName:
5404     xhtml1:a
5405     @IFQName: HTMLAnchorElement
5406     @ClsQName:ManakaiDOMHTMLAnchorElement
5407     @ISAHTMLElement:
5408    
5409     @ATTR:
5410     @@AName:accesskey
5411     @@DOMAName: accessKey
5412 wakaba 1.17 @@plAName: accesskey
5413 wakaba 1.11 @@ReflectCDATA:
5414 wakaba 1.1 @@Get:
5415     @@Set:
5416 wakaba 1.4 @ATTR:
5417 wakaba 1.1 @@Name: charset
5418 wakaba 1.11 @@ReflectCDATA:
5419 wakaba 1.1 @@Get:
5420     @@Set:
5421 wakaba 1.4 @ATTR:
5422 wakaba 1.1 @@Name: coords
5423 wakaba 1.11 @@ReflectCDATA:
5424 wakaba 1.1 @@Get:
5425     @@Set:
5426 wakaba 1.4 @ATTR:
5427 wakaba 1.1 @@Name: href
5428 wakaba 1.11 @@ReflectURI:
5429 wakaba 1.1 @@Get:
5430     @@Set:
5431 wakaba 1.4 @ATTR:
5432 wakaba 1.1 @@Name: hreflang
5433 wakaba 1.11 @@ReflectCDATA:
5434 wakaba 1.1 @@Get:
5435     @@Set:
5436 wakaba 1.4 @ATTR:
5437 wakaba 1.1 @@Name: name
5438 wakaba 1.11 @@ReflectCDATA:
5439 wakaba 1.1 @@Get:
5440     @@Set:
5441 wakaba 1.4 @ATTR:
5442 wakaba 1.1 @@Name: rel
5443 wakaba 1.11 @@ReflectCDATA:
5444 wakaba 1.1 @@Get:
5445     @@Set:
5446 wakaba 1.4 @ATTR:
5447 wakaba 1.1 @@Name: rev
5448 wakaba 1.11 @@ReflectCDATA:
5449 wakaba 1.1 @@Get:
5450     @@Set:
5451 wakaba 1.4 @ATTR:
5452 wakaba 1.1 @@Name: shape
5453 wakaba 1.11 @@ReflectCDATA:
5454 wakaba 1.1 @@Get:
5455     @@Set:
5456 wakaba 1.4 @ATTR:
5457     @@AName:tabindex
5458     @@DOMAName: tabIndex
5459 wakaba 1.17 @@plAName: tabindex
5460 wakaba 1.11 @@ReflectNumeric:
5461 wakaba 1.1 @@Get:
5462     @@Set:
5463 wakaba 1.4 @ATTR:
5464 wakaba 1.1 @@Name: target
5465 wakaba 1.11 @@ReflectCDATA:
5466 wakaba 1.1 @@Get:
5467     @@Set:
5468 wakaba 1.4 @ATTR:
5469 wakaba 1.1 @@Name: type
5470 wakaba 1.11 @@ReflectCDATA:
5471 wakaba 1.1 @@Get:
5472     @@Set:
5473     @Method:
5474     @@Name: blur
5475 wakaba 1.4 @@Description:
5476 wakaba 1.2 @@@lang:en
5477     @@@@:Remove the focus from this element.
5478     @@Return:
5479 wakaba 1.1 @Method:
5480     @@Name: focus
5481 wakaba 1.2 @@Description:
5482     @@@lang:en
5483     @@@@:Give the focus to this element.
5484     @@Return:
5485 wakaba 1.17 ##HTMLAnchorElement
5486 wakaba 1.2
5487 wakaba 1.11 IF:
5488 wakaba 1.17 @For: !ManakaiDOM|all
5489    
5490 wakaba 1.11 @IFQName: HTMLAnchorElementExtended
5491     @ClsQName: ManakaiDOMHTMLAnchorElementExtended
5492    
5493     @IFISA: HTMLAnchorElement
5494     @IFISA: HTMLStrictlyInlineContainerExtended
5495    
5496     @ClsISA: ManakaiDOMHTMLAnchorElement
5497     @ClsISA: ManakaiDOMHTMLStrictlyInlineContainerExtended
5498     ##HTMLAnchorElementExtended
5499    
5500 wakaba 1.17 IfCls12ETDef:
5501 wakaba 1.4 @ETQName:
5502     xhtml1:img
5503     @IFQName: HTMLImageElement
5504     @ClsQName:ManakaiDOMHTMLImageElement
5505     @ISAHTMLElement:
5506    
5507 wakaba 1.11 @ResourceDef:
5508     @@rdf:type:
5509 wakaba 1.17 @@@@: DISLang|Attribute
5510 wakaba 1.11 @@@ForCheck: ManakaiDOM|DOM
5511    
5512     @@For: ManakaiDOM|DOM1
5513    
5514     @@rdf:type:
5515     @@@@: s|Attribute
5516     @@@ForCheck: ForHTML
5517    
5518     @@For: ForHTML401
5519     @@For: ForXHTML10SE
5520     @@enImplNote: Does 10SE defines this attr?
5521    
5522 wakaba 1.1 @@Name: name
5523 wakaba 1.2 @@Description:
5524     @@@lang:en
5525     @@@@:
5526     The name of the element.
5527     \
5528     {NOTE:: This attribute is provided for backwards compatibility.
5529 wakaba 1.15 Whilst HTML 4.01 added the <HA::name> attribute
5530 wakaba 1.2 for compatibility, the DOM HTML Specifications
5531     does not address this fact - i.e. HTML's and DOM's
5532 wakaba 1.15 <CODE::name> attributes are not formally associated.
5533 wakaba 1.2 \
5534     }
5535     @@DocAttr:
5536 wakaba 1.4 @@@@:
5537     ::ForHTML401
5538     @@@For:
5539     ManakaiDOM:ManakaiDOMLatest
5540     @@DocAttr:
5541     @@@@:
5542     ::ForXHTML10SE
5543     @@@For:
5544     ManakaiDOM:ManakaiDOMLatest
5545 wakaba 1.11 @@ReflectCDATA:
5546 wakaba 1.1 @@Get:
5547     @@Set:
5548 wakaba 1.4 @ATTR:
5549 wakaba 1.1 @@Name: align
5550 wakaba 1.4 @@Deprecated:
5551 wakaba 1.11 @@ReflectEnum:
5552 wakaba 1.1 @@Get:
5553     @@Set:
5554 wakaba 1.4 @ATTR:
5555 wakaba 1.1 @@Name: alt
5556 wakaba 1.11 @@ReflectCDATA:
5557 wakaba 1.1 @@Get:
5558     @@Set:
5559 wakaba 1.4 @ATTR:
5560 wakaba 1.1 @@Name: border
5561 wakaba 1.4 @@Deprecated:
5562 wakaba 1.11 @@ReflectCDATA:
5563 wakaba 1.1 @@Get:
5564     @@Set:
5565 wakaba 1.2 @@ImplNote:
5566     @@@lang:en
5567     @@@@:
5568 wakaba 1.15 The type is <TYPE::DOMString> in both DOM Levels 1 and 2.
5569 wakaba 1.4 @ATTR:
5570 wakaba 1.1 @@Name: height
5571 wakaba 1.4 @@Deprecated:
5572 wakaba 1.11 @@ReflectStringLong:
5573 wakaba 1.1 @@Get:
5574     @@Set:
5575     @@Level[list]:
5576 wakaba 1.2 1
5577 wakaba 1.1 2
5578     @@SpecLevel[list]:
5579 wakaba 1.2 1
5580 wakaba 1.1 2
5581 wakaba 1.4 @ATTR:
5582 wakaba 1.1 @@Name: hspace
5583 wakaba 1.4 @@Deprecated:
5584 wakaba 1.11 @@ReflectStringLong:
5585 wakaba 1.1 @@Get:
5586 wakaba 1.4 @@Set:
5587 wakaba 1.1 @@Level[list]:
5588 wakaba 1.2 1
5589 wakaba 1.1 2
5590     @@SpecLevel[list]:
5591 wakaba 1.2 1
5592 wakaba 1.1 2
5593 wakaba 1.4 @ATTR:
5594     @@AName:ismap
5595     @@DOMAName: isMap
5596 wakaba 1.17 @@plAName: ismap
5597 wakaba 1.11 @@ReflectBoolean:
5598 wakaba 1.1 @@Get:
5599     @@@InCase:
5600     @@@@Value: true
5601     @@@InCase:
5602     @@@@Value: false
5603     @@Set:
5604     @@@InCase:
5605     @@@@Value: true
5606     @@@InCase:
5607     @@@@Value: false
5608 wakaba 1.4 @ATTR:
5609     @@AName:longdesc
5610     @@DOMAName: longDesc
5611 wakaba 1.17 @@plAName: longdesc
5612 wakaba 1.11 @@ReflectURI:
5613 wakaba 1.1 @@Get:
5614     @@Set:
5615 wakaba 1.4 @ATTR:
5616 wakaba 1.1 @@Name: src
5617 wakaba 1.11 @@ReflectURI:
5618 wakaba 1.1 @@Get:
5619     @@Set:
5620 wakaba 1.4 @ATTR:
5621     @@AName:usemap
5622     @@DOMAName: useMap
5623 wakaba 1.17 @@plAName: usemap
5624 wakaba 1.11 @@ReflectURI:
5625 wakaba 1.1 @@Get:
5626     @@Set:
5627 wakaba 1.2 @@ImplNote:
5628     @@@lang:en
5629     @@@@:
5630 wakaba 1.15 The HTML 4 and XHTML 1.0 <HA::usemap> attribute value is
5631     of <SGML::%URI;>, while the XHTML m12n <HA::usemap> value
5632     is <XML::IDREF>.
5633 wakaba 1.4 @ATTR:
5634 wakaba 1.1 @@Name: vspace
5635 wakaba 1.4 @@Deprecated:
5636 wakaba 1.11 @@ReflectStringLong:
5637 wakaba 1.1 @@Get:
5638     @@Set:
5639     @@Level[list]:
5640 wakaba 1.2 1
5641 wakaba 1.1 2
5642     @@SpecLevel[list]:
5643 wakaba 1.2 1
5644 wakaba 1.1 2
5645     @Attr:
5646     @@Name: width
5647 wakaba 1.4 @@Deprecated:
5648 wakaba 1.11 @@ReflectStringLong:
5649 wakaba 1.1 @@Get:
5650     @@Set:
5651     @@Level[list]:
5652 wakaba 1.2 1
5653 wakaba 1.1 2
5654     @@SpecLevel[list]:
5655 wakaba 1.2 1
5656 wakaba 1.1 2
5657 wakaba 1.17 ##HTMLImageElement
5658 wakaba 1.2
5659 wakaba 1.11 ElementTypeBinding:
5660     @Name: ReflectStringLong
5661     @ElementType:
5662     dis:Type
5663     @ShadowContent:
5664     @@@: DOMMain|long
5665     @@For: ManakaiDOM|DOM2
5666     @ShadowSibling:
5667     @@actualType:
5668     @@@@: Numeric
5669     @@@For: ManakaiDOM|DOM2
5670     @@Type:
5671     @@@@: DOMMain|DOMString
5672     @@@For: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
5673     @@actualType:
5674     @@@@: CDATADOMString
5675     @@@For: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
5676    
5677 wakaba 1.18 IfCls1ETDef:
5678 wakaba 1.4 @ETQName:
5679     xhtml1:object
5680     @IFQName: HTMLObjectElement
5681     @ClsQName:ManakaiDOMHTMLObjectElement
5682     @ISAHTMLElement:
5683    
5684 wakaba 1.2 @ImplNote:
5685     @@lang:en
5686     @@@:
5687     In some environments some attributes may be read-only
5688     once the underlying object is instantiated.
5689 wakaba 1.1 @Attr:
5690     @@Name: form
5691 wakaba 1.2 @@Description:
5692     @@@lang:en
5693     @@@@:
5694 wakaba 1.15 The <HE::form> element containing this control.
5695 wakaba 1.1 @@Get:
5696 wakaba 1.2 @@@Type:
5697 wakaba 1.4 DOMHTML:HTMLFormElement
5698 wakaba 1.2 @@@Description:
5699     @@@@lang:en
5700     @@@@@:
5701     This control is not within the context of a form.
5702 wakaba 1.1 @Attr:
5703     @@Name: code
5704 wakaba 1.11 @@enDesc:
5705     Applet class file.
5706 wakaba 1.1 @@Get:
5707     @@@Type: DOMString
5708     @@Set:
5709     @@@Type: DOMString
5710 wakaba 1.4 @ATTR:
5711 wakaba 1.1 @@Name: align
5712 wakaba 1.4 @@Deprecated:
5713 wakaba 1.11 @@ReflectEnum:
5714 wakaba 1.1 @@Get:
5715     @@Set:
5716 wakaba 1.4 @ATTR:
5717 wakaba 1.1 @@Name: archive
5718 wakaba 1.11 @@ReflectCDATA:
5719 wakaba 1.1 @@Get:
5720     @@Set:
5721 wakaba 1.4 @ATTR:
5722 wakaba 1.1 @@Name: border
5723 wakaba 1.4 @@Deprecated:
5724 wakaba 1.11 @@ReflectCDATA:
5725 wakaba 1.1 @@Get:
5726     @@Set:
5727 wakaba 1.4 @ATTR:
5728     @@AName:codebase
5729     @@DOMAName: codeBase
5730 wakaba 1.17 @@plAName: codebase
5731 wakaba 1.11 @@ReflectURI:
5732 wakaba 1.1 @@Get:
5733     @@Set:
5734 wakaba 1.4 @ATTR:
5735     @@AName:codetype
5736     @@DOMAName: codeType
5737 wakaba 1.17 @@plAName: codetype
5738 wakaba 1.11 @@ReflectCDATA:
5739 wakaba 1.1 @@Get:
5740     @@Set:
5741 wakaba 1.4 @ATTR:
5742 wakaba 1.1 @@Name: data
5743 wakaba 1.11 @@ReflectURI:
5744     @@@ImplNote: Relative to codebase
5745 wakaba 1.1 @@Get:
5746     @@Set:
5747 wakaba 1.4 @ATTR:
5748 wakaba 1.1 @@Name: declare
5749 wakaba 1.11 @@ReflectBoolean:
5750 wakaba 1.1 @@Get:
5751     @@@InCase:
5752     @@@@Value: true
5753     @@@InCase:
5754     @@@@Value: false
5755     @@Set:
5756     @@@InCase:
5757     @@@@Value: true
5758     @@@InCase:
5759     @@@@Value: false
5760 wakaba 1.4 @ATTR:
5761 wakaba 1.1 @@Name: height
5762 wakaba 1.4 @@Deprecated:
5763 wakaba 1.11 @@ReflectCDATA:
5764 wakaba 1.1 @@Get:
5765     @@Set:
5766 wakaba 1.4 @ATTR:
5767 wakaba 1.1 @@Name: hspace
5768 wakaba 1.4 @@Deprecated:
5769 wakaba 1.11 @@ReflectNumeric:
5770 wakaba 1.1 @@Get:
5771     @@Set:
5772 wakaba 1.4 @ATTR:
5773 wakaba 1.1 @@Name: name
5774 wakaba 1.11 @@ReflectCDATA:
5775 wakaba 1.1 @@Get:
5776     @@Set:
5777 wakaba 1.4 @ATTR:
5778     @@AName:standby
5779     @@DOMAName: standby
5780 wakaba 1.11 @@ReflectCDATA:
5781 wakaba 1.1 @@Get:
5782     @@Set:
5783 wakaba 1.4 @ATTR:
5784     @@AName:tabindex
5785     @@DOMAName: tabIndex
5786 wakaba 1.11 @@ReflectNumeric:
5787 wakaba 1.1 @@Get:
5788     @@Set:
5789 wakaba 1.4 @ATTR:
5790 wakaba 1.1 @@Name: type
5791 wakaba 1.11 @@ReflectCDATA:
5792 wakaba 1.1 @@Get:
5793     @@Set:
5794     @Attr:
5795 wakaba 1.4 @@AName:usemap
5796     @@DOMAName: useMap
5797 wakaba 1.17 @@plAName: usemap
5798 wakaba 1.11 @@ReflectURI:
5799 wakaba 1.1 @@Get:
5800     @@Set:
5801 wakaba 1.2 @@ImplNote:
5802     @@@lang:en
5803     @@@@:
5804 wakaba 1.15 In HTML 4 or XHTML 1.0, the <HA::usemap> attribute is
5805     a <SGML::%URI;>. In XHTML m12n, the <HA::usemap>
5806     is an <XML::IDREF>.
5807 wakaba 1.4 @ATTR:
5808 wakaba 1.1 @@Name: vspace
5809 wakaba 1.4 @@Deprecated:
5810 wakaba 1.11 @@ReflectNumeric:
5811 wakaba 1.1 @@Get:
5812     @@Set:
5813 wakaba 1.4 @ATTR:
5814 wakaba 1.1 @@Name: width
5815 wakaba 1.11 @@ReflectCDATA:
5816 wakaba 1.1 @@Get:
5817     @@Set:
5818     @Attr:
5819     @@Name: contentDocument
5820 wakaba 1.2 @@Description:
5821     @@@lang:en
5822     @@@@:
5823     The document this object contains, if any and available.
5824 wakaba 1.1 @@Get:
5825     @@@Type: Document
5826 wakaba 1.2 @@@InCase:
5827     @@@@Value:
5828     @@@@@is-null:1
5829     @@@@Description:
5830     @@@@@lang:en
5831     @@@@@@:
5832     There is no containing document or
5833     there is but it is not available.
5834 wakaba 1.4 @@@Def:
5835     @@@@ContentType:
5836     lang:dis
5837     @@@@GetPropNode:
5838     DOMHTML:contentDocument
5839 wakaba 1.1 @@Level[list]: 2
5840     @@SpecLevel[list]: 2
5841 wakaba 1.4 @@L2:
5842 wakaba 1.17 ##HTMLObjectElement
5843 wakaba 1.2
5844 wakaba 1.4 PropDef:
5845 wakaba 1.7 @QName: referrer
5846     @enDesc:
5847     <A::HTMLDocument.referrer>.
5848    
5849     PropDef:
5850 wakaba 1.4 @QName: contentDocument
5851     @Type:
5852     ManakaiDOMCore:ManakaiDOMNodeObjectNode::ManakaiDOM:ManakaiDOMCommon
5853     @Description:
5854     @@lang:en
5855     @@@:
5856     An (external) <IF::Document> node object referred from an element.
5857    
5858 wakaba 1.17 IfCls1ETDef:
5859 wakaba 1.4 @ETQName:
5860     xhtml1:param
5861     @IFQName: HTMLParamElement
5862     @ClsQName:ManakaiDOMHTMLParamElement
5863     @ISAHTMLElement:
5864    
5865     @ATTR:
5866 wakaba 1.1 @@Name: name
5867 wakaba 1.11 @@ReflectCDATA:
5868 wakaba 1.1 @@Get:
5869     @@Set:
5870 wakaba 1.4 @ATTR:
5871 wakaba 1.1 @@Name: type
5872 wakaba 1.11 @@ReflectCDATA:
5873 wakaba 1.1 @@Get:
5874     @@Set:
5875 wakaba 1.4 @ATTR:
5876 wakaba 1.1 @@Name: value
5877 wakaba 1.11 @@ReflectCDATA:
5878 wakaba 1.1 @@Get:
5879     @@Set:
5880 wakaba 1.4 @ATTR:
5881     @@AName:valuetype
5882     @@DOMAName: valueType
5883 wakaba 1.17 @@plAName: valuetype
5884 wakaba 1.11 @@ReflectCDATA:
5885 wakaba 1.1 @@Get:
5886     @@Set:
5887 wakaba 1.2
5888 wakaba 1.17 IfCls12ETDef:
5889 wakaba 1.4 @ETQName:
5890     xhtml1:applet
5891     @IFQName: HTMLAppletElement
5892     @ClsQName:ManakaiDOMHTMLAppletElement
5893     @ISAHTMLElement:
5894     @Deprecated:
5895    
5896     @ATTR:
5897 wakaba 1.1 @@Name: align
5898 wakaba 1.4 @@Deprecated:
5899 wakaba 1.11 @@ReflectEnum:
5900 wakaba 1.1 @@Get:
5901     @@Set:
5902 wakaba 1.4 @ATTR:
5903 wakaba 1.1 @@Name: alt
5904 wakaba 1.4 @@Deprecated:
5905 wakaba 1.11 @@ReflectCDATA:
5906 wakaba 1.1 @@Get:
5907     @@Set:
5908 wakaba 1.4 @ATTR:
5909 wakaba 1.1 @@Name: archive
5910 wakaba 1.4 @@Deprecated:
5911 wakaba 1.11 @@ReflectCDATA:
5912 wakaba 1.1 @@Get:
5913     @@Set:
5914 wakaba 1.4 @ATTR:
5915 wakaba 1.1 @@Name: code
5916 wakaba 1.4 @@Deprecated:
5917 wakaba 1.11 @@ReflectCDATA:
5918     @@@ImplNote: URI?
5919 wakaba 1.1 @@Get:
5920     @@Set:
5921 wakaba 1.4 @ATTR:
5922     @@AName:codebase
5923     @@DOMAName: codeBase
5924 wakaba 1.17 @@plAName: codebase
5925 wakaba 1.4 @@Deprecated:
5926 wakaba 1.11 @@ReflectURI:
5927 wakaba 1.1 @@Get:
5928     @@Set:
5929 wakaba 1.4 @ATTR:
5930 wakaba 1.2 @@Name: height
5931 wakaba 1.4 @@Deprecated:
5932 wakaba 1.11 @@ReflectCDATA:
5933     @@Get:
5934 wakaba 1.1 @@Set:
5935 wakaba 1.4 @ATTR:
5936 wakaba 1.1 @@Name: hspace
5937 wakaba 1.4 @@Deprecated:
5938 wakaba 1.11 @@ReflectStringLong:
5939 wakaba 1.1 @@Get:
5940 wakaba 1.4 @@Set:
5941 wakaba 1.1 @@Level[list]:
5942 wakaba 1.2 1
5943 wakaba 1.1 2
5944     @@SpecLevel[list]:
5945 wakaba 1.2 1
5946 wakaba 1.1 2
5947 wakaba 1.4 @ATTR:
5948 wakaba 1.1 @@Name: name
5949 wakaba 1.4 @@Deprecated:
5950 wakaba 1.11 @@ReflectCDATA:
5951 wakaba 1.1 @@Get:
5952     @@Set:
5953     @Attr:
5954     @@Name: object
5955 wakaba 1.4 @@Deprecated:
5956 wakaba 1.11 @@ReflectCDATA:
5957 wakaba 1.1 @@Get:
5958     @@Set:
5959     @@Level[list]:
5960 wakaba 1.2 1
5961 wakaba 1.1 @@SpecLevel[list]:
5962 wakaba 1.2 1
5963 wakaba 1.1 2
5964     @Attr:
5965     @@Name: vspace
5966 wakaba 1.4 @@Deprecated:
5967 wakaba 1.11 @@ReflectStringLong:
5968 wakaba 1.1 @@Get:
5969     @@Set:
5970     @@Level[list]:
5971 wakaba 1.2 1
5972 wakaba 1.1 2
5973     @@SpecLevel[list]:
5974 wakaba 1.2 1
5975 wakaba 1.1 2
5976     @Attr:
5977     @@Name: width
5978 wakaba 1.4 @@Deprecated:
5979 wakaba 1.11 @@ReflectCDATA:
5980 wakaba 1.1 @@Get:
5981     @@Set:
5982 wakaba 1.17 ##HTMLAppletElement
5983 wakaba 1.7
5984     ResourceDef:
5985     @QName:
5986     DOMMain:long
5987     @AliasFor:
5988     DOMMain:long::ManakaiDOM:all
5989     @ForCheck:
5990     !=ManakaiDOM:all
5991 wakaba 1.17 @For: ManakaiDOM|DOM
5992 wakaba 1.2
5993 wakaba 1.17 IfCls1ETDef:
5994 wakaba 1.4 @ETQName:
5995     xhtml1:map
5996     @IFQName: HTMLMapElement
5997     @ClsQName:ManakaiDOMHTMLMapElement
5998     @ISAHTMLElement:
5999    
6000 wakaba 1.1 @Attr:
6001     @@Name: areas
6002 wakaba 1.2 @@Description:
6003     @@@lang:en
6004     @@@@:
6005     The list of areas defined for this image map.
6006 wakaba 1.1 @@Get:
6007     @@@Type: HTMLCollection
6008 wakaba 1.4 @ATTR:
6009 wakaba 1.1 @@Name: name
6010 wakaba 1.11 @@ReflectCDATA:
6011 wakaba 1.1 @@Get:
6012     @@Set:
6013 wakaba 1.17 ##HTMLMapElement
6014 wakaba 1.2
6015 wakaba 1.17 IfCls1ETDef:
6016 wakaba 1.4 @ETQName:
6017     xhtml1:area
6018     @IFQName: HTMLAreaElement
6019     @ClsQName:ManakaiDOMAreaElement
6020     @ISAHTMLElement:
6021    
6022     @ATTR:
6023     @@AName: accesskey
6024     @@DOMAName: accessKey
6025 wakaba 1.17 @@plAName: accesskey
6026 wakaba 1.11 @@ReflectCDATA:
6027 wakaba 1.1 @@Get:
6028     @@Set:
6029 wakaba 1.4 @ATTR:
6030 wakaba 1.1 @@Name: alt
6031 wakaba 1.11 @@ReflectCDATA:
6032 wakaba 1.1 @@Get:
6033     @@Set:
6034 wakaba 1.4 @ATTR:
6035 wakaba 1.1 @@Name: coords
6036 wakaba 1.11 @@ReflectCDATA:
6037 wakaba 1.1 @@Get:
6038     @@Set:
6039 wakaba 1.4 @ATTR:
6040 wakaba 1.1 @@Name: href
6041 wakaba 1.11 @@ReflectURI:
6042 wakaba 1.1 @@Get:
6043     @@Set:
6044 wakaba 1.4 @ATTR:
6045     @@AName:nohref
6046     @@DOMAName: noHref
6047 wakaba 1.17 @@plAName: nohref
6048 wakaba 1.11 @@ReflectBoolean:
6049 wakaba 1.1 @@Get:
6050     @@@InCase:
6051     @@@@Value: true
6052     @@@InCase:
6053     @@@@Value: false
6054     @@Set:
6055     @@@InCase:
6056     @@@@Value: true
6057     @@@InCase:
6058     @@@@Value: false
6059 wakaba 1.4 @ATTR:
6060 wakaba 1.11 @@ReflectCDATA:
6061 wakaba 1.1 @@Name: shape
6062     @@Get:
6063     @@Set:
6064     @Attr:
6065 wakaba 1.4 @@AName:tabindex
6066     @@DOMAName: tabIndex
6067 wakaba 1.11 @@ReflectNumeric:
6068 wakaba 1.1 @@Get:
6069     @@Set:
6070 wakaba 1.4 @ATTR:
6071 wakaba 1.1 @@Name: target
6072 wakaba 1.11 @@ReflectCDATA:
6073 wakaba 1.1 @@Get:
6074     @@Set:
6075 wakaba 1.17 ##HTMLAreaElement
6076 wakaba 1.2
6077 wakaba 1.17 IfCls1ETDef:
6078 wakaba 1.4 @ETQName:
6079     xhtml1:script
6080     @IFQName: HTMLScriptElement
6081     @ClsQName:ManakaiDOMHTMLScriptElement
6082     @ISAHTMLElement:
6083    
6084 wakaba 1.1 @Attr:
6085     @@Name: text
6086 wakaba 1.2 @@Description:
6087     @@@lang:en
6088     @@@@:
6089     The script content of this element.
6090     @@ImplNote:
6091     @@@lang:en
6092     @@@@:
6093 wakaba 1.15 ISSUE: How interact with <HA::src>?
6094 wakaba 1.1 @@Get:
6095     @@@Type: DOMString
6096     @@Set:
6097     @@@Type: DOMString
6098     @Attr:
6099 wakaba 1.4 @@DOMAName: htmlFor
6100 wakaba 1.2 @@Description:
6101     @@@lang:en
6102     @@@@:
6103     {NOTE:: Reserved for future use by the DOM HTML Specifications.
6104 wakaba 1.15 The HTML <HA::for> attribute is also reserved
6105 wakaba 1.2 by the HTML 4 Specifications.
6106     \
6107     }
6108 wakaba 1.1 @@Get:
6109     @@@Type: DOMString
6110     @@Set:
6111     @@@Type: DOMString
6112     @Attr:
6113     @@Name: event
6114 wakaba 1.2 @@Description:
6115     @@@lang:en
6116     @@@@:
6117     {NOTE:: Reserved for future use by the DOM HTML Specifications.
6118 wakaba 1.15 The HTML <HA::event> attribute is also reserved
6119 wakaba 1.2 by the HTML 4 Specification.
6120     \
6121     }
6122 wakaba 1.1 @@Get:
6123     @@@Type: DOMString
6124     @@Set:
6125     @@@Type: DOMString
6126 wakaba 1.4 @ATTR:
6127 wakaba 1.1 @@Name: charset
6128 wakaba 1.11 @@ReflectCDATA:
6129 wakaba 1.1 @@Get:
6130     @@Set:
6131 wakaba 1.4 @ATTR:
6132 wakaba 1.1 @@Name: defer
6133 wakaba 1.11 @@ReflectBoolean:
6134 wakaba 1.1 @@Get:
6135     @@@InCase:
6136     @@@@Value: true
6137     @@@InCase:
6138     @@@@Value: false
6139     @@Set:
6140     @@@InCase:
6141     @@@@Value: true
6142     @@@InCase:
6143     @@@@Value: false
6144 wakaba 1.4 @ATTR:
6145 wakaba 1.1 @@Name: src
6146 wakaba 1.11 @@ReflectURI:
6147 wakaba 1.1 @@Get:
6148     @@Set:
6149 wakaba 1.4 @ATTR:
6150 wakaba 1.1 @@Name: type
6151 wakaba 1.11 @@ReflectCDATA:
6152 wakaba 1.1 @@Get:
6153     @@Set:
6154 wakaba 1.17 ##HTMLScriptElement
6155 wakaba 1.2
6156 wakaba 1.17 IfCls1ETDef:
6157 wakaba 1.4 @ETQName:
6158     xhtml1:table
6159     @IFQName: HTMLTableElement
6160     @ClsQName:ManakaiDOMHTMLTableElement
6161     @ISAHTMLElement:
6162    
6163 wakaba 1.1 @Attr:
6164     @@Name: caption
6165 wakaba 1.2 @@Description:
6166     @@@lang:en
6167     @@@@:
6168 wakaba 1.15 The <HE::caption> of the table.
6169 wakaba 1.1 @@Get:
6170     @@@Type: HTMLTableCaptionElement
6171 wakaba 1.2 @@@InCase:
6172     @@@@Label:
6173     @@@@@lang:en
6174     @@@@@@:
6175 wakaba 1.15 void (= <DOM::null>?)
6176 wakaba 1.2 @@@@Description:
6177     @@@@@lang:en
6178     @@@@@@: There is no caption.
6179 wakaba 1.1 @@Set:
6180     @@@Type: HTMLTableCaptionElement
6181     @@@Exception:
6182 wakaba 1.4 @@@@@:
6183     ManakaiDOMHTML:MDOM_NOT_CAPTION
6184     @@@@Description:
6185     @@@@@lang:en
6186     @@@@@@:
6187 wakaba 1.15 The given element is not a <HE::caption>.
6188 wakaba 1.1 @@Level[list]:
6189 wakaba 1.2 1
6190 wakaba 1.1 @@SpecLevel[list]:
6191 wakaba 1.2 1
6192 wakaba 1.1 2
6193     @Attr:
6194     @@Name: tHead
6195 wakaba 1.17 @@plAName: thead
6196 wakaba 1.2 @@Description:
6197     @@@lang:en
6198     @@@@:
6199 wakaba 1.15 The <HE::thead> of this table.
6200 wakaba 1.1 @@Get:
6201     @@@Type: HTMLTableSectionElement
6202 wakaba 1.2 @@@InCase:
6203     @@@@Value:
6204     @@@@@is-null:1
6205     @@@@Description:
6206     @@@@@lang:en
6207     @@@@@@:
6208 wakaba 1.15 There is no <HE::thead>.
6209 wakaba 1.1 @@Set:
6210     @@@Type: HTMLTableSectionElement
6211     @@@Exception:
6212 wakaba 1.2 @@@@Name: HIERARCHY_REQUEST_ERR
6213 wakaba 1.1 @@@@Type:
6214     DOMCore:DOMException
6215 wakaba 1.2 @@@@SubType:
6216     ManakaiDOMHTML:MDOM_BAD_ELEMENT_TYPE
6217     @@@@Description:
6218     @@@@@lang:en
6219     @@@@@@:
6220 wakaba 1.15 The given element is not a <HE::thead>.
6221 wakaba 1.1 @@Level[list]:
6222     1
6223     @@SpecLevel[list]:
6224     1
6225     2
6226     @Attr:
6227     @@Name: tFoot
6228 wakaba 1.17 @@plAName: tfoot
6229 wakaba 1.2 @@Description:
6230     @@@lang:en
6231     @@@@:
6232 wakaba 1.15 The <HE::tfoot> of this table.
6233 wakaba 1.1 @@Get:
6234     @@@Type: HTMLTableSectionElement
6235 wakaba 1.2 @@@InCase:
6236     @@@@Value:
6237     @@@@@is-null:1
6238     @@@@Description:
6239     @@@@@lang:en
6240     @@@@@@:
6241 wakaba 1.15 There is no <HE::tfoot>.
6242 wakaba 1.1 @@Set:
6243     @@@Type: HTMLTableSectionElement
6244     @@@Exception:
6245 wakaba 1.2 @@@@Name: HIERARCHY_REQUEST_ERR
6246 wakaba 1.1 @@@@Type:
6247     DOMCore:DOMException
6248 wakaba 1.2 @@@@SubType:
6249     @@@@@QName:
6250     ManakaiDOMHTML:MDOM_NOT_TFOOT
6251     @@@@@Description:
6252     @@@@@@lang:en
6253     @@@@@@@:
6254 wakaba 1.15 The given element is not a <HE::tfoot>.
6255 wakaba 1.1 @@Level[list]:
6256     1
6257     @@SpecLevel[list]:
6258     1
6259     2
6260     @Attr:
6261     @@Name: rows
6262 wakaba 1.2 @@Description:
6263     @@@lang:en
6264     @@@@:
6265     A collection of all the rows (child or grandchild
6266 wakaba 1.15 <HE::tr> elements) in this table.
6267 wakaba 1.1 @@Get:
6268     @@@Type: HTMLCollection
6269     @Attr:
6270     @@Name: tBodies
6271 wakaba 1.17 @@plAName: tbodies
6272 wakaba 1.2 @@Description:
6273     @@@lang:en
6274     @@@@:
6275     A collection of the table bodies.
6276     @@ImplNote:
6277     @@@lang:en
6278     @@@@:
6279     ISSUE: What is collected if simple table?
6280 wakaba 1.1 @@Get:
6281     @@@Type: HTMLCollection
6282 wakaba 1.4 @ATTR:
6283 wakaba 1.1 @@Name: align
6284 wakaba 1.4 @@Deprecated:
6285 wakaba 1.11 @@ReflectEnum:
6286 wakaba 1.1 @@Get:
6287     @@Set:
6288 wakaba 1.4 @ATTR:
6289     @@AName:bgcolor
6290     @@DOMAName: bgColor
6291 wakaba 1.17 @@plAName: bgcolor
6292 wakaba 1.11 @@ReflectCDATA:
6293 wakaba 1.1 @@Get:
6294     @@Set:
6295 wakaba 1.4 @ATTR:
6296 wakaba 1.1 @@Name: border
6297 wakaba 1.11 @@ReflectCDATA:
6298 wakaba 1.1 @@Get:
6299     @@Set:
6300 wakaba 1.4 @ATTR:
6301     @@AName:cellpadding
6302     @@DOMAName: cellPadding
6303 wakaba 1.17 @@plAName: cellpadding
6304 wakaba 1.11 @@ReflectCDATA:
6305 wakaba 1.1 @@Get:
6306     @@Set:
6307 wakaba 1.4 @ATTR:
6308     @@AName:cellspacing
6309     @@DOMAName: cellSpacing
6310 wakaba 1.17 @@plAName: cellspacing
6311 wakaba 1.11 @@ReflectCDATA:
6312 wakaba 1.1 @@Get:
6313     @@Set:
6314 wakaba 1.4 @ATTR:
6315 wakaba 1.1 @@Name: frame
6316 wakaba 1.11 @@ReflectEnum:
6317 wakaba 1.1 @@Get:
6318     @@Set:
6319 wakaba 1.2 @@ImplNote:
6320     @@@lang:en
6321     @@@@:
6322 wakaba 1.15 How <HTML::border> is implemented in DOM Level 0?
6323 wakaba 1.4 @ATTR:
6324 wakaba 1.1 @@Name: rules
6325 wakaba 1.11 @@ReflectEnum:
6326 wakaba 1.1 @@Get:
6327     @@Set:
6328 wakaba 1.4 @ATTR:
6329 wakaba 1.1 @@Name: summary
6330 wakaba 1.11 @@ReflectCDATA:
6331 wakaba 1.1 @@Get:
6332     @@Set:
6333 wakaba 1.4 @ATTR:
6334 wakaba 1.1 @@Name: width
6335 wakaba 1.11 @@ReflectCDATA:
6336 wakaba 1.1 @@Get:
6337     @@Set:
6338     @Method:
6339     @@Name: createTHead
6340 wakaba 1.17 @@plAName: create_thead
6341 wakaba 1.2 @@Description:
6342     @@@lang:en
6343     @@@@:
6344 wakaba 1.15 Create the <HE::thead> element (if it does not exist) and
6345 wakaba 1.2 return it.
6346 wakaba 1.1 @@Return:
6347     @@@Type: HTMLElement
6348 wakaba 1.2 @@@Description:
6349     @@@@lang:en
6350     @@@@@:
6351 wakaba 1.15 The <HE::thead> element.
6352 wakaba 1.1 @Method:
6353     @@Name: deleteTHead
6354 wakaba 1.17 @@plAName: delete_thead
6355 wakaba 1.2 @@Description:
6356     @@@lang:en
6357     @@@@:
6358 wakaba 1.15 Delete the <HE::thead>, if any, from the table.
6359 wakaba 1.2 @@Return:
6360 wakaba 1.1 @Method:
6361     @@Name: createTFoot
6362 wakaba 1.17 @@plAName: create_tfoot
6363 wakaba 1.2 @@Description:
6364     @@@lang:en
6365     @@@@:
6366 wakaba 1.15 Create the <HE::tfoot> element (if it does not exist) and
6367 wakaba 1.2 return it.
6368 wakaba 1.1 @@Return:
6369     @@@Type: HTMLElement
6370 wakaba 1.2 @@@Description:
6371     @@@@lang:en
6372     @@@@@:
6373 wakaba 1.15 The <HE::tfoot> element.
6374 wakaba 1.1 @Method:
6375     @@Name: deleteTFoot
6376 wakaba 1.17 @@plAName: delete_tfoot
6377 wakaba 1.2 @@Description:
6378     @@@lang:en
6379     @@@@:
6380 wakaba 1.15 Delete the <HE::tfoot>, if any, from the table.
6381 wakaba 1.2 @@Return:
6382 wakaba 1.1 @Method:
6383     @@Name: createCaption
6384 wakaba 1.2 @@Description:
6385     @@@lang:en
6386     @@@@:
6387     Create the table caption element (if it does not exist) and
6388     return it.
6389 wakaba 1.1 @@Return:
6390     @@@Type: HTMLElement
6391 wakaba 1.2 @@@Description:
6392     @@@@lang:en
6393     @@@@@: The table caption.
6394     @Method:
6395     @@Name: deleteCaption
6396     @@Description:
6397     @@@lang:en
6398     @@@@:
6399     Delete the table caption, if any.
6400     @@Return:
6401     @Method:
6402     @@Name: insertRow
6403     @@Description:
6404     @@@lang:en
6405     @@@@:
6406     Insert a new empty row in this table. If this table is
6407 wakaba 1.15 empty, a <HE::tbody> is created and the new row is
6408 wakaba 1.2 inserted into it.
6409     @@ImplNote:
6410     @@@lang:en
6411     @@@@:
6412     DOM HTML Specifications note that a table row
6413     cannot be empty according to HTML 4. But they do not
6414     require DOM implementations to add a table cell.
6415     @@Param:
6416     @@@Name: index
6417     @@@Type:
6418     DOMMain:long
6419     @@@Description:
6420     @@@@lang:en
6421     @@@@@:
6422     The ordinal index of the row where to insert a new row,
6423 wakaba 1.15 starting from <DOM::0> and relative to the logical
6424 wakaba 1.2 order (not the document order). The new row is
6425     inserted immediately before and in the same row group
6426 wakaba 1.15 as the current <P::index>th row.
6427 wakaba 1.2 @@@InCase:
6428     @@@@Value:-1
6429     @@@@Description:
6430     @@@@@lang:en
6431     @@@@@@:
6432     The new row is appended.
6433 wakaba 1.3 @@@@SpecLevel:2
6434 wakaba 1.2 @@@InCase:
6435     @@@@Label:
6436     @@@@@lang:en
6437     @@@@@@:
6438     The number of rows
6439     @@@@Description:
6440     @@@@@lang:en
6441     @@@@@@:
6442     The new row is appended.
6443 wakaba 1.3 @@@@SpecLevel:2
6444 wakaba 1.1 @@Return:
6445     @@@Type: HTMLElement
6446 wakaba 1.2 @@@Description:
6447     @@@@lang:en
6448     @@@@@:The newly created row.
6449 wakaba 1.1 @@@Exception:
6450 wakaba 1.2 @@@@Name: INDEX_SIZE_ERR
6451 wakaba 1.1 @@@@Type:
6452     DOMCore:DOMException
6453 wakaba 1.2 @@@@SubType:
6454     @@@@@QName:
6455     TODO: What?
6456     @@@@@Description:
6457     @@@@@@lang:en
6458     @@@@@@@:
6459 wakaba 1.15 The <P::index> is greater than the number of rows
6460     or less than <DOM::-1>.
6461 wakaba 1.3 @@@@SpecLevel:2
6462     @@@@ImplNote:
6463     @@@@@lang:en
6464     @@@@@@:
6465 wakaba 1.15 <SRC::DOM Level 1 Second Edition HTML, DOM Level 2 HTML>
6466     (<P::index> cannot <DOM::-1> in DOM Level 1.)
6467 wakaba 1.1 @@Level[list]:
6468     1
6469     2
6470     @@SpecLevel[list]:
6471     1
6472     2
6473     @Method:
6474     @@Name: deleteRow
6475 wakaba 1.2 @@Description:
6476     @@@lang:en
6477     @@@@:Delete a table row.
6478 wakaba 1.1 @@Param:
6479     @@@Name: index
6480     @@@Type:
6481     DOMMain:long
6482 wakaba 1.2 @@@Description:
6483     @@@@lang:en
6484     @@@@@:
6485 wakaba 1.15 The ordinal index of the row to delete, starting from <DOM::0>
6486 wakaba 1.2 and relative to the logical order (not document order).
6487     @@@InCase:
6488     @@@@Value:-1
6489     @@@@Description:
6490     @@@@@lang:en
6491     @@@@@@:
6492     The last row in the table is deleted.
6493 wakaba 1.3 @@@@SpecLevel:2
6494 wakaba 1.2 @@@ImplNote:
6495     @@@@lang:en
6496     @@@@@:
6497 wakaba 1.15 In the order of <HE::thead> -> <HE::tbody>s -> <HE::tfoot>?
6498 wakaba 1.1 @@Return:
6499     @@@Exception:
6500 wakaba 1.2 @@@@Name: INDEX_SIZE_ERR
6501 wakaba 1.1 @@@@Type:
6502     DOMCore:DOMException
6503 wakaba 1.2 @@@@SubType:
6504     @@@@@QName:
6505     TODO: What?
6506     @@@@@Description:
6507     @@@@@@lang:en
6508     @@@@@@@:
6509 wakaba 1.15 The <P::index> is greater than or equal to
6510     the number of rows or the <P::index> is
6511     less than <DOM::-1>.
6512 wakaba 1.3 @@@@SpecLevel:2
6513     @@@@ImplNote:
6514     @@@@@lang:en
6515     @@@@@@:
6516 wakaba 1.15 <SRC::DOM Level 1 Second Edition HTML, DOM Level 2 HTML>
6517     (<P::index> cannot <DOM::-1> in DOM Level 1.)
6518 wakaba 1.1 @@Level[list]:
6519     1
6520     2
6521     @@SpecLevel[list]:
6522     1
6523     2
6524 wakaba 1.17 ##HTMLTableElement
6525 wakaba 1.2
6526 wakaba 1.17 IfCls1ETDef:
6527 wakaba 1.4 @ETQName:
6528     xhtml1:caption
6529     @IFQName: HTMLTableCaptionElement
6530     @ClsQName:ManakaiDOMHTMLTableCaptionElement
6531     @ISAHTMLElement:
6532    
6533     @ATTR:
6534 wakaba 1.1 @@Name: align
6535 wakaba 1.4 @@Deprecated:
6536 wakaba 1.11 @@ReflectEnum:
6537 wakaba 1.1 @@Get:
6538     @@Set:
6539 wakaba 1.17 ##HTMLTableCaptionElement
6540 wakaba 1.2
6541 wakaba 1.17 IfCls1ETDef:
6542 wakaba 1.4 @ETQName:
6543     xhtml1:col
6544     @IFQName: HTMLTableColElement
6545     @ClsQName:ManakaiDOMHTMLTableColElement
6546     @ISAHTMLElement:
6547    
6548     @ATTR:
6549 wakaba 1.1 @@Name: align
6550 wakaba 1.11 @@ReflectEnum:
6551 wakaba 1.1 @@Get:
6552     @@Set:
6553 wakaba 1.4 @ATTR:
6554     @@AName:char
6555     @@DOMAName: ch
6556 wakaba 1.17 @@plAName: char
6557 wakaba 1.11 @@ReflectCDATA:
6558 wakaba 1.1 @@Get:
6559     @@Set:
6560 wakaba 1.4 @ATTR:
6561     @@AName:charoff
6562     @@DOMAName: chOff
6563 wakaba 1.17 @@plAName: charoff
6564 wakaba 1.11 @@ReflectCDATA:
6565 wakaba 1.1 @@Get:
6566     @@Set:
6567 wakaba 1.4 @ATTR:
6568 wakaba 1.1 @@Name: span
6569 wakaba 1.11 @@ReflectNumeric:
6570 wakaba 1.1 @@Get:
6571     @@Set:
6572 wakaba 1.4 @ATTR:
6573     @@AName:valign
6574     @@DOMAName: vAlign
6575 wakaba 1.17 @@plAName: valign
6576 wakaba 1.11 @@ReflectCDATA:
6577 wakaba 1.1 @@Get:
6578     @@Set:
6579 wakaba 1.4 @ATTR:
6580 wakaba 1.1 @@Name: width
6581 wakaba 1.11 @@ReflectCDATA:
6582 wakaba 1.1 @@Get:
6583     @@Set:
6584 wakaba 1.17 ##HTMLTableColElement
6585 wakaba 1.2
6586 wakaba 1.4 ForDef:
6587     @QName:
6588     DOMHTML:ForTbody
6589 wakaba 1.17 @ISA: DOMHTML|ForAnET
6590 wakaba 1.4 ForDef:
6591     @QName:
6592     DOMHTML:ForThead
6593 wakaba 1.17 @ISA: DOMHTML|ForAnET
6594 wakaba 1.4 ForDef:
6595     @QName:
6596     DOMHTML:ForTfoot
6597 wakaba 1.17 @ISA: DOMHTML|ForAnET
6598 wakaba 1.4
6599 wakaba 1.18 IfCls1ETsDef:
6600 wakaba 1.4 @rdf:type:
6601     @@@:
6602     dis:MultipleResource
6603     @@For:ForHTML
6604     @@ForCheck:
6605     !ManakaiDOM:ForIF !ManakaiDOM:ForClass
6606     !ForTbody !ForThead !ForTfoot
6607     @resourceFor:
6608     @@@: ForTbody
6609     @@ForCheck:ForHTML
6610     @resourceFor:
6611     @@@: ForThead
6612     @@ForCheck:ForHTML
6613     @resourceFor:
6614     @@@: ForTfoot
6615     @@ForCheck:ForHTML
6616     @rdf:type:
6617     @@@:
6618     s:ElementType
6619 wakaba 1.17 @@ForCheck: ForAnET
6620 wakaba 1.4
6621     @ETQName:
6622     @@@:
6623 wakaba 1.2 xhtml1:tbody
6624 wakaba 1.4 @@ForCheck:ForTbody
6625     @ETQName:
6626     @@@:
6627 wakaba 1.2 xhtml1:thead
6628 wakaba 1.4 @@ForCheck:ForThead
6629     @ETQName:
6630     @@@:
6631 wakaba 1.2 xhtml1:tfoot
6632 wakaba 1.4 @@ForCheck:ForTfoot
6633    
6634 wakaba 1.8 @elementType:
6635     @@@: ||ForHTML40SE||ForTfoot
6636     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
6637     @@ContentType: DISCore|TFPQNames
6638     @elementType:
6639     @@@: ||ForHTML401||ForTfoot
6640     @@ForCheck: ManakaiDOM|DOM2
6641     @@ContentType: DISCore|TFPQNames
6642     @elementType:
6643     @@@: ||ForXHTML10SE||ForTfoot
6644     @@ForCheck: ManakaiDOM|DOM2
6645     @@ContentType: DISCore|TFPQNames
6646    
6647    
6648     @elementType:
6649     @@@: ||ForHTML40SE||ForTbody
6650     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
6651     @@ContentType: DISCore|TFPQNames
6652     @elementType:
6653     @@@: ||ForHTML401||ForTbody
6654     @@ForCheck: ManakaiDOM|DOM2
6655     @@ContentType: DISCore|TFPQNames
6656     @elementType:
6657     @@@: ||ForXHTML10SE||ForTbody
6658     @@ForCheck: ManakaiDOM|DOM2
6659     @@ContentType: DISCore|TFPQNames
6660    
6661    
6662     @elementType:
6663     @@@: ||ForHTML40SE||ForThead
6664     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
6665     @@ContentType: DISCore|TFPQNames
6666     @elementType:
6667     @@@: ||ForHTML401||ForThead
6668     @@ForCheck: ManakaiDOM|DOM2
6669     @@ContentType: DISCore|TFPQNames
6670     @elementType:
6671     @@@: ||ForXHTML10SE||ForThead
6672     @@ForCheck: ManakaiDOM|DOM2
6673     @@ContentType: DISCore|TFPQNames
6674    
6675 wakaba 1.4 @IFQName: HTMLTableSectionElement
6676     @ClsQName:ManakaiDOMHTMLTableSectionElement
6677     @ISAHTMLElement:
6678    
6679 wakaba 1.11 @Attrs:
6680 wakaba 1.1 @@Name: align
6681 wakaba 1.11 @@ReflectEnum:
6682 wakaba 1.1 @@Get:
6683     @@Set:
6684 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForThead
6685     @@docAttrP2S: ||ForHTML401||ForThead
6686     @@docAttrP2X: ||ForXHTML10SE||ForThead
6687     @@docAttrP1S: ||ForHTML40SE||ForTbody
6688     @@docAttrP2S: ||ForHTML401||ForTbody
6689     @@docAttrP2X: ||ForXHTML10SE||ForTbody
6690     @@docAttrP1S: ||ForHTML40SE||ForTfoot
6691     @@docAttrP2S: ||ForHTML401||ForTfoot
6692     @@docAttrP2X: ||ForXHTML10SE||ForTfoot
6693     @Attrs:
6694 wakaba 1.4 @@AName: char
6695     @@DOMAName: ch
6696 wakaba 1.17 @@plAName: char
6697 wakaba 1.11 @@ReflectCDATA:
6698 wakaba 1.1 @@Get:
6699     @@Set:
6700 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForThead
6701     @@docAttrP2S: ||ForHTML401||ForThead
6702     @@docAttrP2X: ||ForXHTML10SE||ForThead
6703     @@docAttrP1S: ||ForHTML40SE||ForTbody
6704     @@docAttrP2S: ||ForHTML401||ForTbody
6705     @@docAttrP2X: ||ForXHTML10SE||ForTbody
6706     @@docAttrP1S: ||ForHTML40SE||ForTfoot
6707     @@docAttrP2S: ||ForHTML401||ForTfoot
6708     @@docAttrP2X: ||ForXHTML10SE||ForTfoot
6709     @Attrs:
6710 wakaba 1.4 @@AName:charoff
6711     @@DOMAName: chOff
6712 wakaba 1.17 @@plAName: charoff
6713 wakaba 1.11 @@ReflectCDATA:
6714 wakaba 1.1 @@Get:
6715     @@Set:
6716 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForThead
6717     @@docAttrP2S: ||ForHTML401||ForThead
6718     @@docAttrP2X: ||ForXHTML10SE||ForThead
6719     @@docAttrP1S: ||ForHTML40SE||ForTbody
6720     @@docAttrP2S: ||ForHTML401||ForTbody
6721     @@docAttrP2X: ||ForXHTML10SE||ForTbody
6722     @@docAttrP1S: ||ForHTML40SE||ForTfoot
6723     @@docAttrP2S: ||ForHTML401||ForTfoot
6724     @@docAttrP2X: ||ForXHTML10SE||ForTfoot
6725     @Attrs:
6726 wakaba 1.4 @@AName:valign
6727     @@DOMAName: vAlign
6728 wakaba 1.17 @@plAName: valign
6729 wakaba 1.11 @@ReflectEnum:
6730 wakaba 1.1 @@Get:
6731     @@Set:
6732 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForThead
6733     @@docAttrP2S: ||ForHTML401||ForThead
6734     @@docAttrP2X: ||ForXHTML10SE||ForThead
6735     @@docAttrP1S: ||ForHTML40SE||ForTbody
6736     @@docAttrP2S: ||ForHTML401||ForTbody
6737     @@docAttrP2X: ||ForXHTML10SE||ForTbody
6738     @@docAttrP1S: ||ForHTML40SE||ForTfoot
6739     @@docAttrP2S: ||ForHTML401||ForTfoot
6740     @@docAttrP2X: ||ForXHTML10SE||ForTfoot
6741 wakaba 1.1 @Attr:
6742     @@Name: rows
6743 wakaba 1.2 @@Description:
6744     @@@lang:en
6745     @@@@:
6746     A collection of rows in this table row group.
6747 wakaba 1.1 @@Get:
6748     @@@Type: HTMLCollection
6749     @Method:
6750     @@Name: insertRow
6751 wakaba 1.2 @@Description:
6752     @@@lang:en
6753     @@@@:
6754     Insert a table row into this row group.
6755 wakaba 1.1 @@Param:
6756     @@@Name: index
6757     @@@Type:
6758     DOMMain:long
6759 wakaba 1.2 @@@Description:
6760     @@@@lang:en
6761     @@@@@:
6762     The ordinal index of the row where to insert a new row,
6763 wakaba 1.15 starting from <DOM::0> and relative only to the
6764 wakaba 1.2 rows contained inside this row group. The new row
6765 wakaba 1.15 is inserted immediately before the current <P::index>th
6766 wakaba 1.2 row.
6767     @@@InCase:
6768     @@@@Value:-1
6769     @@@@Description:
6770     @@@@@lang:en
6771     @@@@@@:
6772     The new row is appended.
6773 wakaba 1.3 @@@@SpecLevel:2
6774 wakaba 1.2 @@@InCase:
6775     @@@@Label:
6776     @@@@@lang:en
6777     @@@@@@:The number of rows in this row group
6778     @@@@Description:
6779     @@@@@lang:en
6780     @@@@@@:
6781     The new row is appended.
6782 wakaba 1.3 @@@@SpecLevel:2
6783 wakaba 1.1 @@Return:
6784     @@@Type: HTMLElement
6785 wakaba 1.2 @@@Description:
6786     @@@@lang:en
6787     @@@@@:The newly created table row.
6788 wakaba 1.1 @@@Exception:
6789 wakaba 1.2 @@@@Name: INDEX_SIZE_ERR
6790 wakaba 1.1 @@@@Type:
6791     DOMCore:DOMException
6792 wakaba 1.2 @@@@SubType:
6793     @@@@@QName:
6794     TODO: What?
6795     @@@@@Description:
6796     @@@@@@lang:en
6797     @@@@@@@:
6798 wakaba 1.15 The <P::index> is greater than the number
6799     of rows or less than <DOM::-1>.
6800 wakaba 1.3 @@@@SpecLevel:2
6801     @@@@ImplNote:
6802     @@@@@lang:en
6803     @@@@@@:
6804 wakaba 1.15 <SRC::DOM Level 1 Second Edition HTML, DOM Level 2 HTML>
6805     (<P::index> cannot <DOM::-1> in DOM Level 1.)
6806 wakaba 1.1 @@Level[list]:
6807     1
6808     2
6809     @@SpecLevel[list]:
6810     1
6811     2
6812     @Method:
6813     @@Name: deleteRow
6814 wakaba 1.2 @@Description:
6815     @@@lang:en
6816     @@@@:
6817     Delete a table row from this table row group.
6818 wakaba 1.1 @@Param:
6819     @@@Name: index
6820     @@@Type:
6821     DOMMain:long
6822 wakaba 1.2 @@@Description:
6823     @@@@lang:en
6824     @@@@@:
6825     The ordinal index of the row to delete, starting
6826 wakaba 1.15 from <DOM::0> and relative
6827 wakaba 1.2 only to the rows contained inside this row group.
6828     @@@InCase:
6829     @@@@Value:-1
6830     @@@@Description:
6831     @@@@@lang:en
6832     @@@@@@:
6833     Delete the last row.
6834 wakaba 1.3 @@@@SpecLevel:2
6835 wakaba 1.1 @@Return:
6836     @@@Exception:
6837 wakaba 1.2 @@@@Name: INDEX_SIZE_ERR
6838 wakaba 1.1 @@@@Type:
6839     DOMCore:DOMException
6840 wakaba 1.2 @@@@SubType:
6841     @@@@@QName:
6842     TODO: What?
6843     @@@@@Description:
6844     @@@@@@lang:en
6845     @@@@@@@:
6846 wakaba 1.15 The <P::index> is greater than or equal to
6847     the number of rows or the <P::index> is less
6848     than <DOM::-1>.
6849 wakaba 1.3 @@@@SpecLevel:2
6850     @@@@ImplNote:
6851     @@@@@lang:en
6852     @@@@@@:
6853 wakaba 1.15 <SRC::DOM Level 1 Second Edition HTML, DOM Level 2 HTML>
6854     (<P::index> cannot <DOM::-1> in DOM Level 1.)
6855 wakaba 1.1 @@Level[list]:
6856     1
6857     2
6858     @@SpecLevel[list]:
6859     1
6860     2
6861 wakaba 1.17 ##HTMLTableSectionElement
6862 wakaba 1.2
6863 wakaba 1.17 IfCls12ETDef:
6864 wakaba 1.4 @ETQName:
6865     xhtml1:tr
6866     @IFQName: HTMLTableRowElement
6867     @ClsQName:ManakaiDOMHTMLTableRowElement
6868     @ISAHTMLElement:
6869    
6870 wakaba 1.1 @Attr:
6871     @@Name: rowIndex
6872 wakaba 1.2 @@Description:
6873     @@@lang:en
6874     @@@@:
6875 wakaba 1.15 The ordinal index of the row, starting from <DOM::0>,
6876 wakaba 1.2 in the logical order (not the document order).
6877     \
6878     {NOTE:: The logical order take row groups into account;
6879 wakaba 1.15 placing <HE::thead> rows first, followed by
6880     <HE::tbody> rows, followed by <HE::tfoot> rows.
6881 wakaba 1.2 \
6882     }
6883 wakaba 1.1 @@Get:
6884     @@@Type:
6885     DOMMain:long
6886 wakaba 1.3 @@ImplNote:
6887     @@@lang:en
6888     @@@@:
6889     Writable in DOM Level 1 FE, with no description -
6890     fixed in the Errata.
6891 wakaba 1.1 @@Level[list]:
6892 wakaba 1.2 1
6893 wakaba 1.1 @@SpecLevel[list]:
6894 wakaba 1.2 1
6895 wakaba 1.1 2
6896     @Attr:
6897     @@Name: sectionRowIndex
6898 wakaba 1.2 @@Description:
6899     @@@lang:en
6900     @@@@:
6901 wakaba 1.15 The ordinal index of this row, starting from <DOM::0>
6902 wakaba 1.2 and relative to this row group.
6903 wakaba 1.1 @@Get:
6904     @@@Type:
6905     DOMMain:long
6906 wakaba 1.3 @@ImplNote:
6907     @@@lang:en
6908     @@@@:
6909     Writable in DOM Level 1 FE, with no description.
6910 wakaba 1.1 @@Level[list]:
6911 wakaba 1.2 1
6912 wakaba 1.1 @@SpecLevel[list]:
6913 wakaba 1.2 1
6914 wakaba 1.1 2
6915     @Attr:
6916     @@Name: cells
6917 wakaba 1.2 @@Description:
6918     @@@lang:en
6919     @@@@:The collection of cells in this row.
6920 wakaba 1.1 @@Get:
6921     @@@Type: HTMLCollection
6922 wakaba 1.3 @@ImplNote:
6923     @@@lang:en
6924     @@@@:
6925     Writable in DOM Level 1 FE, with no description.
6926 wakaba 1.1 @@Level[list]:
6927 wakaba 1.2 1
6928 wakaba 1.1 @@SpecLevel[list]:
6929 wakaba 1.2 1
6930 wakaba 1.1 2
6931 wakaba 1.4 @ATTR:
6932 wakaba 1.1 @@Name: align
6933 wakaba 1.11 @@ReflectEnum:
6934 wakaba 1.1 @@Get:
6935     @@Set:
6936 wakaba 1.4 @ATTR:
6937     @@AName:bgcolor
6938     @@DOMAName: bgColor
6939 wakaba 1.17 @@plAName: bgcolor
6940 wakaba 1.4 @@Deprecated:
6941 wakaba 1.11 @@ReflectCDATA:
6942 wakaba 1.1 @@Get:
6943     @@Set:
6944 wakaba 1.4 @ATTR:
6945     @@AName:char
6946     @@DOMAName: ch
6947 wakaba 1.17 @@plAName: char
6948 wakaba 1.11 @@ReflectCDATA:
6949 wakaba 1.1 @@Get:
6950     @@Set:
6951 wakaba 1.4 @ATTR:
6952     @@AName:charoff
6953     @@DOMAName: chOff
6954 wakaba 1.17 @@plAName: charoff
6955 wakaba 1.11 @@ReflectCDATA:
6956 wakaba 1.1 @@Get:
6957     @@Set:
6958 wakaba 1.4 @ATTR:
6959     @@AName:valign
6960     @@DOMAName: vAlign
6961 wakaba 1.17 @@plAName: valign
6962 wakaba 1.11 @@ReflectEnum:
6963 wakaba 1.1 @@Get:
6964     @@Set:
6965     @Method:
6966     @@Name: insertCell
6967 wakaba 1.2 @@Description:
6968     @@@lang:en
6969     @@@@:
6970 wakaba 1.15 Insert an empty data cell (<HE::td>) into this row.
6971 wakaba 1.1 @@Param:
6972     @@@Name: index
6973     @@@Type:
6974     DOMMain:long
6975 wakaba 1.2 @@@Description:
6976     @@@@lang:en
6977     @@@@@:
6978     The index where the new cell is inserted, starting
6979 wakaba 1.15 from <DOM::0>.
6980 wakaba 1.2 @@@InCase:
6981     @@@@Value:-1
6982     @@@@Description:
6983     @@@@@lang:en
6984     @@@@@@:The new cell is appended.
6985 wakaba 1.3 @@@@SpecLevel:2
6986 wakaba 1.2 @@@InCase:
6987     @@@@Label:
6988     @@@@@lang:en
6989     @@@@@@:The number of cells
6990     @@@@Description:
6991     @@@@@lang:en
6992     @@@@@@:The new cell is appended.
6993 wakaba 1.3 @@@@SpecLevel:2
6994 wakaba 1.1 @@Return:
6995     @@@Type: HTMLElement
6996 wakaba 1.2 @@@Description:
6997     @@@@lang:en
6998     @@@@@:The newly inserted cell.
6999 wakaba 1.1 @@@Exception:
7000 wakaba 1.2 @@@@Name: INDEX_SIZE_ERR
7001 wakaba 1.1 @@@@Type:
7002     DOMCore:DOMException
7003 wakaba 1.2 @@@@SubType:
7004     @@@@@QName:
7005     TODO: What?
7006     @@@@@Description:
7007     @@@@@@lang:en
7008     @@@@@@@:
7009 wakaba 1.15 The <P::index> is greater than the number of
7010     cells or less than <DOM::-1>.
7011 wakaba 1.3 @@@@SpecLevel:2
7012     @@@@ImplNote:
7013     @@@@@lang:en
7014     @@@@@@:
7015 wakaba 1.15 <SRC::DOM Level 1 Second Edition HTML, DOM Level 2 HTML>
7016     (<P::index> cannot <DOM::-1> in DOM Level 1.)
7017 wakaba 1.1 @@Level[list]:
7018     1
7019     2
7020     @@SpecLevel[list]:
7021     1
7022     2
7023     @Method:
7024     @@Name: deleteCell
7025 wakaba 1.2 @@Description:
7026     @@@lang:en
7027     @@@@:Delete a cell from this row.
7028 wakaba 1.1 @@Param:
7029     @@@Name: index
7030     @@@Type:
7031     DOMMain:long
7032 wakaba 1.2 @@@Description:
7033     @@@@lang:en
7034     @@@@@:
7035 wakaba 1.15 The index of the cell to delete, starting from <DOM::0>
7036 wakaba 1.2 and in the document order.
7037     @@@InCase:
7038     @@@@Value:-1
7039     @@@@Description:
7040     @@@@@lang:en
7041     @@@@@@:
7042     The last cell is deleted.
7043 wakaba 1.3 @@@@SpecLevel:2
7044 wakaba 1.1 @@Return:
7045     @@@Exception:
7046 wakaba 1.2 @@@@Name: INDEX_SIZE_ERR
7047 wakaba 1.1 @@@@Type:
7048     DOMCore:DOMException
7049 wakaba 1.2 @@@@SubType:
7050     @@@@@QName:
7051     TODO: What?
7052     @@@@@Description:
7053     @@@@@@lang:en
7054     @@@@@@@:
7055 wakaba 1.15 THe <P::index> is greater than or equal to the number
7056     of the cells or less than <DOM::-1>.
7057 wakaba 1.3 @@@@SpecLevel:2
7058     @@@@ImplNote:
7059     @@@@@lang:en
7060     @@@@@@:
7061 wakaba 1.15 <SRC::DOM Level 1 Second Edition HTML, DOM Level 2 HTML>
7062     (<P::index> cannot <DOM::-1> in DOM Level 1.)
7063 wakaba 1.1 @@Level[list]:
7064     1
7065     2
7066     @@SpecLevel[list]:
7067     1
7068     2
7069 wakaba 1.17 ##HTMLTableRowElement
7070 wakaba 1.2
7071 wakaba 1.4 ForDef:
7072     @QName:
7073     DOMHTML:ForTd
7074 wakaba 1.17 @ISA: DOMHTML|ForAnET
7075 wakaba 1.4 ForDef:
7076     @QName:
7077     DOMHTML:ForTh
7078 wakaba 1.17 @ISA: DOMHTML|ForAnET
7079 wakaba 1.4
7080 wakaba 1.18 IfCls1ETsDef:
7081 wakaba 1.4 @rdf:type:
7082     @@@:
7083     dis:MultipleResource
7084     @@For:ForHTML
7085     @@ForCheck:
7086     !ManakaiDOM:ForIF !ManakaiDOM:ForClass
7087     !ForTd !ForTh
7088     @resourceFor:
7089     @@@: ForTd
7090     @@For:ForHTML
7091     @resourceFor:
7092     @@@:ForTh
7093     @@For:ForHTML
7094     @rdf:type:
7095     @@@:
7096     s:ElementType
7097 wakaba 1.17 @@ForCheck: ForAnET
7098 wakaba 1.4
7099     @ETQName:
7100     @@@:
7101     xhtml1:td
7102     @@ForCheck:ForTd
7103     @ETQName:
7104     @@@:
7105 wakaba 1.2 xhtml1:th
7106 wakaba 1.4 @@ForCheck:ForTh
7107 wakaba 1.8
7108     @elementType:
7109     @@@: ||ForHTML40SE||ForTh
7110     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
7111     @@ContentType: DISCore|TFPQNames
7112     @elementType:
7113     @@@: ||ForHTML401||ForTh
7114     @@ForCheck: ManakaiDOM|DOM2
7115     @@ContentType: DISCore|TFPQNames
7116     @elementType:
7117     @@@: ||ForXHTML10SE||ForTh
7118     @@ForCheck: ManakaiDOM|DOM2
7119     @@ContentType: DISCore|TFPQNames
7120    
7121     @elementType:
7122     @@@: ||ForHTML40SE||ForTd
7123     @@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
7124     @@ContentType: DISCore|TFPQNames
7125     @elementType:
7126     @@@: ||ForHTML401||ForTd
7127     @@ForCheck: ManakaiDOM|DOM2
7128     @@ContentType: DISCore|TFPQNames
7129     @elementType:
7130     @@@: ||ForXHTML10SE||ForTd
7131     @@ForCheck: ManakaiDOM|DOM2
7132     @@ContentType: DISCore|TFPQNames
7133 wakaba 1.4
7134     @IFQName: HTMLTableCellElement
7135     @ClsQName:ManakaiDOMHTMLTableCellElement
7136     @ISAHTMLElement:
7137    
7138 wakaba 1.1 @Attr:
7139     @@Name: cellIndex
7140 wakaba 1.2 @@Description:
7141     @@@lang:en
7142     @@@@:
7143     The ordinal index of this cell in the row,
7144 wakaba 1.15 starting from <DOM::0> and in the document order
7145 wakaba 1.2 (not the display order).
7146 wakaba 1.1 @@Get:
7147     @@@Type:
7148     DOMMain:long
7149 wakaba 1.3 @@ImplNote:
7150     @@@lang:en
7151     @@@@:
7152     Writable in DOM Level 1 FE - fixed in the Errata.
7153 wakaba 1.11 @Attrs:
7154 wakaba 1.1 @@Name: abbr
7155 wakaba 1.11 @@ReflectCDATA:
7156 wakaba 1.1 @@Get:
7157     @@Set:
7158 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7159     @@docAttrP2S: ||ForHTML401||ForTh
7160     @@docAttrP2X: ||ForXHTML10SE||ForTh
7161     @@docAttrP1S: ||ForHTML40SE||ForTd
7162     @@docAttrP2S: ||ForHTML401||ForTd
7163     @@docAttrP2X: ||ForXHTML10SE||ForTd
7164     @Attrs:
7165 wakaba 1.1 @@Name: align
7166 wakaba 1.11 @@ReflectEnum:
7167 wakaba 1.1 @@Get:
7168     @@Set:
7169 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7170     @@docAttrP2S: ||ForHTML401||ForTh
7171     @@docAttrP2X: ||ForXHTML10SE||ForTh
7172     @@docAttrP1S: ||ForHTML40SE||ForTd
7173     @@docAttrP2S: ||ForHTML401||ForTd
7174     @@docAttrP2X: ||ForXHTML10SE||ForTd
7175     @Attrs:
7176 wakaba 1.1 @@Name: axis
7177 wakaba 1.11 @@ReflectCDATA:
7178 wakaba 1.1 @@Get:
7179     @@Set:
7180 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7181     @@docAttrP2S: ||ForHTML401||ForTh
7182     @@docAttrP2X: ||ForXHTML10SE||ForTh
7183     @@docAttrP1S: ||ForHTML40SE||ForTd
7184     @@docAttrP2S: ||ForHTML401||ForTd
7185     @@docAttrP2X: ||ForXHTML10SE||ForTd
7186     @Attrs:
7187 wakaba 1.4 @@AName:bgcolor
7188     @@DOMAName: bgColor
7189 wakaba 1.17 @@plAName: bgcolor
7190 wakaba 1.4 @@Deprecated:
7191 wakaba 1.11 @@ReflectCDATA:
7192 wakaba 1.1 @@Get:
7193     @@Set:
7194 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7195     @@docAttrP2S: ||ForHTML401||ForTh
7196     @@docAttrP2X: ||ForXHTML10SE||ForTh
7197     @@docAttrP1S: ||ForHTML40SE||ForTd
7198     @@docAttrP2S: ||ForHTML401||ForTd
7199     @@docAttrP2X: ||ForXHTML10SE||ForTd
7200     @Attrs:
7201 wakaba 1.4 @@AName:char
7202     @@DOMAName: ch
7203 wakaba 1.17 @@plAName: char
7204 wakaba 1.11 @@ReflectCDATA:
7205 wakaba 1.1 @@Get:
7206     @@Set:
7207 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7208     @@docAttrP2S: ||ForHTML401||ForTh
7209     @@docAttrP2X: ||ForXHTML10SE||ForTh
7210     @@docAttrP1S: ||ForHTML40SE||ForTd
7211     @@docAttrP2S: ||ForHTML401||ForTd
7212     @@docAttrP2X: ||ForXHTML10SE||ForTd
7213     @Attrs:
7214 wakaba 1.4 @@AName:charoff
7215     @@DOMAName: chOff
7216 wakaba 1.17 @@plAName: charoff
7217 wakaba 1.11 @@ReflectCDATA:
7218 wakaba 1.1 @@Get:
7219     @@Set:
7220 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7221     @@docAttrP2S: ||ForHTML401||ForTh
7222     @@docAttrP2X: ||ForXHTML10SE||ForTh
7223     @@docAttrP1S: ||ForHTML40SE||ForTd
7224     @@docAttrP2S: ||ForHTML401||ForTd
7225     @@docAttrP2X: ||ForXHTML10SE||ForTd
7226     @Attrs:
7227 wakaba 1.4 @@AName:colspan
7228     @@DOMAName: colSpan
7229 wakaba 1.17 @@plAName: colspan
7230 wakaba 1.11 @@ReflectNumeric:
7231 wakaba 1.1 @@Get:
7232     @@Set:
7233 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7234     @@docAttrP2S: ||ForHTML401||ForTh
7235     @@docAttrP2X: ||ForXHTML10SE||ForTh
7236     @@docAttrP1S: ||ForHTML40SE||ForTd
7237     @@docAttrP2S: ||ForHTML401||ForTd
7238     @@docAttrP2X: ||ForXHTML10SE||ForTd
7239     @Attrs:
7240 wakaba 1.1 @@Name: headers
7241 wakaba 1.11 @@ReflectCDATA:
7242 wakaba 1.1 @@Get:
7243     @@Set:
7244 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7245     @@docAttrP2S: ||ForHTML401||ForTh
7246     @@docAttrP2X: ||ForXHTML10SE||ForTh
7247     @@docAttrP1S: ||ForHTML40SE||ForTd
7248     @@docAttrP2S: ||ForHTML401||ForTd
7249     @@docAttrP2X: ||ForXHTML10SE||ForTd
7250     @Attrs:
7251 wakaba 1.1 @@Name: height
7252 wakaba 1.4 @@Deprecated:
7253 wakaba 1.11 @@ReflectCDATA:
7254 wakaba 1.1 @@Get:
7255     @@Set:
7256 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7257     @@docAttrP2S: ||ForHTML401||ForTh
7258     @@docAttrP2X: ||ForXHTML10SE||ForTh
7259     @@docAttrP1S: ||ForHTML40SE||ForTd
7260     @@docAttrP2S: ||ForHTML401||ForTd
7261     @@docAttrP2X: ||ForXHTML10SE||ForTd
7262     @Attrs:
7263 wakaba 1.4 @@AName:nowrap
7264     @@DOMAName: noWrap
7265 wakaba 1.17 @@plAName: nowrap
7266 wakaba 1.4 @@Deprecated:
7267 wakaba 1.11 @@ReflectBoolean:
7268 wakaba 1.1 @@Get:
7269     @@@InCase:
7270     @@@@Value: true
7271     @@@InCase:
7272     @@@@Value: false
7273     @@Set:
7274     @@@InCase:
7275     @@@@Value: true
7276     @@@InCase:
7277     @@@@Value: false
7278 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7279     @@docAttrP2S: ||ForHTML401||ForTh
7280     @@docAttrP2X: ||ForXHTML10SE||ForTh
7281     @@docAttrP1S: ||ForHTML40SE||ForTd
7282     @@docAttrP2S: ||ForHTML401||ForTd
7283     @@docAttrP2X: ||ForXHTML10SE||ForTd
7284     @Attrs:
7285 wakaba 1.4 @@AName:rowspan
7286     @@DOMAName: rowSpan
7287 wakaba 1.17 @@plAName: rowspan
7288 wakaba 1.11 @@ReflectNumeric:
7289 wakaba 1.1 @@Get:
7290     @@Set:
7291 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7292     @@docAttrP2S: ||ForHTML401||ForTh
7293     @@docAttrP2X: ||ForXHTML10SE||ForTh
7294     @@docAttrP1S: ||ForHTML40SE||ForTd
7295     @@docAttrP2S: ||ForHTML401||ForTd
7296     @@docAttrP2X: ||ForXHTML10SE||ForTd
7297     @Attrs:
7298 wakaba 1.1 @@Name: scope
7299 wakaba 1.11 @@ReflectEnum:
7300 wakaba 1.1 @@Get:
7301     @@Set:
7302 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7303     @@docAttrP2S: ||ForHTML401||ForTh
7304     @@docAttrP2X: ||ForXHTML10SE||ForTh
7305     @@docAttrP1S: ||ForHTML40SE||ForTd
7306     @@docAttrP2S: ||ForHTML401||ForTd
7307     @@docAttrP2X: ||ForXHTML10SE||ForTd
7308     @Attrs:
7309 wakaba 1.4 @@AName:valign
7310     @@DOMAName: vAlign
7311 wakaba 1.17 @@plAName: valign
7312 wakaba 1.11 @@ReflectEnum:
7313 wakaba 1.1 @@Get:
7314     @@Set:
7315 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7316     @@docAttrP2S: ||ForHTML401||ForTh
7317     @@docAttrP2X: ||ForXHTML10SE||ForTh
7318     @@docAttrP1S: ||ForHTML40SE||ForTd
7319     @@docAttrP2S: ||ForHTML401||ForTd
7320     @@docAttrP2X: ||ForXHTML10SE||ForTd
7321     @Attrs:
7322 wakaba 1.1 @@Name: width
7323 wakaba 1.4 @@Deprecated:
7324 wakaba 1.11 @@ReflectCDATA:
7325 wakaba 1.1 @@Get:
7326     @@Set:
7327 wakaba 1.11 @@docAttrP1S: ||ForHTML40SE||ForTh
7328     @@docAttrP2S: ||ForHTML401||ForTh
7329     @@docAttrP2X: ||ForXHTML10SE||ForTh
7330     @@docAttrP1S: ||ForHTML40SE||ForTd
7331     @@docAttrP2S: ||ForHTML401||ForTd
7332     @@docAttrP2X: ||ForXHTML10SE||ForTd
7333 wakaba 1.17 ##HTMLTableCellElement
7334 wakaba 1.2
7335 wakaba 1.17 IfCls1ETDef:
7336 wakaba 1.4 @ETQName:
7337     xhtml1:frameset
7338     @IFQName: HTMLFrameSetElement
7339     @ClsQName:ManakaiDOMHTMLFrameSetElement
7340     @ISAHTMLElement:
7341    
7342     @ForCheck: !ForXHTML11
7343    
7344     @ATTR:
7345 wakaba 1.1 @@Name: cols
7346 wakaba 1.11 @@ReflectCDATA:
7347 wakaba 1.1 @@Get:
7348     @@Set:
7349 wakaba 1.4 @ATTR:
7350 wakaba 1.1 @@Name: rows
7351 wakaba 1.11 @@ReflectCDATA:
7352 wakaba 1.1 @@Get:
7353     @@Set:
7354 wakaba 1.17 ##HTMLFrameSetElement
7355 wakaba 1.2
7356 wakaba 1.17 IfCls1ETDef:
7357 wakaba 1.4 @ETQName:
7358     xhtml1:frame
7359     @IFQName: HTMLFrameElement
7360     @ClsQName:ManakaiDOMHTMLFrameElement
7361     @ISAHTMLElement:
7362    
7363     @ForCheck: !ForXHTML11
7364    
7365     @ATTR:
7366     @@AName:frameborder
7367     @@DOMAName: frameBorder
7368 wakaba 1.17 @@plAName: frameborder
7369 wakaba 1.11 @@ReflectCDATA:
7370 wakaba 1.1 @@Get:
7371     @@Set:
7372 wakaba 1.4 @ATTR:
7373     @@AName:longdesc
7374     @@DOMAName: longDesc
7375 wakaba 1.17 @@plAName: longdesc
7376 wakaba 1.11 @@ReflectURI:
7377 wakaba 1.1 @@Get:
7378     @@Set:
7379 wakaba 1.4 @ATTR:
7380     @@AName:marginheight
7381     @@DOMAName: marginHeight
7382 wakaba 1.17 @@plAName: marginheight
7383 wakaba 1.11 @@ReflectCDATA:
7384 wakaba 1.1 @@Get:
7385     @@Set:
7386 wakaba 1.4 @ATTR:
7387     @@AName:marginwidth
7388     @@DOMAName: marginWidth
7389 wakaba 1.17 @@plAName: marginwidth
7390 wakaba 1.11 @@ReflectCDATA:
7391 wakaba 1.1 @@Get:
7392     @@Set:
7393 wakaba 1.4 @ATTR:
7394 wakaba 1.1 @@Name: name
7395 wakaba 1.11 @@ReflectCDATA:
7396 wakaba 1.1 @@Get:
7397     @@Set:
7398 wakaba 1.4 @ATTR:
7399     @@AName:noresize
7400     @@DOMAName: noResize
7401 wakaba 1.17 @@plAName: noresize
7402 wakaba 1.11 @@ReflectBoolean:
7403 wakaba 1.1 @@Get:
7404     @@@InCase:
7405     @@@@Value: true
7406     @@@InCase:
7407     @@@@Value: false
7408     @@Set:
7409     @@@InCase:
7410     @@@@Value: true
7411     @@@InCase:
7412     @@@@Value: false
7413 wakaba 1.4 @ATTR:
7414 wakaba 1.1 @@Name: scrolling
7415 wakaba 1.11 @@ReflectEnum:
7416 wakaba 1.1 @@Get:
7417     @@Set:
7418 wakaba 1.4 @ATTR:
7419 wakaba 1.1 @@Name: src
7420 wakaba 1.11 @@ReflectURI:
7421 wakaba 1.1 @@Get:
7422     @@Set:
7423     @Attr:
7424     @@Name: contentDocument
7425 wakaba 1.2 @@Description:
7426     @@@lang:en
7427     @@@@:
7428     The document this frame contains, if any and available.
7429 wakaba 1.1 @@Get:
7430     @@@Type: Document
7431 wakaba 1.2 @@@InCase:
7432     @@@@Value:
7433     @@@@@is-null:1
7434     @@@@Description:
7435     @@@@@lang:en
7436     @@@@@@:
7437     There is no document or it is not available.
7438 wakaba 1.4 @@@Def:
7439     @@@@ContentType:
7440     lang:dis
7441     @@@@GetPropNode:
7442     DOMHTML:contentDocument
7443 wakaba 1.1 @@Level[list]: 2
7444     @@SpecLevel[list]: 2
7445 wakaba 1.4 @@L2:
7446 wakaba 1.17 ##HTMLFrameElement
7447 wakaba 1.2
7448 wakaba 1.17 IfCls1ETDef:
7449 wakaba 1.4 @ETQName:
7450     xhtml1:iframe
7451     @IFQName: HTMLIFrameElement
7452     @ClsQName:ManakaiDOMHTMLIFrameElement
7453     @ISAHTMLElement:
7454    
7455     @ForCheck: !ForXHTML11
7456    
7457     @ATTR:
7458 wakaba 1.1 @@Name: align
7459 wakaba 1.4 @@Deprecated:
7460 wakaba 1.11 @@ReflectEnum:
7461 wakaba 1.1 @@Get:
7462     @@Set:
7463 wakaba 1.4 @ATTR:
7464     @@AName:frameborder
7465     @@DOMAName: frameBorder
7466 wakaba 1.17 @@plAName: frameborder
7467 wakaba 1.11 @@ReflectCDATA:
7468 wakaba 1.1 @@Get:
7469     @@Set:
7470 wakaba 1.4 @ATTR:
7471 wakaba 1.1 @@Name: height
7472 wakaba 1.11 @@ReflectCDATA:
7473 wakaba 1.1 @@Get:
7474     @@Set:
7475 wakaba 1.4 @ATTR:
7476     @@AName:longdesc
7477     @@DOMAName: longDesc
7478 wakaba 1.17 @@plAName: longdesc
7479 wakaba 1.11 @@ReflectURI:
7480 wakaba 1.1 @@Get:
7481     @@Set:
7482 wakaba 1.4 @ATTR:
7483     @@AName:marginheight
7484     @@DOMAName: marginHeight
7485 wakaba 1.17 @@plAName: marginheight
7486 wakaba 1.11 @@ReflectCDATA:
7487 wakaba 1.1 @@Get:
7488     @@Set:
7489 wakaba 1.4 @ATTR:
7490     @@AName:marginwidth
7491     @@DOMAName: marginWidth
7492 wakaba 1.17 @@plAName: marginwidth
7493 wakaba 1.11 @@ReflectCDATA:
7494 wakaba 1.1 @@Get:
7495     @@Set:
7496 wakaba 1.4 @ATTR:
7497 wakaba 1.1 @@Name: name
7498 wakaba 1.11 @@ReflectCDATA:
7499 wakaba 1.1 @@Get:
7500     @@Set:
7501 wakaba 1.4 @ATTR:
7502 wakaba 1.1 @@Name: scrolling
7503 wakaba 1.11 @@ReflectEnum:
7504 wakaba 1.1 @@Get:
7505     @@Set:
7506 wakaba 1.4 @ATTR:
7507 wakaba 1.1 @@Name: src
7508 wakaba 1.11 @@ReflectURI:
7509 wakaba 1.1 @@Get:
7510     @@Set:
7511 wakaba 1.4 @ATTR:
7512 wakaba 1.1 @@Name: width
7513 wakaba 1.11 @@ReflectCDATA:
7514 wakaba 1.1 @@Get:
7515     @@Set:
7516     @Attr:
7517     @@Name: contentDocument
7518 wakaba 1.2 @@Description:
7519     @@@lang:en
7520     @@@@:
7521     The document this frame contains, if any and available.
7522 wakaba 1.1 @@Get:
7523     @@@Type: Document
7524 wakaba 1.2 @@@Description:
7525     @@@@lang:en
7526     @@@@@:
7527     There is no document or it is not available.
7528 wakaba 1.4 @@@Def:
7529     @@@@ContentType:
7530     lang:dis
7531     @@@@GetPropNode:
7532     DOMHTML:contentDocument
7533 wakaba 1.1 @@Level[list]: 2
7534     @@SpecLevel[list]: 2
7535 wakaba 1.4 @@L2:
7536 wakaba 1.17 ##HTMLIFrameElement
7537 wakaba 1.2
7538    

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24