HTML::DOM, version 0.012
HTML::DOM is a Perl implementation of the HTML Document Object Model
This is an alpha release. So far, the level-1 DOM interfaces and the
level-2 core interfaces have been implemented, and some of the level-2
event and style sheet interfaces.
CHANGES IN THIS RELEASE
Incompatible changes:
• The parse_file method now uses HTML::Encoding to detect the encod-
ing of the file, if given a file name, and if the encoding has not
been set with the new ‘charset’ method or the constructor’s new
‘charset’ option. It used to assume ISO Latin 1. It still treats
file handles the same way, though; that is, it assumes the file han-
dle is producing Unicode text (you have to ‘binmode’ to set the
encoding if that’s not the case).
New features:
• The constructor now accepts a ‘charset’ option which is used by
parse_file and by the make_request method of form elements.
• A ‘charset’ method has been added to HTML::DOM, which returns the
encoding passed to the constructor or that parse_file used. You can
also use it to set it.
• parse_file’s return value is now useful: true upon success; false
upon failure (to open the file)
• Upward references in the object tree are now weak references.
• I’ve started work on Level-2 HTML features. So far,
• HTML::DOM::Interface lists HTMLOptionsCollection as a separate
interface from HTMLCollection and
• HTML::DOM::Collection::Options now throws an error if
length is set.
• A callback routine passed to event_attr_handler now receives the
offset within the source of the attribute’s value as the
fourth argument.
• Attribute methods of elements now support implicit attri-
butes (those with default values in the DTD).
Bug fixes — see the Changes file
TO DO
- Add support to HTML::DOM::Interface for UTF-16 methods.
- Add Level 2 HTML support
- Finish Level 2 Events support
- Finish Level 2 CSS support
- etc.
- Write more complete documentation
- Write more tests
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.2 or later 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)
- HTTP::Headers::Util is required for writing cookies.
- HTML::Form 1.054 is required if any of the methods provided for
WWW::Mechanize compatibility are to be used.
- CSS::DOM 0.02 or later
- HTML::Encoding is required if the parse_file method is to be used.
- constant::lexical
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 Father Chrysostomos
This program is free software; you may redistribute it and/or modify
it under the same terms as perl.