QBXML( QBXMLMsgsRq( {onError => "stopOnError"}, inner() )); #### augment 'as_xml' => sub { my ($self, $name)=@_; VendorAddRq( VendorAdd( Name($name))); }; #### STRTYPE #### STRTYPE BOOLTYPE STRTYPE STRTYPE STRTYPE STRTYPE STRTYPE STRTYPE STRTYPE STRTYPE STRTYPE STRTYPE STRTYPE STRTYPE STRTYPE #### { my $VendorAddRq = XML::Writer::Nest->new(tag => 'VendorAddRq'); { my $VendorAdd = $VendorAddRq->nest('VendorAdd'); { my $Name = $VendorAdd->data(Name => $name) } } } #### { my $VendorAdd = $VendorAddRq->nest('VendorAdd'); { my $Name = $VendorAdd->data(Name => $name) } { my $IsActive = $row->{active} ? $VendorAdd->data(IsActive => 1) : 0 } } #### VendorAddRq( VendorAdd( Name($name), maybeRenderIsActive($row) ) ) #### augment 'as_xml' => sub { my ($self, $name, $optionaldata)=@_; VendorAddRq( VendorAdd( Name($name), $self->logic_engine->maybeRenderIsActive(@_) # just give it the whole indata ) ) #### package XML::Quickbooks::LogicEngine; sub IsActive { my ($self, $name, $databaserow)=@_; $databaserow->{active}; } 1;