NAME

    XML::Twig - Tree interface to XML documents allowing processing chunk
                by chunk of huge documents.

                

SUMMARY (see perldoc XML::Twig for full details)

XML::Twig is (yet another!) XML module. 

Its strong points: can be used to process huge documents while still
being in tree mode, not bound by DOM or SAX, so it is very perlish and
offers a very comprehensive set of methods, simple to use, masking some
of the classic pitfalls of XML processing.

What it doesn't offer: full SAX support (it can export SAX, but only
reads XML), full XPath support (unless you use XML::Twig::XPath).

Other drawbacks: it is a big module, and with over 500 methods available
it can be a bit overwhelming. A good starting point is the tutorial at
http://xmltwig.com/xmltwig/tutorial/index.html


SYNOPSYS

  single-tree mode    
    my $t= XML::Twig->new();
    $t->parsefile( 'doc.xml');
    $t->print;

  chunk mode 
    my $t= XML::Twig->new( twig_handlers => { section => \&flush});
    $t->parsefile( 'doc.xml');
    $t->flush;
    sub flush { (my $twig, $section)= @_; $twig->flush; }
    
  sub-tree mode 
    # print all section title's in the document,
    # all other elements are ignored (and not stored)
    my $t= XML::Twig->new( 
            twig_roots => { 'section/title' => sub { $_->print, "\n" } }
                         );
    $t->parsefile( 'doc.xml');
    
INSTALLATION

    perl Makefile.PL
    make
    make test
    make install

DEPENDANCIES

    XML::Twig needs XML::Parser (and the expat library) installed
   
    Modules that can enhance XML::Twig are

    Scalar::Util or WeakRef 
      to avoid memory leaks
    Encode or Text::Iconv or Unicode::Map8 and Unicode::Strings 
      to do encoding conversions
    Tie::IxHash 
      to use the keep_atts_order option
    XML::XPath 
      to use XML::Twig::XPath
    LWP 
      to use parseurl
    HTML::Entities
      to use the html_encode filter

CHANGES

    $Id: README,v 1.6 2004/03/15 16:37:10 mrodrigu Exp $

    See the Changes file    

AUTHOR

    Michel Rodriguez (mirod@cpan.org)
    The Twig page is at http://www.xmltwig.com/
    See the XML::Twig tutorial at http://www.xmltwig.com/xmltwig/tutorial/index.html

COPYRIGHT

       Copyright (c) 1999-2004, 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)
