/**
* Gets xliff file version based on the root "version" attribute.
*
* Defaults to 1.2 for backwards compatibility.
*
* @throws InvalidArgumentException
*/
public static function getVersionNumber(\DOMDocument
$dom): string
{ /** @var \DOMNode $xliff */
foreach ($dom->
getElementsByTagName('xliff'
) as $xliff) { $version =
$xliff->attributes->
getNamedItem('version'
);
if ($version) { return $version->nodeValue;
} $namespace =
$xliff->attributes->
getNamedItem('xmlns'
);
if ($namespace) { if (0 !==
substr_compare('urn:oasis:names:tc:xliff:document:',
$namespace->nodeValue, 0, 34
)) { throw new InvalidArgumentException(sprintf('Not a valid XLIFF namespace "%s".',
$namespace));
} return substr($namespace, 34
);
}