HTML-DOM
view release on metacpan or search on metacpan
lib/HTML/DOM/Element.pm view on Meta::CPAN
package HTML::DOM::Element;
use strict;
use warnings;
use HTML::DOM::Exception qw 'INVALID_CHARACTER_ERR
INUSE_ATTRIBUTE_ERR NOT_FOUND_ERR SYNTAX_ERR';
use HTML::DOM::Node 'ELEMENT_NODE';
use HTML'Entities;
use Scalar::Util qw'refaddr blessed weaken';
require HTML::DOM::Attr;
require HTML::DOM::Element::Form;
require HTML::DOM::Element::Table;
require HTML::DOM::NamedNodeMap;
require HTML::DOM::Node;
require HTML::DOM::NodeList::Magic;
our @ISA = qw'HTML::DOM::Node';
our $VERSION = '0.058';
{
# ~~~ Perhaps I should make class_for into a class method, rather
# than a function, so Element.pm can be subclassed. Maybe I'll
# wait until someone tries to subclass it. (Applies to Event.pm
# as well.) If a potential subclasser is reading this, will he
# please give me a holler?
my %class_for = (
'~text' => 'HTML::DOM::Text',
html => 'HTML::DOM::Element::HTML',
head => 'HTML::DOM::Element::Head',
link => 'HTML::DOM::Element::Link',
title => 'HTML::DOM::Element::Title',
meta => 'HTML::DOM::Element::Meta',
base => 'HTML::DOM::Element::Base',
isindex=> 'HTML::DOM::Element::IsIndex',
style => 'HTML::DOM::Element::Style',
body => 'HTML::DOM::Element::Body',
form => 'HTML::DOM::Element::Form',
select => 'HTML::DOM::Element::Select',
optgroup=> 'HTML::DOM::Element::OptGroup',
option => 'HTML::DOM::Element::Option',
input => 'HTML::DOM::Element::Input',
textarea=> 'HTML::DOM::Element::TextArea',
button => 'HTML::DOM::Element::Button',
label => 'HTML::DOM::Element::Label',
fieldset=> 'HTML::DOM::Element::FieldSet',
legend => 'HTML::DOM::Element::Legend',
ul => 'HTML::DOM::Element::UL',
ol => 'HTML::DOM::Element::OL',
dl => 'HTML::DOM::Element::DL',
dir => 'HTML::DOM::Element::Dir',
menu => 'HTML::DOM::Element::Menu',
li => 'HTML::DOM::Element::LI',
div => 'HTML::DOM::Element::Div',
p => 'HTML::DOM::Element::P',
map((
"h$_" => 'HTML::DOM::Element::Heading'
), 1..6),
q => 'HTML::DOM::Element::Quote',
blockquote=> 'HTML::DOM::Element::Quote',
pre => 'HTML::DOM::Element::Pre',
br => 'HTML::DOM::Element::Br',
basefont => 'HTML::DOM::Element::BaseFont',
font => 'HTML::DOM::Element::Font',
hr => 'HTML::DOM::Element::HR',
ins => 'HTML::DOM::Element::Mod',
del => 'HTML::DOM::Element::Mod',
a => 'HTML::DOM::Element::A',
img => 'HTML::DOM::Element::Img',
object => 'HTML::DOM::Element::Object',
param => 'HTML::DOM::Element::Param',
applet => 'HTML::DOM::Element::Applet',
map => 'HTML::DOM::Element::Map',
area => 'HTML::DOM::Element::Area',
script => 'HTML::DOM::Element::Script',
table => 'HTML::DOM::Element::Table',
caption => 'HTML::DOM::Element::Caption',
col => 'HTML::DOM::Element::TableColumn',
colgroup=> 'HTML::DOM::Element::TableColumn',
thead => 'HTML::DOM::Element::TableSection',
tfoot => 'HTML::DOM::Element::TableSection',
tbody => 'HTML::DOM::Element::TableSection',
tr => 'HTML::DOM::Element::TR',
th => 'HTML::DOM::Element::TableCell',
td => 'HTML::DOM::Element::TableCell',
frameset=> 'HTML::DOM::Element::FrameSet',
frame => 'HTML::DOM::Element::Frame',
iframe => 'HTML::DOM::Element::IFrame',
);
sub class_for {
$class_for{lc$_[0]} || __PACKAGE__
}
}
=head1 NAME
HTML::DOM::Element - A Perl class for representing elements in an HTML DOM tree
=head1 VERSION
Version 0.058
=head1 SYNOPSIS
use HTML::DOM;
$doc = HTML::DOM->new;
( run in 1.275 second using v1.01-cache-2.11-cpan-39bf76dae61 )