NAME

Any::Renderer::XML - render a data structure as element-only XML

SYNOPSIS

use Any::Renderer;

my %xml_options = ();
my %options = ( 'XmlOptions' => \%xml_options );
my $format = "XML";
my $r = new Any::Renderer ( $format, \%options );

my $data_structure = [...]; # arbitrary structure code
my $string = $r->render ( $data_structure );

You can get a list of all formats that this module handles using the following syntax:

my $list_ref = Any::Renderer::XML::available_formats ();

Also, determine whether or not a format requires a template with requires_template:

my $bool = Any::Renderer::XML::requires_template ( $format );

DESCRIPTION

Any::Renderer::XML renders any Perl data structure passed to it as element-only XML. For example:

perl -MAny::Renderer -e "print Any::Renderer->new('XML')->render({a => 1, b => [2,3]})"

results in:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<output>
  <a>1</a>
  <b>2</b>
  <b>3</b>
</output>

The rendering process comes with all the caveats cited in the XML::Simple documentation. For example if your data structure contains binary data or ASCII control characters, then the XML document that is generated may not be well-formed.

FORMATS

XML

METHODS

$r = new Any::Renderer::XML($format,\%options)

$format must be XML. See "OPTIONS" for a description of available options.

$scalar = $r->render($data_structure)

The main method.

$bool = Any::Renderer::XML::requires_template($format)

False in this case.

$list_ref = Any::Renderer::XML::available_formats()

Just the one - XML.

OPTIONS

XmlOptions

A hash reference of options that can be passed to XML::Simple::XMLout, see XML::Simple for a detailed description of all of the available options.

VariableName

Set the XML root element name. You can also achieve this by setting the RootName or rootname options passed to XML::Simple in the XML options hash. This is a shortcut to make this renderer behave like some of the other renderer backends.

Encoding

Character set of the generated XML document. Defaults to ISO-8859-1.

SEE ALSO

XML::Simple, Any::Renderer

VERSION

$Revision: 1.8 $ on $Date: 2006/08/22 20:14:09 $ by $Author: johna $

AUTHOR

Matt Wilson <cpan _at_ bbc _dot_ co _dot_ uk>

COPYRIGHT

(c) BBC 2006. This program is free software; you can redistribute it and/or modify it under the GNU GPL.

See the file COPYING in this distribution, or http://www.gnu.org/licenses/gpl.txt