protected function locationDetails($result)
    {
        $locationDetails = [];

        foreach ($result['location'] as $locationAll) {
            $location = $locationAll['ch'];

            $detailsData = $this->doc->createElement('dd');
            if ($location['md-medium'][0]['values'][0] != 'article') {
                $this->appendInfoToContainer($this->detailInfoItem('edition', $location), $detailsData);
                $this->appendInfoToContainer($this->detailInfoItem('publication-name', $location), $detailsData);
                $this->appendInfoToContainer($this->detailInfoItem('publication-place', $location), $detailsData);
                $this->appendInfoToContainer($this->detailInfoItem('date', $location), $detailsData);
                $this->appendInfoToContainer($this->detailInfoItem('physical-extent', $location), $detailsData);
            }
            // $this->cleanISBNs(); not implemented in PHP version
            $this->appendInfoToContainer($this->detailInfoItem('isbn', $location), $detailsData);
            $this->appendInfoToContainer($this->electronicURLs($location, $result), $detailsData);
            $this->appendInfoToContainer($this->parentLink($locationAll, $result), $detailsData);
            $this->appendInfoToContainer($this->catalogueLink($locationAll), $detailsData);

            // Only append location information if additional details exist
            if ($detailsData->hasChildNodes()) {
                $detailsHeading = $this->doc->createElement('dt');
                $locationDetails[] = $detailsHeading;
                $detailsHeading->appendChild($this->doc->createTextNode(LocalizationUtility::translate('Ausgabe', 'Pazpar2') . ':'));
                $locationDetails[] = $detailsData;
            }
        }

        return $locationDetails;
    }