package Data::Serializer::XML::Simple;
BEGIN { @Data::Serializer::XML::Simple::ISA = qw(Data::Serializer) }

use warnings;
use strict;
use XML::Simple qw(); 
use vars qw($VERSION @ISA);

$VERSION = '0.03';


sub serialize {
    my $self = (shift);
    my %options = ref $self->{options} eq 'HASH' ? %{$self->{options}}: ();
    my $xml = XML::Simple->new(keyattr => [ 'name'], %options);
    return $xml->XMLout( (shift) );
}

sub deserialize {
    my $self = (shift);
    my %options = ref $self->{options} eq 'HASH' ? %{$self->{options}}: ();
    my $xml = XML::Simple->new(keyattr => [ 'name'], %options);
    return $xml->XMLin( (shift) );
}

1;
__END__
# 

=head1 NAME

Data::Serializer::XML::Simple - Creates bridge between Data::Serializer and XML::Simple

=head1 SYNOPSIS

  use Data::Serializer::XML::Simple;

=head1 DESCRIPTION

Module is used internally to Data::Serializer

Any options are passed through to XML::Simple.  See XML::Simple(3) for details.

=over 4

=item B<serialize> - Wrapper to normalize serializer method name

=item B<deserialize> - Wrapper to normalize deserializer method name

=back

=head1 AUTHOR
 
Neil Neely <neil@neely.cx>
    
=head1 COPYRIGHT
 
  Copyright 2004 by Neil Neely.  All rights reserved.
  This program is free software; you can redistribute it
  and/or modify it under the same terms as Perl itself.
  
=head1 SEE ALSO

perl(1), Data::Serializer(3), XML::Simple(3).

=cut