Provided by: libxml-compile-dumper-perl_0.14-2_all bug

NAME

       XML::Compile::Dumper - Remember precompiled XML processors

SYNOPSIS

        # create readers and writers or soap things
        my $reader = $schema->compile(READER => '{myns}mytype');
        my $writer = $schema->compile(WRITER => ...);

        # then dump them into a package
        my $dumper = XML::Compile::Dumper->new
          (package => 'My::Package', filename => 'My/Package.pm');
        $dumper->freeze(foo => $reader, bar => $writer);
        $dumper->close;

        # later, they can get recalled using
        use My::Package;
        my $hash = foo($xml);
        my $doc  = bar($doc, $xml);

DESCRIPTION

       This module simplifies the task of saving and loading pre-compiled translators.  Schema's
       can get huge, and when you are not creating a daemon to do the XML communication, you may
       end-up compiling and interpreting these large schemas often, just to be able to process
       simple data-structures.

       Based on the excellent module Data::Dump::Streamer, this module helps you create standard
       Perl packages which contain the reader and writer code references.

       WARNING: this feature was introduced in release 0.17.  Using perl 5.8.8, libxml 2.6.26,
       XML::LibXML 2.60, and Data::Dump::Streamer 2.03, Perl complains about "PmmREFCNT_dec:
       REFCNT decremented below 0! during global destruction." when the tests are run.  This bug
       can be anywhere. Therefore, these tests are disabled by default in t/TestTools.pm.  If you
       have time, could you please run the tests with "$skip_dumper = 0;" and report the results
       to the author?

METHODS

   Constructors
       $obj->close()
           Finalize the produced file.  This will be called automatically if the objects goes
           out-of-scope.

       XML::Compile::Dumper->new(%options)
           Create an object which will collect the information for the output file.  You have to
           specify either a "filehandle" or a "filename".  A filehandle will be closed after
           processing.

            -Option    --Default
             filehandle  undef
             filename    undef
             package     <required>

           filehandle => "IO::Handle"
           filename => FILENAME
             The file will be written using utf8 encoding, using IO::File.  If you want something
             else, open your filehandle first, and provide that as argument.

           package => PACKAGE
             The name-space which will be used: it will produce a "package" line in the output.

   Accessors
       $obj->file()
           Returns the output file-handle, which you may use to add extensions to the module.

   Producers
       $obj->footer($fh)
       $obj->freeze(PAIRS|HASH)
           Produce the dump for a group of code references, which will be made available under a
           normal subroutine name.  This method can only be called once.

       $obj->header($fh, $package)
           Prints the header text to the file.

DIAGNOSTICS

       Error: either filename or filehandle required
       Error: freeze can only be called once
           The various closures may have related variables, and therefore need to be dumped in
           one go.

       Error: freeze needs PAIRS or a HASH
       Error: package name required
           The perl module which is produced is cleanly encapsulating the produced program text
           in a perl package name-space.  The name has to be provided.

       Error: value with $name is not a code reference

SEE ALSO

       This module is part of XML-Compile-Dumper distribution version 0.14, built on January 22,
       2014. Website: http://perl.overmeer.net/xml-compile/

       Other distributions in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::WSDL11,
       XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::SOAP::WSA,
       XML::Compile::C14N, XML::Compile::WSS, XML::Compile::WSS::Signature, XML::Compile::Tester,
       XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, XML::Rewrite and
       XML::LibXML::Simple.

       Please post questions or ideas to the mailinglist at
       http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile .  For live contact with
       other developers, visit the "#xml-compile" channel on "irc.perl.org".

LICENSE

       Copyrights 2007-2014 by [Mark Overmeer]. For other contributors see ChangeLog.

       This program is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.  See http://www.perl.com/perl/misc/Artistic.html