File Coverage

blib/lib/HTML/DOM/Interface.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package HTML::DOM::Interface;
2              
3 1     1   1314 use Exporter 5.57 'import';
  1         17  
  1         1757  
4             our $VERSION = '0.057';
5              
6             # for constants
7             require HTML'DOM'Event'Mutation;
8             require HTML'DOM'Node;
9              
10             =head1 NAME
11              
12             HTML::DOM::Interface - A list of HTML::DOM's interface members in machine-readable format
13              
14             =head1 VERSION
15              
16             Version 0.057
17              
18             =head1 SYNOPSIS
19              
20             use HTML::DOM::Interface ':all';
21            
22            
23             # name of DOM interface (HTMLDocument):
24             $HTML::DOM::Interface{"HTML::DOM"};
25            
26             # interface it inherits from (Node):
27             $HTML::DOM::Interface{HTMLDocument}{_isa};
28            
29             # whether this can be used as an array
30             $HTML::DOM::Interface{HTMLDocument}{_array};
31             # or hash
32             $HTML::DOM::Interface{HTMLDocument}{_hash};
33            
34            
35             # Properties and Methods
36            
37             # list them all
38             grep !/^_/, keys %{ $HTML::DOM::Interface{HTMLDocument} };
39            
40             # see whether a given property is supported
41             exists $HTML::DOM::Interface{HTMLDocument}{foo}; # false
42            
43             # Is it a method?
44             $HTML::DOM::Interface{HTMLDocument}{title} & METHOD; # false
45             $HTML::DOM::Interface{HTMLDocument}{open} & METHOD; # true
46            
47             # Does the method return nothing?
48             $HTML::DOM::Interface{HTMLDocument}{open} & VOID; # true
49            
50             # Is a property read-only?
51             $HTML::DOM::Interface{HTMLDocument}{referrer} & READONLY; # true
52            
53             # Data types of properties
54             ($HTML::DOM::Interface{HTMLDocument}{referrer} & TYPE) == STR; # true
55             ($HTML::DOM::Interface{HTMLDocument}{title} & TYPE) == BOOL; # false
56             ($HTML::DOM::Interface{HTMLDocument}{cookie} & TYPE) == NUM; # false
57             ($HTML::DOM::Interface{HTMLDocument}{forms} & TYPE) == OBJ; # true
58            
59             # and return types of methods:
60             ($HTML::DOM::Interface{HTMLDocument}
61             ->{getElementById} & TYPE) == STR; # false
62             ($HTML::DOM::Interface{Node}{hasChildNodes} & TYPE) == BOOL; # true
63             ($HTML::DOM::Interface{Node}{appendChild} & TYPE) == NUM; # false
64             ($HTML::DOM::Interface{Node}{replaceChild} & TYPE) == OBJ; # true
65            
66             # Do these methods have UTF-16 equivalents ending with '16'?
67             $HTML::DOM::Interface{Node}{getElementById} & UTF16; # false
68             $HTML::DOM::Interface{CharacterData}{insertData} & UTF16; # true
69            
70            
71             # Constants
72              
73             # list of constant names in the form "HTML::DOM::Node::ELEMENT_NODE";
74             @{ $HTML::DOM::Interface{Node}{_constants} };
75            
76              
77             =head1 DESCRIPTION
78              
79             The synopsis should tell you almost everything you need to know. But be
80             warned that C<$foo & TYPE> is meaningless when C<$foo & METHOD> and
81             C<$foo & VOID> are both true. For more
82             gory details, look at the source code. In fact, here it is:
83              
84             =cut
85              
86              
87             # This was originally generated by idl2interf (ftp://ftp.funet.fi/pub/
88             # languages/perl/backpan/authors/id/S/SP/SPROUT/HTML-DOM-0.017.tar.gz)
89             # (which was just hack after hack), but is now maintained manually.
90              
91             0 and q r
92              
93             =for ;
94              
95             our @EXPORT_OK = qw/ METHOD VOID READONLY BOOL STR NUM OBJ TYPE
96             UTF16 /;
97             our %EXPORT_TAGS = (all => \@EXPORT_OK);
98              
99             sub METHOD () { 1 }
100             sub VOID () { 0b10 } # for methods
101             sub READONLY () { 0b10 } # for properties
102             sub BOOL () { 0b0000 }
103             sub STR () { 0b0100 }
104             sub NUM () { 0b1000 }
105             sub OBJ () { 0b1100 }
106             sub TYPE () { 0b1100 } # only for use as a mask
107             sub UTF16 () { 0b10000 }
108              
109             %HTML::DOM::Interface = (
110             'HTML::DOM::Exception' => 'DOMException',
111             'HTML::DOM::Implementation' => 'DOMImplementation',
112             'HTML::DOM::Node' => 'Node',
113             'HTML::DOM::DocumentFragment' => 'DocumentFragment',
114             'HTML::DOM' => 'HTMLDocument',
115             'HTML::DOM::CharacterData' => 'CharacterData',
116             'HTML::DOM::Text' => 'Text',
117             'HTML::DOM::Comment' => 'Comment',
118             'HTML::DOM::Element' => 'HTMLElement',
119             'HTML::DOM::Element::HTML' => 'HTMLHtmlElement',
120             'HTML::DOM::Element::Head' => 'HTMLHeadElement',
121             'HTML::DOM::Element::Link' => 'HTMLLinkElement',
122             'HTML::DOM::Element::Title' => 'HTMLTitleElement',
123             'HTML::DOM::Element::Meta' => 'HTMLMetaElement',
124             'HTML::DOM::Element::Base' => 'HTMLBaseElement',
125             'HTML::DOM::Element::IsIndex' => 'HTMLIsIndexElement',
126             'HTML::DOM::Element::Style' => 'HTMLStyleElement',
127             'HTML::DOM::Element::Body' => 'HTMLBodyElement',
128             'HTML::DOM::Element::Form' => 'HTMLFormElement',
129             'HTML::DOM::Element::Select' => 'HTMLSelectElement',
130             'HTML::DOM::Element::OptGroup' => 'HTMLOptGroupElement',
131             'HTML::DOM::Element::Option' => 'HTMLOptionElement',
132             'HTML::DOM::Element::Input' => 'HTMLInputElement',
133             'HTML::DOM::Element::TextArea' => 'HTMLTextAreaElement',
134             'HTML::DOM::Element::Button' => 'HTMLButtonElement',
135             'HTML::DOM::Element::Label' => 'HTMLLabelElement',
136             'HTML::DOM::Element::FieldSet' => 'HTMLFieldSetElement',
137             'HTML::DOM::Element::Legend' => 'HTMLLegendElement',
138             'HTML::DOM::Element::UL' => 'HTMLUListElement',
139             'HTML::DOM::Element::OL' => 'HTMLOListElement',
140             'HTML::DOM::Element::DL' => 'HTMLDListElement',
141             'HTML::DOM::Element::Dir' => 'HTMLDirectoryElement',
142             'HTML::DOM::Element::Menu' => 'HTMLMenuElement',
143             'HTML::DOM::Element::LI' => 'HTMLLIElement',
144             'HTML::DOM::Element::Div' => 'HTMLDivElement',
145             'HTML::DOM::Element::P' => 'HTMLParagraphElement',
146             'HTML::DOM::Element::Heading' => 'HTMLHeadingElement',
147             'HTML::DOM::Element::Quote' => 'HTMLQuoteElement',
148             'HTML::DOM::Element::Pre' => 'HTMLPreElement',
149             'HTML::DOM::Element::Br' => 'HTMLBRElement',
150             'HTML::DOM::Element::BaseFont' => 'HTMLBaseFontElement',
151             'HTML::DOM::Element::Font' => 'HTMLFontElement',
152             'HTML::DOM::Element::HR' => 'HTMLHRElement',
153             'HTML::DOM::Element::Mod' => 'HTMLModElement',
154             'HTML::DOM::Element::A' => 'HTMLAnchorElement',
155             'HTML::DOM::Element::Img' => 'HTMLImageElement',
156             'HTML::DOM::Element::Object' => 'HTMLObjectElement',
157             'HTML::DOM::Element::Param' => 'HTMLParamElement',
158             'HTML::DOM::Element::Applet' => 'HTMLAppletElement',
159             'HTML::DOM::Element::Map' => 'HTMLMapElement',
160             'HTML::DOM::Element::Area' => 'HTMLAreaElement',
161             'HTML::DOM::Element::Script' => 'HTMLScriptElement',
162             'HTML::DOM::Element::Table' => 'HTMLTableElement',
163             'HTML::DOM::Element::Caption' => 'HTMLTableCaptionElement',
164             'HTML::DOM::Element::TableColumn' => 'HTMLTableColElement',
165             'HTML::DOM::Element::TableSection' => 'HTMLTableSectionElement',
166             'HTML::DOM::Element::TR' => 'HTMLTableRowElement',
167             'HTML::DOM::Element::TableCell' => 'HTMLTableCellElement',
168             'HTML::DOM::Element::FrameSet' => 'HTMLFrameSetElement',
169             'HTML::DOM::Element::Frame' => 'HTMLFrameElement',
170             'HTML::DOM::Element::IFrame' => 'HTMLIFrameElement',
171             'HTML::DOM::NodeList' => 'NodeList',
172             'HTML::DOM::NodeList::Radio' => 'NodeList',
173             'HTML::DOM::NodeList::Magic' => 'NodeList',
174             'HTML::DOM::NamedNodeMap' => 'NamedNodeMap',
175             'HTML::DOM::Attr' => 'Attr',
176             'HTML::DOM::Collection' => 'HTMLCollection',
177             'HTML::DOM::Collection::Elements' => 'HTMLCollection',
178             'HTML::DOM::Collection::Options' => 'HTMLOptionsCollection',
179             'HTML::DOM::Event' => 'Event',
180             'HTML::DOM::View' => 'AbstractView',
181             'HTML::DOM::Event::Mouse' => 'MouseEvent',
182             'HTML::DOM::Event::UI' => 'UIEvent',
183             'HTML::DOM::Event::Mutation' => 'MutationEvent',
184             'HTML::DOM::EventTarget' => 'EventTarget',
185             DOMException => {
186             code => NUM | READONLY,
187             _constants => [qw[
188             HTML::DOM::Exception::INDEX_SIZE_ERR
189             HTML::DOM::Exception::DOMSTRING_SIZE_ERR
190             HTML::DOM::Exception::HIERARCHY_REQUEST_ERR
191             HTML::DOM::Exception::WRONG_DOCUMENT_ERR
192             HTML::DOM::Exception::INVALID_CHARACTER_ERR
193             HTML::DOM::Exception::NO_DATA_ALLOWED_ERR
194             HTML::DOM::Exception::NO_MODIFICATION_ALLOWED_ERR
195             HTML::DOM::Exception::NOT_FOUND_ERR
196             HTML::DOM::Exception::NOT_SUPPORTED_ERR
197             HTML::DOM::Exception::INUSE_ATTRIBUTE_ERR
198             HTML::DOM::Exception::INVALID_STATE_ERR
199             HTML::DOM::Exception::SYNTAX_ERR
200             HTML::DOM::Exception::INVALID_MODIFICATION_ERR
201             HTML::DOM::Exception::NAMESPACE_ERR
202             HTML::DOM::Exception::INVALID_ACCESS_ERR
203             HTML::DOM::Exception::UNSPECIFIED_EVENT_TYPE_ERR
204             ]],
205             },
206             DOMImplementation => {
207             _hash => 0,
208             _array => 0,
209             hasFeature => METHOD | BOOL,
210             # createDocumentType => METHOD | OBJ,
211             # createDocument => METHOD | OBJ,
212             # createCSSStyleSheet => METHOD | OBJ,
213             },
214             EventTarget => {
215             addEventListener => METHOD | VOID,
216             removeEventListener => METHOD | VOID,
217             dispatchEvent => METHOD | BOOL,
218             onabort => OBJ,
219             onbeforeunload => OBJ,
220             onblur => OBJ,
221             onchange => OBJ,
222             onclick => OBJ,
223             oncontextmenu => OBJ,
224             ondblclick => OBJ,
225             ondrag => OBJ,
226             ondragend => OBJ,
227             ondragenter => OBJ,
228             ondragleave => OBJ,
229             ondragover => OBJ,
230             ondragstart => OBJ,
231             ondrop => OBJ,
232             onerror => OBJ,
233             onfocus => OBJ,
234             onhashchange => OBJ,
235             onkeydown => OBJ,
236             onkeypress => OBJ,
237             onkeyup => OBJ,
238             onload => OBJ,
239             onmessage => OBJ,
240             onmousedown => OBJ,
241             onmousemove => OBJ,
242             onmouseout => OBJ,
243             onmouseover => OBJ,
244             onmouseup => OBJ,
245             onmousewheel => OBJ,
246             onresize => OBJ,
247             onscroll => OBJ,
248             onselect => OBJ,
249             onstorage => OBJ,
250             onsubmit => OBJ,
251             onunload => OBJ,
252             },
253             Node => {
254             _isa => 'EventTarget',
255             _hash => 0,
256             _array => 0,
257             _constants => [qw[
258             HTML::DOM::Node::ELEMENT_NODE
259             HTML::DOM::Node::ATTRIBUTE_NODE
260             HTML::DOM::Node::TEXT_NODE
261             HTML::DOM::Node::CDATA_SECTION_NODE
262             HTML::DOM::Node::ENTITY_REFERENCE_NODE
263             HTML::DOM::Node::ENTITY_NODE
264             HTML::DOM::Node::PROCESSING_INSTRUCTION_NODE
265             HTML::DOM::Node::COMMENT_NODE
266             HTML::DOM::Node::DOCUMENT_NODE
267             HTML::DOM::Node::DOCUMENT_TYPE_NODE
268             HTML::DOM::Node::DOCUMENT_FRAGMENT_NODE
269             HTML::DOM::Node::NOTATION_NODE
270             ]],
271             nodeName => STR | READONLY,
272             nodeValue => STR,
273             nodeType => NUM | READONLY,
274             parentNode => OBJ | READONLY,
275             childNodes => OBJ | READONLY,
276             firstChild => OBJ | READONLY,
277             lastChild => OBJ | READONLY,
278             previousSibling => OBJ | READONLY,
279             nextSibling => OBJ | READONLY,
280             attributes => OBJ | READONLY,
281             ownerDocument => OBJ | READONLY,
282             insertBefore => METHOD | OBJ,
283             replaceChild => METHOD | OBJ,
284             removeChild => METHOD | OBJ,
285             appendChild => METHOD | OBJ,
286             hasChildNodes => METHOD | BOOL,
287             cloneNode => METHOD | OBJ,
288             normalize => METHOD | VOID,
289             isSupported => METHOD | BOOL,
290             namespaceURI => STR | READONLY,
291             prefix => STR,
292             localName => STR | READONLY,
293             hasAttributes => METHOD | BOOL,
294             },
295             NodeList => {
296             _hash => 0,
297             _array => 1,
298             item => METHOD | OBJ,
299             length => NUM | READONLY,
300             },
301             NamedNodeMap => {
302             _hash => 1,
303             _array => 1,
304             getNamedItem => METHOD | OBJ,
305             setNamedItem => METHOD | OBJ,
306             removeNamedItem => METHOD | OBJ,
307             item => METHOD | OBJ,
308             length => NUM | READONLY,
309             # getNamedItemNS => METHOD | OBJ,
310             # setNamedItemNS => METHOD | OBJ,
311             # removeNamedItemNS => METHOD | OBJ,
312             },
313             CharacterData => {
314             _isa => 'Node',
315             _hash => 0,
316             _array => 0,
317             data => STR,
318             length => NUM | READONLY | UTF16,
319             substringData => METHOD | STR | UTF16,
320             appendData => METHOD | VOID,
321             insertData => METHOD | VOID | UTF16,
322             deleteData => METHOD | VOID | UTF16,
323             replaceData => METHOD | VOID | UTF16,
324             },
325             Attr => {
326             _isa => 'Node',
327             _hash => 0,
328             _array => 0,
329             name => STR | READONLY,
330             specified => BOOL | READONLY,
331             value => STR,
332             ownerElement => OBJ | READONLY,
333             },
334             Text => {
335             _isa => 'CharacterData',
336             _hash => 0,
337             _array => 0,
338             splitText => METHOD | OBJ | UTF16,
339             },
340             Comment => {
341             _isa => 'CharacterData',
342             _hash => 0,
343             _array => 0,
344             },
345             DocumentFragment => {
346             _isa => 'Node',
347             _hash => 0,
348             _array => 0,
349             },
350             HTMLCollection => {
351             _hash => 1,
352             _array => 1,
353             length => NUM | READONLY,
354             item => METHOD | OBJ,
355             namedItem => METHOD | OBJ,
356             },
357             HTMLOptionsCollection => {
358             _hash => 1,
359             _array => 1,
360             length => NUM,
361             item => METHOD | OBJ,
362             namedItem => METHOD | OBJ,
363             },
364             HTMLDocument => {
365             doctype => OBJ | READONLY,
366             _hash => 1,
367             _array => 0,
368             implementation => OBJ | READONLY,
369             documentElement => OBJ | READONLY,
370             createElement => METHOD | OBJ,
371             createDocumentFragment => METHOD | OBJ,
372             createTextNode => METHOD | OBJ,
373             createComment => METHOD | OBJ,
374             createCDATASection => METHOD | OBJ,
375             createProcessingInstruction => METHOD | OBJ,
376             createAttribute => METHOD | OBJ,
377             createEntityReference => METHOD | OBJ,
378             getElementsByTagName => METHOD | OBJ,
379             importNode => METHOD | OBJ,
380             # createElementNS => METHOD | OBJ,
381             # createAttributeNS => METHOD | OBJ,
382             # getElementsByTagNameNS => METHOD | OBJ,
383             getElementById => METHOD | OBJ,
384             _isa => 'Node',
385             title => STR,
386             referrer => STR | READONLY,
387             domain => STR | READONLY,
388             URL => STR | READONLY,
389             body => OBJ,
390             images => OBJ | READONLY,
391             applets => OBJ | READONLY,
392             links => OBJ | READONLY,
393             forms => OBJ | READONLY,
394             anchors => OBJ | READONLY,
395             cookie => STR,
396             open => METHOD | VOID,
397             close => METHOD | VOID,
398             write => METHOD | VOID,
399             writeln => METHOD | VOID,
400             getElementsByName => METHOD | OBJ,
401             getElementsByClassName => METHOD | OBJ,
402             createEvent => METHOD | OBJ,
403             defaultView => OBJ | READONLY,
404             styleSheets => OBJ | READONLY,
405             # getOverrideStyle => METHOD | OBJ,
406             innerHTML => STR,
407             location => OBJ,
408             lastModified => STR | READONLY,
409             },
410             HTMLElement => {
411             tagName => STR | READONLY,
412             _hash => 0,
413             _array => 0,
414             getAttribute => METHOD | STR,
415             setAttribute => METHOD | VOID,
416             removeAttribute => METHOD | VOID,
417             getAttributeNode => METHOD | OBJ,
418             setAttributeNode => METHOD | OBJ,
419             removeAttributeNode => METHOD | OBJ,
420             getElementsByTagName => METHOD | OBJ,
421             # getAttributeNS => METHOD | STR,
422             # setAttributeNS => METHOD | VOID,
423             # removeAttributeNS => METHOD | VOID,
424             # getAttributeNodeNS => METHOD | OBJ,
425             # setAttributeNodeNS => METHOD | OBJ,
426             # getElementsByTagNameNS => METHOD | OBJ,
427             hasAttribute => METHOD | BOOL,
428             # hasAttributeNS => METHOD | BOOL,
429             _isa => 'Node',
430             id => STR,
431             title => STR,
432             lang => STR,
433             dir => STR,
434             className => STR,
435             style => OBJ | READONLY,
436             innerHTML => STR,
437             insertAdjacentHTML => METHOD | VOID,
438             insertAdjacentElement => METHOD | VOID,
439             getElementsByClassName => METHOD | OBJ,
440             innerText => STR,
441             },
442             HTMLHtmlElement => {
443             _isa => 'HTMLElement',
444             _hash => 0,
445             _array => 0,
446             version => STR,
447             },
448             HTMLHeadElement => {
449             _isa => 'HTMLElement',
450             _hash => 0,
451             _array => 0,
452             profile => STR,
453             },
454             HTMLLinkElement => {
455             _isa => 'HTMLElement',
456             _hash => 0,
457             _array => 0,
458             disabled => BOOL,
459             charset => STR,
460             href => STR,
461             hreflang => STR,
462             media => STR,
463             rel => STR,
464             rev => STR,
465             target => STR,
466             type => STR,
467             sheet => OBJ | READONLY,
468             },
469             HTMLTitleElement => {
470             _isa => 'HTMLElement',
471             _hash => 0,
472             _array => 0,
473             text => STR,
474             },
475             HTMLMetaElement => {
476             _isa => 'HTMLElement',
477             _hash => 0,
478             _array => 0,
479             content => STR,
480             httpEquiv => STR,
481             name => STR,
482             scheme => STR,
483             },
484             HTMLBaseElement => {
485             _isa => 'HTMLElement',
486             _hash => 0,
487             _array => 0,
488             href => STR,
489             target => STR,
490             },
491             HTMLIsIndexElement => {
492             _isa => 'HTMLElement',
493             _hash => 0,
494             _array => 0,
495             form => OBJ | READONLY,
496             prompt => STR,
497             },
498             HTMLStyleElement => {
499             _isa => 'HTMLElement',
500             _hash => 0,
501             _array => 0,
502             disabled => BOOL,
503             media => STR,
504             type => STR,
505             sheet => OBJ | READONLY,
506             },
507             HTMLBodyElement => {
508             _isa => 'HTMLElement',
509             _hash => 0,
510             _array => 0,
511             aLink => STR,
512             background => STR,
513             bgColor => STR,
514             link => STR,
515             text => STR,
516             vLink => STR,
517             },
518             HTMLFormElement => {
519             _isa => 'HTMLElement',
520             _hash => 1,
521             _array => 1,
522             elements => OBJ | READONLY,
523             length => NUM | READONLY,
524             name => STR,
525             acceptCharset => STR,
526             action => STR,
527             enctype => STR,
528             method => STR,
529             target => STR,
530             submit => METHOD | VOID,
531             reset => METHOD | VOID,
532             },
533             HTMLSelectElement => {
534             _isa => 'HTMLElement',
535             _hash => 0,
536             _array => 0,
537             type => STR | READONLY,
538             selectedIndex => NUM,
539             value => STR,
540             length => NUM,
541             form => OBJ | READONLY,
542             options => OBJ | READONLY,
543             disabled => BOOL,
544             multiple => BOOL,
545             name => STR,
546             size => NUM,
547             tabIndex => NUM,
548             add => METHOD | VOID,
549             remove => METHOD | VOID,
550             blur => METHOD | VOID,
551             focus => METHOD | VOID,
552             },
553             HTMLOptGroupElement => {
554             _isa => 'HTMLElement',
555             _hash => 0,
556             _array => 0,
557             disabled => BOOL,
558             label => STR,
559             },
560             HTMLOptionElement => {
561             _isa => 'HTMLElement',
562             _hash => 0,
563             _array => 0,
564             form => OBJ | READONLY,
565             defaultSelected => BOOL,
566             text => STR | READONLY,
567             index => NUM,
568             disabled => BOOL,
569             label => STR,
570             selected => BOOL,
571             value => STR,
572             },
573             HTMLInputElement => {
574             _isa => 'HTMLElement',
575             _hash => 0,
576             _array => 0,
577             defaultValue => STR,
578             defaultChecked => BOOL,
579             form => OBJ | READONLY,
580             accept => STR,
581             accessKey => STR,
582             align => STR,
583             alt => STR,
584             checked => BOOL,
585             disabled => BOOL,
586             maxLength => NUM,
587             name => STR,
588             readOnly => BOOL,
589             size => NUM,
590             src => STR,
591             tabIndex => NUM,
592             type => STR,
593             useMap => STR,
594             value => STR,
595             blur => METHOD | VOID,
596             focus => METHOD | VOID,
597             select => METHOD | VOID,
598             click => METHOD | VOID,
599             },
600             HTMLTextAreaElement => {
601             _isa => 'HTMLElement',
602             _hash => 0,
603             _array => 0,
604             defaultValue => STR,
605             form => OBJ | READONLY,
606             accessKey => STR,
607             cols => NUM,
608             disabled => BOOL,
609             name => STR,
610             readOnly => BOOL,
611             rows => NUM,
612             tabIndex => NUM,
613             type => STR | READONLY,
614             value => STR,
615             blur => METHOD | VOID,
616             focus => METHOD | VOID,
617             select => METHOD | VOID,
618             },
619             HTMLButtonElement => {
620             _isa => 'HTMLElement',
621             _hash => 0,
622             _array => 0,
623             form => OBJ | READONLY,
624             accessKey => STR,
625             disabled => BOOL,
626             name => STR,
627             tabIndex => NUM,
628             type => STR | READONLY,
629             value => STR,
630             },
631             HTMLLabelElement => {
632             _isa => 'HTMLElement',
633             _hash => 0,
634             _array => 0,
635             form => OBJ | READONLY,
636             accessKey => STR,
637             htmlFor => STR,
638             },
639             HTMLFieldSetElement => {
640             _isa => 'HTMLElement',
641             _hash => 0,
642             _array => 0,
643             form => OBJ | READONLY,
644             },
645             HTMLLegendElement => {
646             _isa => 'HTMLElement',
647             _hash => 0,
648             _array => 0,
649             form => OBJ | READONLY,
650             accessKey => STR,
651             align => STR,
652             },
653             HTMLUListElement => {
654             _isa => 'HTMLElement',
655             _hash => 0,
656             _array => 0,
657             compact => BOOL,
658             type => STR,
659             },
660             HTMLOListElement => {
661             _isa => 'HTMLElement',
662             _hash => 0,
663             _array => 0,
664             compact => BOOL,
665             start => NUM,
666             type => STR,
667             },
668             HTMLDListElement => {
669             _isa => 'HTMLElement',
670             _hash => 0,
671             _array => 0,
672             compact => BOOL,
673             },
674             HTMLDirectoryElement => {
675             _isa => 'HTMLElement',
676             _hash => 0,
677             _array => 0,
678             compact => BOOL,
679             },
680             HTMLMenuElement => {
681             _isa => 'HTMLElement',
682             _hash => 0,
683             _array => 0,
684             compact => BOOL,
685             },
686             HTMLLIElement => {
687             _isa => 'HTMLElement',
688             _hash => 0,
689             _array => 0,
690             type => STR,
691             value => NUM,
692             },
693             HTMLDivElement => {
694             _isa => 'HTMLElement',
695             _hash => 0,
696             _array => 0,
697             align => STR,
698             },
699             HTMLParagraphElement => {
700             _isa => 'HTMLElement',
701             _hash => 0,
702             _array => 0,
703             align => STR,
704             },
705             HTMLHeadingElement => {
706             _isa => 'HTMLElement',
707             _hash => 0,
708             _array => 0,
709             align => STR,
710             },
711             HTMLQuoteElement => {
712             _isa => 'HTMLElement',
713             _hash => 0,
714             _array => 0,
715             cite => STR,
716             },
717             HTMLPreElement => {
718             _isa => 'HTMLElement',
719             _hash => 0,
720             _array => 0,
721             width => NUM,
722             },
723             HTMLBRElement => {
724             _isa => 'HTMLElement',
725             _hash => 0,
726             _array => 0,
727             clear => STR,
728             },
729             HTMLBaseFontElement => {
730             _isa => 'HTMLElement',
731             _hash => 0,
732             _array => 0,
733             color => STR,
734             face => STR,
735             size => NUM,
736             },
737             HTMLFontElement => {
738             _isa => 'HTMLElement',
739             _hash => 0,
740             _array => 0,
741             color => STR,
742             face => STR,
743             size => STR,
744             },
745             HTMLHRElement => {
746             _isa => 'HTMLElement',
747             _hash => 0,
748             _array => 0,
749             align => STR,
750             noShade => BOOL,
751             size => STR,
752             width => STR,
753             },
754             HTMLModElement => {
755             _isa => 'HTMLElement',
756             _hash => 0,
757             _array => 0,
758             cite => STR,
759             dateTime => STR,
760             },
761             HTMLAnchorElement => {
762             _isa => 'HTMLElement',
763             _hash => 0,
764             _array => 0,
765             accessKey => STR,
766             charset => STR,
767             coords => STR,
768             href => STR,
769             hreflang => STR,
770             name => STR,
771             rel => STR,
772             rev => STR,
773             shape => STR,
774             tabIndex => NUM,
775             target => STR,
776             type => STR,
777             blur => METHOD | VOID,
778             focus => METHOD | VOID,
779             hash => STR,
780             host => STR,
781             hostname => STR,
782             pathname => STR,
783             port => STR,
784             protocol => STR,
785             search => STR,
786             },
787             HTMLImageElement => {
788             _isa => 'HTMLElement',
789             _hash => 0,
790             _array => 0,
791             name => STR,
792             align => STR,
793             alt => STR,
794             border => STR,
795             height => NUM,
796             hspace => NUM,
797             isMap => BOOL,
798             longDesc => STR,
799             src => STR,
800             useMap => STR,
801             vspace => NUM,
802             width => NUM,
803             lowSrc => STR,
804             },
805             HTMLObjectElement => {
806             _isa => 'HTMLElement',
807             _hash => 0,
808             _array => 0,
809             form => OBJ | READONLY,
810             code => STR,
811             align => STR,
812             archive => STR,
813             border => STR,
814             codeBase => STR,
815             codeType => STR,
816             data => STR,
817             declare => BOOL,
818             height => STR,
819             hspace => NUM,
820             name => STR,
821             standby => STR,
822             tabIndex => NUM,
823             type => STR,
824             useMap => STR,
825             vspace => NUM,
826             width => STR,
827             contentDocument => OBJ | READONLY,
828             },
829             HTMLParamElement => {
830             _isa => 'HTMLElement',
831             _hash => 0,
832             _array => 0,
833             name => STR,
834             type => STR,
835             value => STR,
836             valueType => STR,
837             },
838             HTMLAppletElement => {
839             _isa => 'HTMLElement',
840             _hash => 0,
841             _array => 0,
842             align => STR,
843             alt => STR,
844             archive => STR,
845             code => STR,
846             codeBase => STR,
847             height => STR,
848             hspace => NUM,
849             name => STR,
850             object => STR,
851             vspace => NUM,
852             width => STR,
853             },
854             HTMLMapElement => {
855             _isa => 'HTMLElement',
856             _hash => 0,
857             _array => 0,
858             areas => OBJ | READONLY,
859             name => STR,
860             },
861             HTMLAreaElement => {
862             _isa => 'HTMLElement',
863             _hash => 0,
864             _array => 0,
865             accessKey => STR,
866             alt => STR,
867             coords => STR,
868             href => STR,
869             noHref => BOOL,
870             shape => STR,
871             tabIndex => NUM,
872             target => STR,
873             hash => STR,
874             host => STR,
875             hostname => STR,
876             pathname => STR,
877             port => STR,
878             protocol => STR,
879             search => STR,
880             },
881             HTMLScriptElement => {
882             _isa => 'HTMLElement',
883             _hash => 0,
884             _array => 0,
885             text => STR,
886             htmlFor => STR,
887             event => STR,
888             charset => STR,
889             defer => BOOL,
890             src => STR,
891             type => STR,
892             },
893             HTMLTableElement => {
894             _isa => 'HTMLElement',
895             _hash => 0,
896             _array => 0,
897             caption => OBJ,
898             tHead => OBJ,
899             tFoot => OBJ,
900             rows => OBJ | READONLY,
901             tBodies => OBJ | READONLY,
902             align => STR,
903             bgColor => STR,
904             border => STR,
905             cellPadding => STR,
906             cellSpacing => STR,
907             frame => STR,
908             rules => STR,
909             summary => STR,
910             width => STR,
911             createTHead => METHOD | OBJ,
912             deleteTHead => METHOD | VOID,
913             createTFoot => METHOD | OBJ,
914             deleteTFoot => METHOD | VOID,
915             createCaption => METHOD | OBJ,
916             deleteCaption => METHOD | VOID,
917             insertRow => METHOD | OBJ,
918             deleteRow => METHOD | VOID,
919             },
920             HTMLTableCaptionElement => {
921             _isa => 'HTMLElement',
922             _hash => 0,
923             _array => 0,
924             align => STR,
925             },
926             HTMLTableColElement => {
927             _isa => 'HTMLElement',
928             _hash => 0,
929             _array => 0,
930             align => STR,
931             ch => STR,
932             chOff => STR,
933             span => NUM,
934             vAlign => STR,
935             width => STR,
936             },
937             HTMLTableSectionElement => {
938             _isa => 'HTMLElement',
939             _hash => 0,
940             _array => 0,
941             align => STR,
942             ch => STR,
943             chOff => STR,
944             vAlign => STR,
945             rows => OBJ | READONLY,
946             insertRow => METHOD | OBJ,
947             deleteRow => METHOD | VOID,
948             },
949             HTMLTableRowElement => {
950             _isa => 'HTMLElement',
951             _hash => 0,
952             _array => 0,
953             rowIndex => NUM | READONLY,
954             sectionRowIndex => NUM | READONLY,
955             cells => OBJ | READONLY,
956             align => STR,
957             bgColor => STR,
958             ch => STR,
959             chOff => STR,
960             vAlign => STR,
961             insertCell => METHOD | OBJ,
962             deleteCell => METHOD | VOID,
963             },
964             HTMLTableCellElement => {
965             _isa => 'HTMLElement',
966             _hash => 0,
967             _array => 0,
968             cellIndex => NUM | READONLY,
969             abbr => STR,
970             align => STR,
971             axis => STR,
972             bgColor => STR,
973             ch => STR,
974             chOff => STR,
975             colSpan => NUM,
976             headers => STR,
977             height => STR,
978             noWrap => BOOL,
979             rowSpan => NUM,
980             scope => STR,
981             vAlign => STR,
982             width => STR,
983             },
984             HTMLFrameSetElement => {
985             _isa => 'HTMLElement',
986             _hash => 0,
987             _array => 0,
988             cols => STR,
989             rows => STR,
990             },
991             HTMLFrameElement => {
992             _isa => 'HTMLElement',
993             _hash => 0,
994             _array => 0,
995             frameBorder => STR,
996             longDesc => STR,
997             marginHeight => STR,
998             marginWidth => STR,
999             name => STR,
1000             noResize => BOOL,
1001             scrolling => STR,
1002             src => STR,
1003             contentDocument => OBJ | READONLY,
1004             contentWindow => OBJ | READONLY,
1005             },
1006             HTMLIFrameElement => {
1007             _isa => 'HTMLElement',
1008             _hash => 0,
1009             _array => 0,
1010             align => STR,
1011             frameBorder => STR,
1012             height => STR,
1013             longDesc => STR,
1014             marginHeight => STR,
1015             marginWidth => STR,
1016             name => STR,
1017             scrolling => STR,
1018             src => STR,
1019             width => STR,
1020             contentDocument => OBJ | READONLY,
1021             contentWindow => OBJ | READONLY,
1022             },
1023             Event => {
1024             _hash => 0,
1025             _array => 0,
1026             _constants => [qw[
1027             HTML::DOM::Event::CAPTURING_PHASE
1028             HTML::DOM::Event::AT_TARGET
1029             HTML::DOM::Event::BUBBLING_PHASE
1030             ]],
1031             type => STR | READONLY,
1032             target => OBJ | READONLY,
1033             currentTarget => OBJ | READONLY,
1034             eventPhase => NUM | READONLY,
1035             bubbles => BOOL | READONLY,
1036             cancelable => BOOL | READONLY,
1037             timeStamp => OBJ | READONLY,
1038             stopPropagation => METHOD | VOID,
1039             preventDefault => METHOD | VOID,
1040             initEvent => METHOD | VOID,
1041             },
1042             UIEvent => {
1043             _isa => 'Event',
1044             _hash => 0,
1045             _array => 0,
1046             view => OBJ | READONLY,
1047             detail => NUM | READONLY,
1048             initUIEvent => METHOD | VOID,
1049             },
1050             MouseEvent => {
1051             _isa => 'UIEvent',
1052             _hash => 0,
1053             _array => 0,
1054             screenX => NUM | READONLY,
1055             screenY => NUM | READONLY,
1056             clientX => NUM | READONLY,
1057             clientY => NUM | READONLY,
1058             ctrlKey => BOOL | READONLY,
1059             shiftKey => BOOL | READONLY,
1060             altKey => BOOL | READONLY,
1061             metaKey => BOOL | READONLY,
1062             button => NUM | READONLY,
1063             relatedTarget => OBJ | READONLY,
1064             initMouseEvent => METHOD | VOID,
1065             },
1066             MutationEvent => {
1067             _isa => 'Event',
1068             _hash => 0,
1069             _array => 0,
1070             _constants => [qw[
1071             HTML::DOM::Event::Mutation::MODIFICATION
1072             HTML::DOM::Event::Mutation::ADDITION
1073             HTML::DOM::Event::Mutation::REMOVAL
1074             ]],
1075             relatedNode => OBJ | READONLY,
1076             prevValue => STR | READONLY,
1077             newValue => STR | READONLY,
1078             attrName => STR | READONLY,
1079             attrChange => NUM | READONLY,
1080             initMutationEvent => METHOD | VOID,
1081             },
1082             AbstractView => {
1083             _hash => 0,
1084             _array => 0,
1085             document => OBJ | READONLY,
1086             getComputedStyle => METHOD | OBJ,
1087             },
1088             );
1089              
1090             __END__