public function cssToXPath(string
$cssExpr, string
$prefix = 'descendant-or-self::'
): string
{ $selectors =
$this->
parseSelectors($cssExpr);
/** @var SelectorNode $selector */
foreach ($selectors as $index =>
$selector) { if (null !==
$selector->
getPseudoElement()) { throw new ExpressionErrorException('Pseudo-elements are not supported.'
);
} $selectors[$index] =
$this->
selectorToXPath($selector,
$prefix);
} return implode(' | ',
$selectors);
} public function selectorToXPath(SelectorNode
$selector, string
$prefix = 'descendant-or-self::'
): string
{ return ($prefix ?: ''
).
$this->
nodeToXPath($selector);
} /**
* @return $this
*/