Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MKDoc::XML::Dumper(3) User Contributed Perl DocumentationMKDoc::XML::Dumper(3)

NAME
       MKDoc::XML::Dumper - Same as Data::Dumper, but with XML

SYNOPSIS
	 use MKDoc::XML::Dumper;
	 use Test::More	'no_plan';

	 my $stuff  = [	qw /foo	bar baz/, [], {	hello => 'world', yo =>	\\'boo'	} ];
	 my $xml    = MKDoc::XML::Dumper->perl2xml ($stuff);
	 my $stuff2 = MKDoc::XML::Dumper->xml2perl ($xml);
	 is_deeply ($stuff, $stuff2); #	prints 'ok'

SUMMARY
       MKDoc::XML::Dumper provides functionality equivalent to Data::Dumper
       except that rather than serializing structures into a Perl string, it
       serializes them into a generic XML file format.

       Of course since XML cannot be evaled, it	also provides a	mechanism for
       undumping the xml back into a perl structure.

       MKDoc::XML::Dumper supports scalar references, hash references, array
       references, reference references, and litterals.	It also	supports
       circular	structures and back references to avoid	creating unwanted
       extra copies of the same	object.

       That's all there	is to it!

API
   my $xml = MKDoc::XML::Dumper->perl2xml ($perl);
       Turns $perl into	an XML string. For instance:

	 my $perl = [ qw /foo bar baz/,	{ adam => 'apple', bruno => 'berry', chris => 'cherry' } ];
	 print MKDoc::XML::Dumper->perl2xml ($perl);'

       Will print something like:

	 <array	id="135338912">
	   <item key="0">
	     <litteral>foo</litteral>
	   </item>
	   <item key="1">
	     <litteral>bar</litteral>
	   </item>
	   <item key="2">
	     <litteral>baz</litteral>
	   </item>
	   <item key="3">
	     <hash id="135338708">
	       <item key="bruno">
		 <litteral>berry</litteral>
	       </item>
	       <item key="adam">
		 <litteral>apple</litteral>
	       </item>
	       <item key="chris">
		 <litteral>cherry</litteral>
	       </item>
	     </hash>
	   </item>
	 </array>

       As you can see, every object has	an id. This allows for
       backreferencing,	so:

	 my $perl = undef;
	 $perl	  = \$perl;
	 print MKDoc::XML::Dumper->perl2xml ($perl);'

       Prints something	like:

	 <ref id="135338888">
	   <backref id="135338888" />
	 </ref>

       For the curious,	these identifiers are computed using some perl black
       magic:

	 my $id	= 0 + $reference;

   my $perl = MKDoc::XML::Dumper->perl2xml ($xml);
       Does the	exact reverse operation	as xml2perl().

AUTHOR
       Copyright 2003 -	MKDoc Holdings Ltd.

       Author: Jean-Michel Hiver

       This module is free software and	is distributed under the same license
       as Perl itself. Use it at your own risk.

SEE ALSO
       MKDoc::XML::Decode MKDoc::XML::Encode

perl v5.32.0			  2004-10-06		 MKDoc::XML::Dumper(3)

NAME | SYNOPSIS | SUMMARY | API | AUTHOR | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MKDoc::XML::Dumper&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help