diff --git a/src/php/validator/XsdValidation.php b/src/php/validator/XsdValidation.php index da825bc..f0b5fbe 100644 --- a/src/php/validator/XsdValidation.php +++ b/src/php/validator/XsdValidation.php @@ -129,13 +129,24 @@ private function getSchemaValidationFile(\DOMDocument $document) } // @codeCoverageIgnoreEnd - $attribute = $firstChild->getAttribute('xsi:noNamespaceSchemaLocation'); + $schemaLocation = $firstChild->getAttribute('xsi:schemaLocation'); + $noNamespaceSchemaLocation = $firstChild->getAttribute('xsi:noNamespaceSchemaLocation'); - if (empty($attribute)) { + if ($schemaLocation === '' && $noNamespaceSchemaLocation === '') { return false; } - return $attribute; + if ($noNamespaceSchemaLocation !== '') { + return $noNamespaceSchemaLocation; + } + + $parts = explode(' ', $schemaLocation); + + if (count($parts) === 2) { + return trim($parts[1]); + } + + return false; } /**