Skip to content

Commit b959499

Browse files
michaelkubina-subhhchrizzor
authored andcommitted
fix adding empty xpath results to metadata array
1 parent 60b6135 commit b959499

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

Classes/Common/MetsDocument.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
namespace Kitodo\Dlf\Common;
1414

15+
use \DOMNodeList;
1516
use \DOMElement;
1617
use \DOMXPath;
1718
use \SimpleXMLElement;
@@ -675,13 +676,15 @@ private function setMetadataFieldValues(array $resArray, DOMXPath $domXPath, DOM
675676
{
676677
if ($resArray['format'] > 0 && !empty($resArray['xpath'])) {
677678
$values = $domXPath->evaluate($resArray['xpath'], $domNode);
678-
if ($values instanceof \DOMNodeList && $values->length > 0) {
679+
if ($values instanceof DOMNodeList && $values->length > 0) {
679680
$metadata[$resArray['index_name']] = [];
680681
foreach ($values as $value) {
681682
$metadata[$resArray['index_name']][] = trim((string) $value->nodeValue);
682683
}
683-
} elseif (!($values instanceof \DOMNodeList)) {
684-
$metadata[$resArray['index_name']] = [trim((string) $values)];
684+
} elseif (!($values instanceof DOMNodeList)) {
685+
if (!empty($values)) {
686+
$metadata[$resArray['index_name']] = [trim((string) $values)];
687+
}
685688
}
686689
}
687690
}
@@ -720,9 +723,9 @@ private function setSortableMetadataValue(array $resArray, DOMXPath $domXPath, D
720723
if (!empty($metadata[$resArray['index_name']]) && $resArray['is_sortable']) {
721724
if ($resArray['format'] > 0 && !empty($resArray['xpath_sorting'])) {
722725
$values = $domXPath->evaluate($resArray['xpath_sorting'], $domNode);
723-
if ($values instanceof \DOMNodeList && $values->length > 0) {
726+
if ($values instanceof DOMNodeList && $values->length > 0) {
724727
$metadata[$resArray['index_name'] . '_sorting'][0] = trim((string) $values->item(0)->nodeValue);
725-
} elseif (!($values instanceof \DOMNodeList)) {
728+
} elseif (!($values instanceof DOMNodeList)) {
726729
$metadata[$resArray['index_name'] . '_sorting'][0] = trim((string) $values);
727730
}
728731
}

0 commit comments

Comments
 (0)