|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / vendor / magento / framework / Config / Dom / |
Filename | /home/dev2.destoffenstraat.com/vendor/magento/framework/Config/Dom/NodePathMatcher.php |
Size | 1.09 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 07-Jan-2021 21:08 |
Last accessed | 22-Aug-2025 16:18 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Config\Dom;
/**
* Matching of XPath expressions to path patterns
*/
class NodePathMatcher
{
/**
* Whether a subject XPath matches to a given path pattern
*
* @param string $pathPattern Example: '/some/static/path' or '/some/regexp/path(/item)+'
* @param string $xpathSubject Example: '/some[@attr="value"]/static/ns:path'
* @return bool
*/
public function match($pathPattern, $xpathSubject)
{
$pathSubject = $this->simplifyXpath($xpathSubject);
$pathPattern = '#^' . $pathPattern . '$#';
return (bool)preg_match($pathPattern, $pathSubject);
}
/**
* Strip off predicates and namespaces from the XPath
*
* @param string $xpath
* @return string
*/
protected function simplifyXpath($xpath)
{
$result = $xpath;
$result = preg_replace('/\[@[^\]]+?\]/', '', $result);
$result = preg_replace('/\/[^:]+?\:/', '/', $result);
return $result;
}
}
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Config\Dom;
/**
* Matching of XPath expressions to path patterns
*/
class NodePathMatcher
{
/**
* Whether a subject XPath matches to a given path pattern
*
* @param string $pathPattern Example: '/some/static/path' or '/some/regexp/path(/item)+'
* @param string $xpathSubject Example: '/some[@attr="value"]/static/ns:path'
* @return bool
*/
public function match($pathPattern, $xpathSubject)
{
$pathSubject = $this->simplifyXpath($xpathSubject);
$pathPattern = '#^' . $pathPattern . '$#';
return (bool)preg_match($pathPattern, $pathSubject);
}
/**
* Strip off predicates and namespaces from the XPath
*
* @param string $xpath
* @return string
*/
protected function simplifyXpath($xpath)
{
$result = $xpath;
$result = preg_replace('/\[@[^\]]+?\]/', '', $result);
$result = preg_replace('/\/[^:]+?\:/', '/', $result);
return $result;
}
}