NAME
XML::Grove - simple, non-validating XML objects
SYNOPSIS
use XML::Parser;
use XML::Parser::Grove;
use XML::Grove;
$parser = XML::Parser->new(Style => 'grove');
$grove = $parser->parsefile ($xml_file);
# All methods may also take a value to set the corresponding
# property
# XML::Grove
$root = $grove->root; # the one element in `contents'
$entities = $grove->entities; # an array of entity defs
$notations = $grove->notations; # an array of notation defs
$contents = $grove->contents; # may include PIs and comments
# XML::Grove::Element
$name = $element->name;
$attributes = $element->attributes; # a hash
$contents = $element->contents; # an array
$value = $element->attr ($attr_name); # an array or scalar
# XML::Grove::Entity
$name = $entity->name;
$data = $entity->data;
# XML::Grove::PI
$target = $pi->target;
$data = $pi->data;
# XML::Grove::Comment
$data = $comment->data;
DESCRIPTION
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.
The `contents
' of an XML::Grove contains the root element possibly intermixed with processing instructions (PIs) or comments.
The `contents
' of an XML::Grove::Element may contain elements (XML::Grove::Element), character data (Perl scalars), entity references (TBD, classes of XML::Grove::Entity), character references (TBD), processing instructions (XML::Grove::PI), and comments (XML::Grove::Comment).
The `attributes
' of an XML::Grove::Element is an hash keyed by the attribute name, each attribute is either an array that may contain Perl scalars and entity references, or simply a Perl scalar.
To Be Determined (TBD): XML::Grove will be expanded to support additional objects and features of XML::Parser and SGML::SP::Generic as they become available. XML::Grove is intended to remain a simple module, other modules will be used to, for example, provide more parsing info, perform validation while modifying, or be able to write the same file that was read. XML::Grove and SGML::Grove should be nearly interchangeable.
AUTHOR
Ken MacLeod, ken@bitsko.slc.ut.us
SEE ALSO
perl(1), XML::Parser(3), XML::Parser::Grove(3).
Extensible Markup Language (XML) <http://www.w3c.org/XML>