|
NAMEXML::Compile::Dumper - Remember precompiled XML processorsSYNOPSIS# 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); DESCRIPTIONThis 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? METHODSConstructors$obj->closeFinalize 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->fileReturns the output file-handle, which you may use to add
extensions to the module.
Producers$obj->footer(FILEHANDLE)$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(FILEHANDLE, PACKAGE) Prints the header text to the file.
DIAGNOSTICSError: either filename or filehandle requiredError: 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 ALSOThis module is part of XML-Compile-Dumper distribution version 0.13, built on March 26, 2010. Website: http://perl.overmeer.net/xml-compile/All modules in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, and XML::Rewrite, XML::ExistDB, XML::LibXML::Simple. Please post questions or ideas to the mailinglist at http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile For life contact with other developers, visit the "#xml-compile" channel on "irc.perl.org". LICENSECopyrights 2007-2010 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
Visit the GSP FreeBSD Man Page Interface. |