function Loader::load
Same name in this branch
- 11.1.x vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Loader.php \PHPUnit\TextUI\XmlConfiguration\Loader::load()
Throws
1 call to Loader::load()
- Loader::loadFile in vendor/
phpunit/ phpunit/ src/ Util/ Xml/ Loader.php
File
-
vendor/
phpunit/ phpunit/ src/ Util/ Xml/ Loader.php, line 55
Class
- Loader
- @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
Namespace
PHPUnit\Util\XmlCode
public function load(string $actual, ?string $filename = null) : DOMDocument {
if ($actual === '') {
if ($filename === null) {
throw new XmlException('Could not parse XML from empty string');
}
throw new XmlException(sprintf('Could not parse XML from empty file "%s"', $filename));
}
$document = new DOMDocument();
$document->preserveWhiteSpace = false;
$internal = libxml_use_internal_errors(true);
$message = '';
$reporting = error_reporting(0);
// Required for XInclude
if ($filename !== null) {
// Required for XInclude on Windows
if (PHP_OS_FAMILY === 'Windows') {
$cwd = getcwd();
@chdir(dirname($filename));
}
$document->documentURI = $filename;
}
$loaded = $document->loadXML($actual);
if ($filename !== null) {
$document->xinclude();
}
foreach (libxml_get_errors() as $error) {
$message .= "\n" . $error->message;
}
libxml_use_internal_errors($internal);
error_reporting($reporting);
if (isset($cwd)) {
@chdir($cwd);
}
if ($loaded === false || $message !== '') {
if ($filename !== null) {
throw new XmlException(sprintf('Could not load "%s"%s', $filename, $message !== '' ? ":\n" . $message : ''));
}
if ($message === '') {
$message = 'Could not load XML for unknown reason';
}
throw new XmlException($message);
}
return $document;
}