=head1 NAME EPrints::Plugin::Import::OrcidDOI =cut package EPrints::Plugin::Import::OrcidDOI; # 10.1002/asi.20373 use strict; use EPrints::Plugin::Import::DOI; use URI; our @ISA = qw/ EPrints::Plugin::Import::DOI /; sub contributors { my( $plugin, $data, $node ) = @_; my @creators; foreach my $contributor ($node->childNodes) { next unless EPrints::XML::is_dom( $contributor, "Element" ); my $creator_name = {}; my $creator_orcid; foreach my $part ($contributor->childNodes) { if( $part->nodeName eq "given_name" ) { $creator_name->{given} = EPrints::Utils::tree_to_utf8($part); } elsif( $part->nodeName eq "surname" ) { $creator_name->{family} = EPrints::Utils::tree_to_utf8($part); } elsif( $part->nodeName eq "ORCID" ) { $creator_orcid = EPrints::ORCID::Utils::get_normalised_orcid( EPrints::Utils::tree_to_utf8($part) ); } } if( exists $creator_name->{family} ) { my $creator = { name => $creator_name }; if( defined $creator_orcid ) { $creator->{orcid} = $creator_orcid; } push @creators, $creator; } } $data->{creators} = \@creators if @creators; } 1; =head1 COPYRIGHT =for COPYRIGHT BEGIN Copyright 2000-2011 University of Southampton. =for COPYRIGHT END =for LICENSE BEGIN This file is part of EPrints L. EPrints is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. EPrints is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see L. =for LICENSE END