|
@@ -258,7 +258,17 @@ class XmlFileLoader extends FileLoader
|
|
$items = preg_split('/\s+/', $element);
|
|
$items = preg_split('/\s+/', $element);
|
|
for ($i = 0, $nb = count($items); $i < $nb; $i += 2)
|
|
for ($i = 0, $nb = count($items); $i < $nb; $i += 2)
|
|
{
|
|
{
|
|
- $schemaLocations[$items[$i]] = str_replace('http://www.symfony-project.org/', str_replace('\\', '/', __DIR__).'/', $items[$i + 1]);
|
|
|
|
|
|
+ if ($extension = static::getExtension($items[$i]))
|
|
|
|
+ {
|
|
|
|
+ $path = str_replace('http://www.symfony-project.org/', str_replace('\\', '/', $extension->getXsdValidationBasePath()).'/', $items[$i + 1]);
|
|
|
|
+
|
|
|
|
+ if (!file_exists($path))
|
|
|
|
+ {
|
|
|
|
+ throw new \RuntimeException(sprintf('Extension "%s" references a non-existent XSD file "%s"', get_class($extension), $path));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $schemaLocations[$items[$i]] = $path;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|