NAME XML::Twig - Tree interface to XML documents allowing processing chunk by chunk of huge documents. SUMMARY (see Twig.pod for full details) single-tree mode my $t= new XML::Twig(); $t->parsefile( 'doc.xml'); $t->print; chunk mode my $t= new XML::Twig( TwigHandlers => { section => \&flush}); $t->parsefile( 'doc.xml'); $t->flush; sub flush { $_[0]->flush; } sub-tree mode # print all title's in the document my $t= new XML::Twig( TwigRoots => { title => 1 }, TwigHandlers => { title => \&list}); $t->parsefile( 'doc.xml'); sub list { print $_[1]->print . "\n"; } INSTALLATION perl Makefile.PL make make test make install CHANGES This is version 2.01.11 - 2000-08-18 Added pretty print and empty element output style XML::Twig new options to test the text content or an attribute of an element to trigger a handler (see doc) extended attribute and path conditions to TwigRoots and StartTag handlers can now be chained if they return a true value (WARNING: this can change the behaviour of "old" scripts (2.01.[1-9]) that use path conditions. Add an empty return at the end of a handler to "break the handler chain"). handler condition syntax is now checked XML::Twig::Elt methods is_empty, set_empty, set_not_empty XML::Twig::Elt method inherit_att to inherit the value of an attribute from the innermost possible ancestor XML::Twig::Elt methods first_child_text, last_child_text WARNING: sightly changed base entity handling Global section in the pod to cover thread unsafe variables Enhanced XML::Twig::Elt methods new and set_content, added optional attributes and '#EMPTY' arguments Fixed bugs: StartTagHandlers processing '0' pcdata/cdata handling in text and sprint methods handling of empty elements that get a content pcdata is now properly aggregated fixed memory leak in DESTROY (thanks Jay) added error test in XML::Twig::Elt paste method (thanks Ken) Fixed a unix dependency in test2.t the pod AUTHOR Michel Rodriguez (m.v.rodriguez@ieee.org) The Twig page is at http://www.xmltwig.cx/ COPYRIGHT Copyright (c) 1999-2000, Michel Rodriguez. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html)