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;
}