/[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.21 - (hide annotations) (download)
Sun Nov 5 09:16:29 2006 UTC (18 years ago) by wakaba
Branch: MAIN
CVS Tags: manakai-release-0-4-0, manakai-200612, HEAD
Changes since 1.20: +1 -13 lines
++ manakai/lib/Message/Util/ChangeLog	5 Nov 2006 09:15:59 -0000
2006-11-05  Wakaba  <wakaba@suika.fam.cx>

	* Grove.dis (mg:nodeRefClass, mg:nodeRefInterfaces): Removed.

++ manakai/lib/Message/DOM/ChangeLog	5 Nov 2006 09:15:04 -0000
	* CharacterData.dis (ManakaiDOMDocumentCharacterData): New
	class.  Factory methods |createTextNode| and |createComment|
	are moved from |ManakaiDOMDocument|.

	* DOMCore.dis: References to |ManakaiDOMObject|
	are removed.
	(tc:createImplForTest): Moved from |TreeCore.dis|.
	(DOMImplementation.___create_node_ref): Support
	for the |mg:nodeRefClass| option is removed.
	(ManakaiDOMConfiguration.___report_error): Moved
	from |ManakaiDOMObject| class.

	* DOMFeature.dis (domidl:extends): New property.
	(f:getFeatureImpl): Support for |+| classes is removed.

	* DOMMain.dis (DOMMain:docSupportsXMLFeature): Removed.
	(ManakaiDOM:ManakaiDOMObject): Removed.
	(DOMDataType): Removed.

	* Document.dis (ManakaiDOMImplementationDocument):
	The |createDocument| method is moved from
	the |ManakaiDOMImplementationTC| in |TreeCore.dis|.
	(ManakaiDOMDocument.___create_node_ref): Removed.
	(createElement, createElementNS, createAttribute,
	createAttributeNS, createTextNode, createComment,
	createCDATASection, createEntityReference,
	createProcessingInstruction): Class implementations
	are moved to each module.

	* Element.dis (ManakaiDOMImplementationElement): Factory
	methods are moved from |Document.dis|.
	(ManakaiDOMElement.___create_node_ref): Support
	for old class registry is removed.
	(ManakaiDOMAttr.___create_node_ref): Removed.
	(Attr.baseURI): Implementation
	for |xml:base| attribute is merged.
	(Attr.nodeValue, Attr.value): Implementation
	for |xml:id| attribute is merged.

	* TreeCore.dis (ManakaiDOMImplementationTC): Removed.

	* XDoctype.dis (ManakaiDOMImplementationXDoctype): The
	definition for |createDocumentType| method
	is moved from |TreeCore.dis|.

	* XML.dis (ManakaiDOMXMLDocument): Factory
	methods are moved from |Document.dis|.
	(ManakaiDOMXMLBaseAttr, ManakaiDOMXMLIdAttr): Removed (merged
	into |ManakaiDOMAttr| in |Element.dis|).

2006-11-05  Wakaba  <wakaba@suika.fam.cx>

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24