HTML::DOM, version 0.009

HTML::DOM is a Perl implementation of the HTML Document Object Model

This is an alpha release.  So far, most of the level-1 DOM interfaces
are implemented, and some of the level-2 event interfaces.


CHANGES IN THIS RELEASE

You can do something with errors produced by event handlers by pass-
ing a coderef to the new event_handler method. That coderef will be
called for each error. (Before, such errors were ignored.)

HTML::DOM::Interface has been modified,  such that  'Document'  is  no
longer a  separate  interface  --  since  there  is  no  corresponding
HTML::DOM module--, but all its members are  now  under  HTMLDocument,
which inherits directly from Node. Likewise, 'Element' has been merged
into HTMLElement.

HTML::DOM::Element::Select now has 'add' and 'remove' methods.

'Select' elements can now be used as array refs, so you can write
$select->[0] instead of $select->options->[0].

You can now assign undef to such an array element to delete it, so
'$select->[0] = undef'  does the same  thing  as  'shift @$select'.
'delete $select->[0]' also works.

And a few bug fixes. See the Changes file.


TO DO

- Add support to HTML::DOM::Interface for UTF-16 methods.
- Finish Level 1 HTML support
- Weaken upward references
- Add Level 2 Core support
- Add Level 2 HTML support
- Finish Level 2 Events support
- Add 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.3 or later (only tested with 5.8.7 and
5.8.8) and the following Perl modules:

- 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.

Later it will require other modules (including some CSS modules).


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.
