package XML::IODEF::Simple::Plugin::Contact; sub prepare { my $class = shift; my $info = shift; return(0) unless($info->{'contact'}); return(1); } sub convert { my $class = shift; my $info = shift; my $iodef = shift; my $c = $info->{'contact'}; my @contacts = (ref($c) eq 'ARRAY') ? @$c : $c; foreach (@contacts){ my $role = $_->{'role'} || 'creator'; my $type = $_->{'type'} || 'person'; my $ad = $_->{'AdditionalData'}; $iodef->add('IncidentContacttype',$type); $iodef->add('IncidentContactrole',$role); $iodef->add('IncidentContactEmail',$_->{'email'}) if($_->{'email'}); $iodef->add('IncidentContactContactName',$_->{'name'}) if($_->{'name'}); if($ad){ if(my $sector = $ad->{'sector'}){ $iodef->add('IncidentContactAdditionalDatadtype','string'); $iodef->add('IncidentContactAdditionalDatameaning','sector'); $iodef->add('IncidentContactAdditionalData',$sector); } } } return($iodef); } 1;