eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter\ImageConverter::parseLegacyXml PHP Method

parseLegacyXml() protected method

Returns only the data required by the FieldType, nothing more.
protected parseLegacyXml ( string $xml ) : array
$xml string
return array
    protected function parseLegacyXml($xml)
    {
        $extractedData = array();
        $dom = new \DOMDocument();
        $dom->loadXml($xml);
        $ezimageTag = $dom->documentElement;
        if (!$ezimageTag->hasAttribute('url')) {
            throw new \RuntimeException('Missing attribute "url" in <ezimage/> tag.');
        }
        if (($legacyUrl = $ezimageTag->getAttribute('url')) === '') {
            // Detected XML considered "empty" by the legacy storage
            return null;
        }
        $url = $this->urlRedecorator->redecorateFromTarget($legacyUrl);
        $extractedData['id'] = $this->imageIoService->loadBinaryFileByUri($url)->id;
        if (!$ezimageTag->hasAttribute('filename')) {
            throw new \RuntimeException('Missing attribute "filename" in <ezimage/> tag.');
        }
        $extractedData['fileName'] = $ezimageTag->getAttribute('filename');
        $extractedData['width'] = $ezimageTag->getAttribute('width');
        $extractedData['height'] = $ezimageTag->getAttribute('height');
        $extractedData['mime'] = $ezimageTag->getAttribute('mime_type');
        if (!$ezimageTag->hasAttribute('alternative_text')) {
            throw new \RuntimeException('Missing attribute "alternative_text" in <ezimage/> tag.');
        }
        $extractedData['alternativeText'] = $ezimageTag->getAttribute('alternative_text');
        return $extractedData;
    }