class AttributeNode in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/css-selector/Node/AttributeNode.php \Symfony\Component\CssSelector\Node\AttributeNode
Represents a "<selector>[<namespace>|<attribute> <operator> <value>]" node.
This component is a port of the Python cssselect library, which is copyright Ian Bicking, @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
Hierarchy
- class \Symfony\Component\CssSelector\Node\AbstractNode implements NodeInterface
- class \Symfony\Component\CssSelector\Node\AttributeNode
Expanded class hierarchy of AttributeNode
See also
https://github.com/SimonSapin/cssselect.
1 file declares its use of AttributeNode
- AttributeNodeTest.php in vendor/
symfony/ css-selector/ Tests/ Node/ AttributeNodeTest.php
File
- vendor/
symfony/ css-selector/ Node/ AttributeNode.php, line 22
Namespace
Symfony\Component\CssSelector\NodeView source
class AttributeNode extends AbstractNode {
/**
* @var NodeInterface
*/
private $selector;
/**
* @var string
*/
private $namespace;
/**
* @var string
*/
private $attribute;
/**
* @var string
*/
private $operator;
/**
* @var string
*/
private $value;
/**
* @param NodeInterface $selector
* @param string $namespace
* @param string $attribute
* @param string $operator
* @param string $value
*/
public function __construct(NodeInterface $selector, $namespace, $attribute, $operator, $value) {
$this->selector = $selector;
$this->namespace = $namespace;
$this->attribute = $attribute;
$this->operator = $operator;
$this->value = $value;
}
/**
* @return NodeInterface
*/
public function getSelector() {
return $this->selector;
}
/**
* @return string
*/
public function getNamespace() {
return $this->namespace;
}
/**
* @return string
*/
public function getAttribute() {
return $this->attribute;
}
/**
* @return string
*/
public function getOperator() {
return $this->operator;
}
/**
* @return string
*/
public function getValue() {
return $this->value;
}
/**
* {@inheritdoc}
*/
public function getSpecificity() {
return $this->selector
->getSpecificity()
->plus(new Specificity(0, 1, 0));
}
/**
* {@inheritdoc}
*/
public function __toString() {
$attribute = $this->namespace ? $this->namespace . '|' . $this->attribute : $this->attribute;
return 'exists' === $this->operator ? sprintf('%s[%s[%s]]', $this
->getNodeName(), $this->selector, $attribute) : sprintf("%s[%s[%s %s '%s']]", $this
->getNodeName(), $this->selector, $attribute, $this->operator, $this->value);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AbstractNode:: |
private | property | ||
AbstractNode:: |
public | function |
Overrides NodeInterface:: |
|
AttributeNode:: |
private | property | ||
AttributeNode:: |
private | property | ||
AttributeNode:: |
private | property | ||
AttributeNode:: |
private | property | ||
AttributeNode:: |
private | property | ||
AttributeNode:: |
public | function | ||
AttributeNode:: |
public | function | ||
AttributeNode:: |
public | function | ||
AttributeNode:: |
public | function | ||
AttributeNode:: |
public | function |
Returns node's specificity. Overrides NodeInterface:: |
|
AttributeNode:: |
public | function | ||
AttributeNode:: |
public | function | ||
AttributeNode:: |
public | function |
Returns node's string representation. Overrides NodeInterface:: |