class CssSelectorConverter
CssSelectorConverter is the main entry point of the component and can convert CSS selectors to XPath expressions.
@author Christophe Coevoet <stof@notk.org>
Hierarchy
- class \Symfony\Component\CssSelector\CssSelectorConverter
Expanded class hierarchy of CssSelectorConverter
2 files declare their use of CssSelectorConverter
- Crawler.php in vendor/
symfony/ dom-crawler/ Crawler.php - CssSelector.php in vendor/
behat/ mink/ src/ Selector/ CssSelector.php
File
-
vendor/
symfony/ css-selector/ CssSelectorConverter.php, line 27
Namespace
Symfony\Component\CssSelectorView source
class CssSelectorConverter {
private Translator $translator;
private array $cache;
private static array $xmlCache = [];
private static array $htmlCache = [];
/**
* @param bool $html Whether HTML support should be enabled. Disable it for XML documents
*/
public function __construct(bool $html = true) {
$this->translator = new Translator();
if ($html) {
$this->translator
->registerExtension(new HtmlExtension($this->translator));
$this->cache =& self::$htmlCache;
}
else {
$this->cache =& self::$xmlCache;
}
$this->translator
->registerParserShortcut(new EmptyStringParser())
->registerParserShortcut(new ElementParser())
->registerParserShortcut(new ClassParser())
->registerParserShortcut(new HashParser());
}
/**
* Translates a CSS expression to its XPath equivalent.
*
* Optionally, a prefix can be added to the resulting XPath
* expression with the $prefix parameter.
*/
public function toXPath(string $cssExpr, string $prefix = 'descendant-or-self::') : string {
return $this->cache[$prefix][$cssExpr] ??= $this->translator
->cssToXPath($cssExpr, $prefix);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
CssSelectorConverter::$cache | private | property | |
CssSelectorConverter::$htmlCache | private static | property | |
CssSelectorConverter::$translator | private | property | |
CssSelectorConverter::$xmlCache | private static | property | |
CssSelectorConverter::toXPath | public | function | Translates a CSS expression to its XPath equivalent. |
CssSelectorConverter::__construct | public | function |