HTML::DOM, version 0.042
HTML::DOM is a Perl implementation of the HTML Document Object Model
This is an alpha release. So far, the level-2 core, HTML and event
DOM interfaces have been implemented, and some of the level-2 style
sheet interfaces.
RECENT CHANGES
See the Changes file for the long version.
0.042
-----
One bug fix: Unmatched and tags no longer close elements
that are outside the innermost enclosing table.
0.041
-----
Bug fixes:
• A CharacterData node’s data method now stringifies its argument.
• Setting the selected attribute of an orphaned option element no
longer causes errors.
• innerText is now listed in %HTML::DOM::Interface.
• $element->getElementsByTagName now ignores the $element itself.
• $element->setAttribute now stringifies the value, so getAttribute-
Node is no longer confused.
• cloneNode with a true argument (deep clone) now sets the ownerDocu-
ment properly.
• Setting a boolean attribute through the DOM 0 interface now
works properly.
0.040
-----
Bug fix: Calling $doc->write from an elem handler now parses the HTML
code immediately instead of buffering it and waiting for the elem han-
dler to return. This allows aberrations like
$doc->write("); $doc->getElementById('img')...
to work.
TO DO
- Finish Level 2 CSS support
- outerHTML/innerText?
- Other DOM interfaces (the rest of level 2, and level 3)
- HTML 5 stuff
- Write more complete documentation
- Write more tests
- Finishing checking for memory leaks (run all tests under
Devel::Leak::Object)
INSTALLATION
The easiest way to install this module is to use the CPAN module or
the cpan script:
[sudo] perl -MCPAN -e "install HTML::DOM"
[sudo] cpan HTML::DOM
Or you can use the following:
perl Makefile.PL
make
make test
[sudo] make install
DEPENDENCIES
This module requires perl 5.8.3 or higher and the following
Perl modules:
- Scalar::Util 1.14 or later
- Exporter 5.57 or later
- HTML::TreeBuilder and HTML::Element (both part of the HTML::Tree
distribution) (tested with 3.23)
- URI (tested with 1.35)
- LWP 1.13 or later
- CSS::DOM 0.07 or later
- HTML::Encoding is required if the parse_file method is to be used.
- constant::lexical
- Tie::RefHash::Weak 0.08 or higher, if you are using perl 5.8.x
DOCUMENTATION
After installing, you can find documentation for this module with the
perldoc command.
perldoc HTML::DOM
Or try using man (it's faster, in my experience):
man HTML::DOM
COPYRIGHT AND LICENCE
Copyright (C) 2007-10 Father Chrysostomos
This program is free software; you may redistribute it and/or modify
it under the same terms as perl.