Translator

class Translator implements TranslatorInterface

XPath expression translator interface.

This component is a port of the Python cssselect library, which is copyright Ian Bicking, see https://github.com/SimonSapin/cssselect.

Methods

__construct(ParserInterface $parser = null)
static string getXpathLiteral(string $element)
string cssToXPath(string $cssExpr, string $prefix = 'descendant-or-self::')

Translates a CSS selector to an XPath expression.

string selectorToXPath(SelectorNode $selector, string $prefix = 'descendant-or-self::')

Translates a parsed selector node to an XPath expression.

$this registerExtension(ExtensionInterface $extension)

Registers an extension.

ExtensionInterface getExtension(string $name)
$this registerParserShortcut(ParserInterface $shortcut)

Registers a shortcut parser.

XPathExpr nodeToXPath(NodeInterface $node)
XPathExpr addCombination(string $combiner, NodeInterface $xpath, NodeInterface $combinedXpath)
XPathExpr addFunction(XPathExpr $xpath, FunctionNode $function)
XPathExpr addPseudoClass(XPathExpr $xpath, string $pseudoClass)
XPathExpr addAttributeMatching(XPathExpr $xpath, string $operator, string $attribute, string $value)

Details

__construct(ParserInterface $parser = null)

Parameters

ParserInterface $parser

static string getXpathLiteral(string $element)

Parameters

string $element

Return Value

string

string cssToXPath(string $cssExpr, string $prefix = 'descendant-or-self::')

Translates a CSS selector to an XPath expression.

Parameters

string $cssExpr
string $prefix

Return Value

string

string selectorToXPath(SelectorNode $selector, string $prefix = 'descendant-or-self::')

Translates a parsed selector node to an XPath expression.

Parameters

SelectorNode $selector
string $prefix

Return Value

string

$this registerExtension(ExtensionInterface $extension)

Registers an extension.

Parameters

ExtensionInterface $extension

Return Value

$this

ExtensionInterface getExtension(string $name)

Parameters

string $name

Return Value

ExtensionInterface

Exceptions

ExpressionErrorException

$this registerParserShortcut(ParserInterface $shortcut)

Registers a shortcut parser.

Parameters

ParserInterface $shortcut

Return Value

$this

XPathExpr nodeToXPath(NodeInterface $node)

Parameters

NodeInterface $node

Return Value

XPathExpr

Exceptions

ExpressionErrorException

XPathExpr addCombination(string $combiner, NodeInterface $xpath, NodeInterface $combinedXpath)

Parameters

string $combiner
NodeInterface $xpath
NodeInterface $combinedXpath

Return Value

XPathExpr

Exceptions

ExpressionErrorException

XPathExpr addFunction(XPathExpr $xpath, FunctionNode $function)

Parameters

XPathExpr $xpath
FunctionNode $function

Return Value

XPathExpr

Exceptions

ExpressionErrorException

XPathExpr addPseudoClass(XPathExpr $xpath, string $pseudoClass)

Parameters

XPathExpr $xpath
string $pseudoClass

Return Value

XPathExpr

Exceptions

ExpressionErrorException

XPathExpr addAttributeMatching(XPathExpr $xpath, string $operator, string $attribute, string $value)

Parameters

XPathExpr $xpath
string $operator
string $attribute
string $value

Return Value

XPathExpr

Exceptions

ExpressionErrorException

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.3/Symfony/Component/CssSelector/XPath/Translator.html