function HtmlExtension::translateLang
Throws
1 call to HtmlExtension::translateLang()
- HtmlExtension::getFunctionTranslators in vendor/
symfony/ css-selector/ XPath/ Extension/ HtmlExtension.php - Returns function translators.
File
-
vendor/
symfony/ css-selector/ XPath/ Extension/ HtmlExtension.php, line 136
Class
- HtmlExtension
- XPath expression translator HTML extension.
Namespace
Symfony\Component\CssSelector\XPath\ExtensionCode
public function translateLang(XPathExpr $xpath, FunctionNode $function) : XPathExpr {
$arguments = $function->getArguments();
foreach ($arguments as $token) {
if (!($token->isString() || $token->isIdentifier())) {
throw new ExpressionErrorException('Expected a single string or identifier for :lang(), got ' . implode(', ', $arguments));
}
}
return $xpath->addCondition(\sprintf('ancestor-or-self::*[@lang][1][starts-with(concat(' . "translate(@%s, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), '-')" . ', %s)]', 'lang', Translator::getXpathLiteral(strtolower($arguments[0]->getValue()) . '-')));
}