Magento 2: Problém s "The attribute 'xsi:noNamespaceSchemaLocation' is not allowed."

magento-2

#1

Netušíte někdo jak vyřešit tento problém? Jak nalézt soubor, který toto způsobuje.

Máme M2.2 + zapnutý developer mód.

 ! ) Fatal error: Uncaught Magento\Framework\Exception\LocalizedException: Invalid Document Element 'config', attribute 'xsi:noNamespaceSchemaLocation': The attribute 'xsi:noNamespaceSchemaLocation' is not allowed. Line: 17 in /var/www/html/vendor/magento/framework/Config/Reader/Filesystem.php on line 163
( ! ) Magento\Framework\Exception\LocalizedException: Invalid Document Element 'config', attribute 'xsi:noNamespaceSchemaLocation': The attribute 'xsi:noNamespaceSchemaLocation' is not allowed. Line: 17 in /var/www/html/vendor/magento/framework/Config/Reader/Filesystem.php on line 163
Call Stack
#	Time	Memory	Function	Location
1	0.0001	371384	{main}( )	.../index.php:0
2	0.0045	592776	Magento\Framework\App\Bootstrap::create( )	.../index.php:36
3	0.0049	611248	Magento\Framework\App\Bootstrap->__construct( )	.../Bootstrap.php:123
4	0.0049	611248	Magento\Framework\App\ObjectManagerFactory->create( )	.../Bootstrap.php:208
5	0.0197	1347688	Magento\Framework\App\ObjectManager\Environment\Developer->configureObjectManager( )	.../ObjectManagerFactory.php:187
6	0.0210	1383176	Magento\Framework\App\ObjectManager\ConfigLoader->load( )	.../Developer.php:79
7	0.0261	1890400	Magento\Framework\ObjectManager\Config\Reader\Dom->read( )	.../ConfigLoader.php:76
8	0.0291	1917904	Magento\Framework\ObjectManager\Config\Reader\Dom->_readFiles( )	.../Filesystem.php:130

Díky moc.
Jaro.


#2

Ve souboru vendor/magento/framework/Config/Dom.php si lze vypsat celý validovaný objekt:

public function validate($schemaFileName, &$errors = [])
{
    if ($this->validationState->isValidationRequired()) {

    // file_put_contents('dom.xml', $this->dom->saveXML());
    $errors = $this->validateDomDocument($this->dom, $schemaFileName, $this->errorFormat);
        return !count($errors);
    }
    return true;
}

A pak si stačí přečísts chybovou hlášku, najít řádek s problémem, odpovídající zdrojový xml file a opravit chybu.

V mém případě šlo o špatnou deklaraci elementu v jakém si modulu. Hezky to zprasili.

Špatně:

<config>

Správně:

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">

Sem si dal.