How to fix «Element 'block', attribute 'class': [facet 'pattern'] The value '\Magento\Framework\View\Element\Template' is not accepted by the pattern `[A-Z][_a-zA-Z\d]*(\\[A-Z][_a-zA-Z\d]*)*`» after upgrading Magento to 2.2?

1 exception(s):
Exception #0 (Magento\Framework\Config\Dom\ValidationException): Element 'block', attribute 'class': [facet 'pattern'] The value '\Magento\Framework\View\Element\Template' is not accepted by the pattern '[A-Z][_a-zA-Z\d]*(\\[A-Z][_a-zA-Z\d]*)*'.
Line: 1079

Element 'block', attribute 'class': '\Magento\Framework\View\Element\Template' is not a valid value of the atomic type 'blockClassType'.
Line: 1079


Exception #0 (Magento\Framework\Config\Dom\ValidationException): Element 'block', attribute 'class': [facet 'pattern'] The value '\Magento\Framework\View\Element\Template' is not accepted by the pattern '[A-Z][_a-zA-Z\d]*(\\[A-Z][_a-zA-Z\d]*)*'.
Line: 1079

Element 'block', attribute 'class': '\Magento\Framework\View\Element\Template' is not a valid value of the atomic type 'blockClassType'.
Line: 1079

#0 vendor\magento\framework\Config\Dom.php(115): Magento\Framework\Config\Dom->_initDom('<layout xmlns:x...')
#1 vendor\magento\framework\ObjectManager\Factory\AbstractFactory.php(111): Magento\Framework\Config\Dom->__construct('<layout xmlns:x...', Object(Magento\Framework\App\Arguments\ValidationState), Array, NULL, 'C:/work/clients...', '%message%\nLine:...')
#2 vendor\magento\framework\ObjectManager\Factory\Dynamic\Developer.php(66): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Framewo...', Array)
#3 vendor\magento\framework\ObjectManager\ObjectManager.php(56): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Framewo...', Array)
#4 vendor\magento\framework\Config\DomFactory.php(42): Magento\Framework\ObjectManager\ObjectManager->create('Magento\\Framewo...', Array)
#5 vendor\magento\framework\View\Model\Layout\Update\Validator.php(141): Magento\Framework\Config\DomFactory->createDom(Array)
#6 vendor\magento\framework\View\Model\Layout\Merge.php(461): Magento\Framework\View\Model\Layout\Update\Validator->isValid('<layout xmlns:x...', 'layout_merged', false)
#7 vendor\magento\framework\View\Model\Layout\Merge.php(442): Magento\Framework\View\Model\Layout\Merge->_validateMergedLayout('LAYOUT_frontend...', '<body>\n   <refe...')
#8 generated\code\Magento\Framework\View\Model\Layout\Merge\Interceptor.php(193): Magento\Framework\View\Model\Layout\Merge->load(Array)
#9 vendor\magento\framework\View\Layout\Builder.php(86): Magento\Framework\View\Model\Layout\Merge\Interceptor->load()
#10 vendor\magento\framework\View\Layout\Builder.php(63): Magento\Framework\View\Layout\Builder->loadLayoutUpdates()
#11 vendor\magento\framework\View\Layout.php(254): Magento\Framework\View\Layout\Builder->build()
#12 vendor\magento\framework\View\Layout.php(875): Magento\Framework\View\Layout->build()
#13 generated\code\Magento\Framework\View\Layout\Interceptor.php(414): Magento\Framework\View\Layout->getBlock('page_content_he...')
#14 vendor\magento\module-cms\Helper\Page.php(171): Magento\Framework\View\Layout\Interceptor->getBlock('page_content_he...')
#15 vendor\magento\module-cms\Controller\Noroute\Index.php(44): Magento\Cms\Helper\Page->prepareResultPage(Object(Magento\Cms\Controller\Noroute\Index\Interceptor), 'no-route')
#16 vendor\magento\framework\Interception\Interceptor.php(58): Magento\Cms\Controller\Noroute\Index->execute()

In my case, the design theme contained the following declaration:

<block class="\Magento\Framework\View\Element\Template" name="earos.pdp.after" template="Magento_Catalog::product/view/footer.phtml"/>

I has changed it to:

<block class="Magento\Framework\View\Element\Template" name="earos.pdp.after" template="Magento_Catalog::product/view/footer.phtml"/>

Thank You Dmitry Fedyuk

Exception #0 (Magento\Framework\Config\Dom\ValidationException): Element ‘container’, attribute ‘name’: [facet ‘pattern’] The value ‘’ is not accepted by the pattern ‘[a-zA-Z0-9][a-zA-Z\d-_.]*’.
Line: 815

Element ‘container’, attribute ‘name’: ‘’ is not a valid value of the atomic type ‘elementNameType’.
Line: 815

Element ‘container’, attribute ‘name’: [facet ‘pattern’] The value ‘’ is not accepted by the pattern ‘[a-zA-Z0-9][a-zA-Z\d-_.]*’.
Line: 816

Element ‘container’, attribute ‘name’: ‘’ is not a valid value of the atomic type ‘elementNameType’.
Line: 816

Exception #0 (Magento\Framework\Config\Dom\ValidationException): Element ‘container’, attribute ‘name’: [facet ‘pattern’] The value ‘’ is not accepted by the pattern ‘[a-zA-Z0-9][a-zA-Z\d-_.]*’.
Line: 815

Element ‘container’, attribute ‘name’: ‘’ is not a valid value of the atomic type ‘elementNameType’.
Line: 815

Element ‘container’, attribute ‘name’: [facet ‘pattern’] The value ‘’ is not accepted by the pattern ‘[a-zA-Z0-9][a-zA-Z\d-_.]*’.
Line: 816

Element ‘container’, attribute ‘name’: ‘’ is not a valid value of the atomic type ‘elementNameType’.
Line: 816

#0 /home/garadmin/public_html/vendor/magento/framework/Config/Dom.php(115): Magento\Framework\Config\Dom->_initDom(’<layout xmlns:x…’)
#1 /home/garadmin/public_html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(111): Magento\Framework\Config\Dom->__construct(’<layout xmlns:x…’, Object(Magento\Framework\App\Arguments\ValidationState), Array, NULL, ‘/home/garadmin/…’, ‘%message%\nLine:…’)
#2 /home/garadmin/public_html/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(66): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject(‘Magento\Framewo…’, Array)
#3 /home/garadmin/public_html/vendor/magento/framework/ObjectManager/ObjectManager.php(56): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create(‘Magento\Framewo…’, Array)
#4 /home/garadmin/public_html/vendor/magento/framework/Config/DomFactory.php(42): Magento\Framework\ObjectManager\ObjectManager->create(‘Magento\Framewo…’, Array)
#5 /home/garadmin/public_html/vendor/magento/framework/View/Model/Layout/Update/Validator.php(141): Magento\Framework\Config\DomFactory->createDom(Array)
#6 /home/garadmin/public_html/vendor/magento/framework/View/Model/Layout/Merge.php(461): Magento\Framework\View\Model\Layout\Update\Validator->isValid(’<layout xmlns:x…’, ‘layout_merged’, false)
#7 /home/garadmin/public_html/vendor/magento/framework/View/Model/Layout/Merge.php(442): Magento\Framework\View\Model\Layout\Merge->_validateMergedLayout(‘LAYOUT_frontend…’, ‘\n <refe…’)
#8 /home/garadmin/public_html/generated/code/Magento/Framework/View/Model/Layout/Merge/Interceptor.php(193): Magento\Framework\View\Model\Layout\Merge->load(Array)
#9 /home/garadmin/public_html/vendor/magento/framework/View/Layout/Builder.php(86): Magento\Framework\View\Model\Layout\Merge\Interceptor->load()
#10 /home/garadmin/public_html/vendor/magento/framework/View/Layout/Builder.php(63): Magento\Framework\View\Layout\Builder->loadLayoutUpdates()
#11 /home/garadmin/public_html/vendor/magento/framework/View/Layout.php(254): Magento\Framework\View\Layout\Builder->build()
#12 /home/garadmin/public_html/vendor/magento/framework/View/Layout.php(876): Magento\Framework\View\Layout->build()
#13 /home/garadmin/public_html/generated/code/Magento/Framework/View/Layout/Interceptor.php(414): Magento\Framework\View\Layout->getBlock(‘page_content_he…’)
#14 /home/garadmin/public_html/vendor/magento/module-cms/Helper/Page.php(171): Magento\Framework\View\Layout\Interceptor->getBlock(‘page_content_he…’)
#15 /home/garadmin/public_html/vendor/magento/module-cms/Controller/Index/Index.php(43): Magento\Cms\Helper\Page->prepareResultPage(Object(Magento\Cms\Controller\Index\Index\Interceptor), ‘home’)
#16 /home/garadmin/public_html/generated/code/Magento/Cms/Controller/Index/Index/Interceptor.php(24): Magento\Cms\Controller\Index\Index->execute(NULL)
#17 /home/garadmin/public_html/vendor/magento/framework/App/Action/Action.php(107): Magento\Cms\Controller\Index\Index\Interceptor->execute()
#18 /home/garadmin/public_html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http))
#19 /home/garadmin/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Cms\Controller\Index\Index\Interceptor->___callParent(‘dispatch’, Array)
#20 /home/garadmin/public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Cms\Controller\Index\Index\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))
#21 /home/garadmin/public_html/generated/code/Magento/Cms/Controller/Index/Index/Interceptor.php(39): Magento\Cms\Controller\Index\Index\Interceptor->___callPlugins(‘dispatch’, Array, Array)
#22 /home/garadmin/public_html/vendor/magento/framework/App/FrontController.php(55): Magento\Cms\Controller\Index\Index\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#23 /home/garadmin/public_html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))
#24 /home/garadmin/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\FrontController\Interceptor->___callParent(‘dispatch’, Array)
#25 /home/garadmin/public_html/vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php(94): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))
#26 /home/garadmin/public_html/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#27 /home/garadmin/public_html/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(69): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))
#28 /home/garadmin/public_html/vendor/magento/framework/Interception/Interceptor.php(135): Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#29 /home/garadmin/public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))
#30 /home/garadmin/public_html/generated/code/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins(‘dispatch’, Array, NULL)
#31 /home/garadmin/public_html/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#32 /home/garadmin/public_html/generated/code/Magento/Framework/App/Http/Interceptor.php(24): Magento\Framework\App\Http->launch()
#33 /home/garadmin/public_html/vendor/magento/framework/App/Bootstrap.php(256): Magento\Framework\App\Http\Interceptor->launch()
#34 /home/garadmin/public_html/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))
#35 {main}

I’m getting this exception,which file to change

You should set a PHP debugger’s breakpoint to the specified code point, and find out the layout container with an invalid name.

Hi Dmitry Fedyuk

I am getting the same error so kindly guide me a specific path or some other way.

Thanks in advance!!