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;
    }
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;
    }
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 ; }
Parses the XML from the legacy database.

Returns only the data required by the FieldType, nothing more.

@param string $xml

@return array
Parses the XML from the legacy database .