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


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


        # 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/');
        $dumper->freeze(foo => $reader, bar => $writer);

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


       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/  If you
       have time, could you please run the tests with "$skip_dumper = 0;" and report the results
       to the author?


           Finalize the produced file.  This will be called automatically if the objects goes

           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

            -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.

           Returns the output file-handle, which you may use to add extensions to the module.

           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.


       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


       This module is part of XML-Compile-Dumper distribution version 0.14, built on January 22,
       2014. Website:

       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

       Please post questions or ideas to the mailinglist at .  For live contact with
       other developers, visit the "#xml-compile" channel on "".


       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