function NodeExtension::translateElement
1 call to NodeExtension::translateElement()
- NodeExtension::getNodeTranslators in vendor/
symfony/ css-selector/ XPath/ Extension/ NodeExtension.php - Returns node translators.
File
-
vendor/
symfony/ css-selector/ XPath/ Extension/ NodeExtension.php, line 183
Class
- NodeExtension
- XPath expression translator node extension.
Namespace
Symfony\Component\CssSelector\XPath\ExtensionCode
public function translateElement(Node\ElementNode $node) : XPathExpr {
$element = $node->getElement();
if ($element && $this->hasFlag(self::ELEMENT_NAME_IN_LOWER_CASE)) {
$element = strtolower($element);
}
if ($element) {
$safe = $this->isSafeName($element);
}
else {
$element = '*';
$safe = true;
}
if ($node->getNamespace()) {
$element = \sprintf('%s:%s', $node->getNamespace(), $element);
$safe = $safe && $this->isSafeName($node->getNamespace());
}
$xpath = new XPathExpr('', $element);
if (!$safe) {
$xpath->addNameTest();
}
return $xpath;
}