/[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.11 - (hide annotations) (download)
Sun May 22 13:31:59 2005 UTC (19 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.10: +2069 -583 lines
Reflecting attribute implemented

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24