diff --git a/plugins/importexport/pubmed/filter/ArticlePubMedXmlFilter.php b/plugins/importexport/pubmed/filter/ArticlePubMedXmlFilter.php index 2c7ce2d78c8..ecea2032dab 100644 --- a/plugins/importexport/pubmed/filter/ArticlePubMedXmlFilter.php +++ b/plugins/importexport/pubmed/filter/ArticlePubMedXmlFilter.php @@ -216,7 +216,9 @@ public function generateAuthorNode($doc, $journal, $issue, $submission, $author) $authorElement->appendChild($doc->createElement('LastName'))->appendChild($doc->createTextNode(ucfirst($author->getLocalizedFamilyName()))); } $authorElement->appendChild($doc->createElement('Affiliation'))->appendChild($doc->createTextNode($author->getLocalizedAffiliation())); - $orcidId = $author->getData('orcid'); + // We're storing the ORCID with a URL (http://orcid.org/{$ID}), but the XML expects just the ID + $orcidId = explode('/', trim($author->getData('orcid') ?? '', '/')); + $orcidId = array_pop($orcidId); if ($orcidId) { $orcidNode = $authorElement->appendChild($doc->createElement('Identifier')); $orcidNode->setAttribute('Source', 'ORCID');