|
NAMEHTML::ElementSuper - Perl extension for HTML::Element(3) SYNOPSIS use HTML::ElementSuper;
### Positional extension
$e = new HTML::ElementSuper 'font';
$sibling_number = $e->addr();
$e2 = new HTML::ElementSuper 'p';
$e2->push_content($e);
#
@coords = $e->position();
$depth_in_pos_tree = $e->depth();
### Replacer extension
$er = new HTML::ElementSuper 'font';
# Tree beneath $er, if present, is dropped.
$er->replace_content(new HTML::Element 'p');
### Wrapper extension
$ew = new HTML::ElementSuper;
$ew->push_content("Tickle me, baby");
$ew->wrap_content(new HTML::Element 'font', color => 'pink');
print $ew->as_HTML();
### Maskable extension
$em = new HTML::ElementSuper 'td';
$em->mask(1);
print $em->as_HTML; # nada
$em->mask(0);
print $em->as_HTML; # $e and its children are visible
### Cloning of own tree or another element's tree
### (is this the correct clomenature? :-)
$a = new HTML::ElementSuper 'font', size => 2;
$b = new HTML::ElementSuper 'font', color => 'red';
$a_clone = $a->clone;
$b_clone = $a->clone($b);
# Multiple elements can be cloned
@clone_clones = $a_clone->clone($a_clone, $b_clone);
DESCRIPTIONHTML::ElementSuper is an extension for HTML::Element(3) that provides several new methods to assist in element manipulation. An HTML::ElementSuper has the following additional properties: * report is coordinate position in a tree of its peers
* replace its contents
* wrap its contents in a new element
* mask itself so that it and its descendants are invisible to
traverse()
* clone itself and other HTML::Element based object trees
* handle multiple values for attributes
Note that these extensions were originally developed to assist in implementing the HTML::ElementTable(3) class, but were thought to be of general enough utility to warrant their own package. METHODS
REQUIRESHTML::Element(3), Data::Dumper(3) AUTHORMatthew P. Sisk, <sisk@mojotoad.com> COPYRIGHTCopyright (c) 1998-2010 Matthew P. Sisk. All rights reserved. All wrongs revenged. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSOHTML::Element(3), HTML::ElementGlob(3), HTML::ElementRaw(3), HTML::ElementTable(3), perl(1).
|