diff --git a/src/TextUI/Configuration/Xml/Validator/Validator.php b/src/TextUI/Configuration/Xml/Validator/Validator.php index cc3a93dd29d..99a59e8a6bb 100644 --- a/src/TextUI/Configuration/Xml/Validator/Validator.php +++ b/src/TextUI/Configuration/Xml/Validator/Validator.php @@ -29,14 +29,18 @@ public function validate(DOMDocument $document, string $xsdFilename): Validation assert($buffer !== false); - $originalErrorHandling = libxml_use_internal_errors(true); + if (method_exists($document, 'schemaValidateSource')) { + $originalErrorHandling = libxml_use_internal_errors(true); - $document->schemaValidateSource($buffer); + $document->schemaValidateSource($buffer); - $errors = libxml_get_errors(); - libxml_clear_errors(); - libxml_use_internal_errors($originalErrorHandling); + $errors = libxml_get_errors(); + libxml_clear_errors(); + libxml_use_internal_errors($originalErrorHandling); - return ValidationResult::fromArray($errors); + return ValidationResult::fromArray($errors); + } else { + return ValidationResult::fromArray([]); + } } }