Revision history for Perl extension XML::Grove.

Backwards incompatible changes are marked with a `*'.

Changes in Version 1.0

Version 1.0 is virtually a complete rewrite.  The summary below
presents the changes as a bullet list, but you should probably reread
the POD docs because they have been updated and should be much clearer
than before (let me know if you don't think so!).


 * XML::Grove REQUIRES Perl 5.005

 * The class structure of XML::Grove changes somewhat.

   * XML::Grove::Document now contains the document information where
     XML::Grove itself used to hold that information.

   * The class XML::Grove is now the common superclass of all classes
     in the XML::Grove module, and XML::Grove isa Data::Grove (in
     libxml-perl).

   * Internal class XML::Grove::_Common is gone.

     If you had created extensions to XML::Grove and added methods to
     XML::Grove::_Common, you should move them to XML::Grove.

 * You now access grove properties directly, i.e.

       $element_name = $element->{Name};

   instead of using methods to access the properties.

 * XML::Grove objects all now appear to have Parent references.

   * This is done using tied hashes and arrays, see Data::Grove::Tied
     if you see any wierd problems.  Use

         $real_object = $node->{Raw};

     to get the real object behind the tied hash.

 * No More XML::Grove::Iter!!

 * all scalars are now XML::Grove::Characters objects, if you store a
   scalar value into element content it will be converted to an
   XML::Grove::Characters object.

 * visit_grove is now visit_document.

 * visit_scalar is now visit_characters.  The object you receive is an
   XML::Grove::Characters object and $characters->{Data} gives you the
   text.

 * XML::Grove::Visitor is now Data::Grove::Visitor in libxml-perl

 * Visitor now checks the visitor object for methods it supports and
   silently ignores undefined methods.  If the visited object has a
   `Contents' property, Visitor will call `children_accept' or
   `children_accept_name' if there is no defined method.

 * All properties are mixed case, see XML::Grove(3) and the
   grove builder and parser man pages for attribute names.

 * FIXME check all places where Iter, visit_scalar, and delegate occur.

 * XML::Parser::Grove is replaced by by using XML::Parser::PerlSAX (in
   libxml-perl) and XML::Grove::Builder.  See XML::Grove::Builder for usage.

 * added more tests and a `t' directory