Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Loader.php

function Loader::load

Same name in this branch
  1. 11.1.x vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Loader.php \PHPUnit\TextUI\XmlConfiguration\Loader::load()

Throws

XmlException

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\Xml

Code

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

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal