/[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.16 - (hide annotations) (download)
Mon Sep 5 05:21:11 2005 UTC (19 years, 2 months ago) by wakaba
Branch: MAIN
Changes since 1.15: +3 -1 lines
New DOMFeature module introduced

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24