From null@ActiveState.com Thu Apr  2 16:03:51 1998
Subject: ANN: XML-Grove-0.01
From: Ken MacLeod <ken@bitsko.slc.ut.us>
Date: 02 Apr 1998 15:09:49 -0600


XML::Grove is a mid-level, in-memory object model for XML objects,
somewhat above plain text elements and attributes and below XML-editor
usable or W3C's Document Object Model (DOM).  XML::Grove is primarily
intended for applications that need access to all the structural items
of a document but do not need to preserve the formatting of the
original source.  The biggest differences between DOM and XML::Grove
is that XML::Grove uses Perl arrays and hashes for content and
attributes, uses Perl scalars for character data, and does not
maintain a `parent' pointer in it's objects.  XML::Grove is very
similar to HTML::Element but without predefined element names or

XML::Grove requires an XML parser and currently supports Larry Wall's
XML::Parser module <ftp://www.wall.org/pub/larry/>.

Normally, these early sources would first appear at
<ftp://ftp.uu.net/vendor/bitsko/gdo/test/> and be mirrored at
but it appears that I've overextended my quota there.  For now you can
get the README and the source from

Let me know what you think, I'll wait for comments before announcing
to a larger audience.

  Ken MacLeod


The readme: from http://bitsko.slc.ut.us/~ken/perl-xml/XML-Grove-0.01.readme

$Id: README,v 1.2 1998/04/02 20:12:06 ken Exp $


                   A Perl 5 module providing simple
                   objects for parsed XML documents.

                             Ken MacLeod


    XML::Grove provides simple objects for parsed XML documents.  The
    objects may be modified but no checking is performed by
    XML::Grove.  XML::Grove objects do not include parsing information
    such as character positions or type of tags used.

    See the file Changes for user-visible changes.  See the `examples'
    directory for an example of using XML::Grove.

    Newer versions of this module can be found on CPAN or at
    <ftp://ftp.uu.net/vendor/bitsko/gdo/>.  To join the Perl-XML
    mailing list, send an email message to ListManager@ActiveState.com
    with the following text in the body: Subscribe Perl-XML

    Copyright (C) 1998 Ken MacLeod
    XML::Grove is distributed under the same terms as Perl.
    See the file COPYING for distribution terms.


    Groves are generally created by calling a parser or grove building
    module that returns an XML::Grove object.  The XML::Grove object
    then contains the root element of the document and may contain
    errors generated during the parsing or building, entities and
    notations used within the document, or other parser or grove
    builder specific information.

    Grove building modules include [for now, just] XML::Parser::Grove.

    Elements of the document are XML::Grove::Element objects.
    Elements have a name, attributes, and the contents of the element.
    Attributes are stored as a Perl hash, with the values as an array
    of scalars and XML::Grove::Entity objects.  The contents of an
    element may be more Elements, scalars, entity reference objects,
    processing instruction (PI) objects, or comment objects.

    XML::Grove::PI objects are processing instructions contained
    within the document.

    Refer to the XML::Grove man page for more details.


    XML::Grove requires Perl 5.

    XML::Grove installs as a standard Perl module

            perl Makefile.PL
            make test
            make install

To leave this list, send an email message to ListManager@ActiveState.com
with the following text in the body: Unsubscribe Perl-XML
For non-automated Mailing List support, send email to ListHelp@ActiveState.com