NAME

XML::Elemental - simplistic and perlish handling of XML data.

SYNOPSIS

use XML::Elemental; 
my $p = XML::Elemental->parser; 
my $xml = '<foo>There is a <helloworld/> in my soup.</foo>';
my $tree = $p->parse_string($xml);

DESCRIPTION

XML::Elemental is a SAX-based package for easily parsing XML documents into a more native and mostly object-oriented perl form.

The development of this package grew out of the desire for something more object-oriented then XML::Simple and was more simplistic and perlish then the various standard XML API modules such as XML::DOM. Easier installation of modules was also a contributing factor.

Original this package began as a style plugin to XML::Parser. That proved to be too limiting that it was expanded. With the release of version 2.0 the package was refactored to take advantage of any parser supporting SAX that includes the pure perl option that ships with XML::SAX.

METHODS

MT::Elemental->parser([\%options])

Instantiates and returns a SAX2 parser using XML::Elemental::SAXHandler as its handler and thereby inherits all the methods found in XML::SAX::Base.

The parser method can optionally take a hash reference containing SAX options. The hash reference can also include document, element and character class names to use during processing. The following keys and their defaults are used:

KEY         DEFAULT
Document    XML::Elemental::Document
Element     XML::Elemental::Element
Characters  XML::Elemental::Characters

Any class that supports the same method signatures as the XML::Elemental default classes can be used.

DEPENDENCIES

XML::SAX, Scalar::Util

SEE ALSO

XML::Simple, XML::DOM, XML::Handler::Trees

LICENSE

The software is released under the Artistic License. The terms of the Artistic License are described at http://www.perl.com/language/misc/Artistic.html.

AUTHOR & COPYRIGHT

Except where otherwise noted, XML::Elemental is Copyright 2004-2008, Timothy Appnel, tima@cpan.org. All rights reserved.

3 POD Errors

The following errors were encountered while parsing the POD:

Around line 25:

=begin without a target?

Around line 81:

You forgot a '=back' before '=head1'

Around line 103:

'=end' without a target?