NAME
   SOAP::Data::Builder::Simple - Simplified way of creating data structures
   for SOAP::Lite

SYNOPSIS
       use SOAP::Data::Builder::Simple qw( header data );

       # note - uses arrayrefs to preserve element order

       my @headers = header(
           'eb:MessageHeader' => [
               _attr => { 'eb:version' => "2.0", 'SOAP::mustUnderstand' => "1" },
               'eb:From' => [
                   'eb:PartyId' => 'uri:example.com',
                   'eb:Role'    => 'http://rosettanet.org/roles/Buyer',
               ],
               'eb:DuplicateElimination' => [
                   _type => 'nonil'    # prevent SOAP::Lite adding 'xsi:nil="true"'
               ],
           ]
       );

       my @data = data( foo => 'bar' );

       my $result = SOAP::Lite
           -> uri($uri);
           -> proxy($proxy)
           -> getTest( @headers, @data )
           -> result;

DESCRIPTION
   Simplified interface to SOAP::Data for creating data structures for use
   with SOAP::Lite.

DATA STRUCTURES
 Simple element (value only)
       # SOAP::Data->name($name)->value($value)
       $name => $value

 Element with attributes
       # SOAP::Data->name( $name => $value )->type($type)->attr( \%attr )
       $name => [
           _attr  => \%attr,
           _value => $value,
           _type  => $type,
       ]

 Element with children
       # SOAP::Data->name(
       #     $name => \SOAP::Data->value(
       #         SOAP::Data->name( child1 => $v1 ),
       #         SOAP::Data->name( child2 => ... ),
       #         ...
       #     )
       # )->type($type)->attr( \%attr )
       $name => [
           _attr  => \%attr,
           _type  => $type,
           child1 => $v1,
           child2 => [ ... ],
           ...
       ]

FUNCTIONS
 header
   Identical to "data" except the top level element(s) are of type
   SOAP::Header.

 data
   Returns a list of one or more SOAP::Data objects. Each object may have
   further SOAP::Data objects as children. Arrayrefs are used to preserve
   order of child elements (ordering of "_value", "_type", "_attr", etc is
   not important).

SEE ALSO
   *   SOAP::Data::Builder

   *   SOAP::Lite

SUPPORT
 Bugs / Feature Requests
   Please report any bugs or feature requests through the issue tracker at
   <https://github.com/mjemmeson/SOAP-Data-Builder-Simple/issues>. You will
   be notified automatically of any progress on your issue.

 Source Code
   This is open source software. The code repository is available for
   public review and contribution under the terms of the license.

   <https://github.com/mjemmeson/SOAP-Data-Builder-Simple>

     git clone https://github.com/mjemmeson/SOAP-Data-Builder-Simple.git

AUTHOR
   Michael Jemmeson <[email protected]>

COPYRIGHT
   This software is copyright (c) 2014 by Michael Jemmeson.

LICENSE
   This is free software; you can redistribute it and/or modify it under
   the same terms as the Perl 5 programming language system itself.