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 </td> and </th> 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("<img id='img1'>); $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.
