comparison vendor/symfony/css-selector/XPath/Extension/NodeExtension.php @ 14:1fec387a4317

Update Drupal core to 8.5.2 via Composer
author Chris Cannam
date Mon, 23 Apr 2018 09:46:53 +0100
parents 4c8ae668cc8c
children 129ea1e6d783
comparison
equal deleted inserted replaced
13:5fb285c0d0e3 14:1fec387a4317
29 { 29 {
30 const ELEMENT_NAME_IN_LOWER_CASE = 1; 30 const ELEMENT_NAME_IN_LOWER_CASE = 1;
31 const ATTRIBUTE_NAME_IN_LOWER_CASE = 2; 31 const ATTRIBUTE_NAME_IN_LOWER_CASE = 2;
32 const ATTRIBUTE_VALUE_IN_LOWER_CASE = 4; 32 const ATTRIBUTE_VALUE_IN_LOWER_CASE = 4;
33 33
34 /**
35 * @var int
36 */
37 private $flags; 34 private $flags;
38 35
39 /** 36 /**
40 * Constructor.
41 *
42 * @param int $flags 37 * @param int $flags
43 */ 38 */
44 public function __construct($flags = 0) 39 public function __construct($flags = 0)
45 { 40 {
46 $this->flags = $flags; 41 $this->flags = $flags;
92 'Element' => array($this, 'translateElement'), 87 'Element' => array($this, 'translateElement'),
93 ); 88 );
94 } 89 }
95 90
96 /** 91 /**
97 * @param Node\SelectorNode $node
98 * @param Translator $translator
99 *
100 * @return XPathExpr 92 * @return XPathExpr
101 */ 93 */
102 public function translateSelector(Node\SelectorNode $node, Translator $translator) 94 public function translateSelector(Node\SelectorNode $node, Translator $translator)
103 { 95 {
104 return $translator->nodeToXPath($node->getTree()); 96 return $translator->nodeToXPath($node->getTree());
105 } 97 }
106 98
107 /** 99 /**
108 * @param Node\CombinedSelectorNode $node
109 * @param Translator $translator
110 *
111 * @return XPathExpr 100 * @return XPathExpr
112 */ 101 */
113 public function translateCombinedSelector(Node\CombinedSelectorNode $node, Translator $translator) 102 public function translateCombinedSelector(Node\CombinedSelectorNode $node, Translator $translator)
114 { 103 {
115 return $translator->addCombination($node->getCombinator(), $node->getSelector(), $node->getSubSelector()); 104 return $translator->addCombination($node->getCombinator(), $node->getSelector(), $node->getSubSelector());
116 } 105 }
117 106
118 /** 107 /**
119 * @param Node\NegationNode $node
120 * @param Translator $translator
121 *
122 * @return XPathExpr 108 * @return XPathExpr
123 */ 109 */
124 public function translateNegation(Node\NegationNode $node, Translator $translator) 110 public function translateNegation(Node\NegationNode $node, Translator $translator)
125 { 111 {
126 $xpath = $translator->nodeToXPath($node->getSelector()); 112 $xpath = $translator->nodeToXPath($node->getSelector());
133 119
134 return $xpath->addCondition('0'); 120 return $xpath->addCondition('0');
135 } 121 }
136 122
137 /** 123 /**
138 * @param Node\FunctionNode $node
139 * @param Translator $translator
140 *
141 * @return XPathExpr 124 * @return XPathExpr
142 */ 125 */
143 public function translateFunction(Node\FunctionNode $node, Translator $translator) 126 public function translateFunction(Node\FunctionNode $node, Translator $translator)
144 { 127 {
145 $xpath = $translator->nodeToXPath($node->getSelector()); 128 $xpath = $translator->nodeToXPath($node->getSelector());
146 129
147 return $translator->addFunction($xpath, $node); 130 return $translator->addFunction($xpath, $node);
148 } 131 }
149 132
150 /** 133 /**
151 * @param Node\PseudoNode $node
152 * @param Translator $translator
153 *
154 * @return XPathExpr 134 * @return XPathExpr
155 */ 135 */
156 public function translatePseudo(Node\PseudoNode $node, Translator $translator) 136 public function translatePseudo(Node\PseudoNode $node, Translator $translator)
157 { 137 {
158 $xpath = $translator->nodeToXPath($node->getSelector()); 138 $xpath = $translator->nodeToXPath($node->getSelector());
159 139
160 return $translator->addPseudoClass($xpath, $node->getIdentifier()); 140 return $translator->addPseudoClass($xpath, $node->getIdentifier());
161 } 141 }
162 142
163 /** 143 /**
164 * @param Node\AttributeNode $node
165 * @param Translator $translator
166 *
167 * @return XPathExpr 144 * @return XPathExpr
168 */ 145 */
169 public function translateAttribute(Node\AttributeNode $node, Translator $translator) 146 public function translateAttribute(Node\AttributeNode $node, Translator $translator)
170 { 147 {
171 $name = $node->getAttribute(); 148 $name = $node->getAttribute();
190 167
191 return $translator->addAttributeMatching($xpath, $node->getOperator(), $attribute, $value); 168 return $translator->addAttributeMatching($xpath, $node->getOperator(), $attribute, $value);
192 } 169 }
193 170
194 /** 171 /**
195 * @param Node\ClassNode $node
196 * @param Translator $translator
197 *
198 * @return XPathExpr 172 * @return XPathExpr
199 */ 173 */
200 public function translateClass(Node\ClassNode $node, Translator $translator) 174 public function translateClass(Node\ClassNode $node, Translator $translator)
201 { 175 {
202 $xpath = $translator->nodeToXPath($node->getSelector()); 176 $xpath = $translator->nodeToXPath($node->getSelector());
203 177
204 return $translator->addAttributeMatching($xpath, '~=', '@class', $node->getName()); 178 return $translator->addAttributeMatching($xpath, '~=', '@class', $node->getName());
205 } 179 }
206 180
207 /** 181 /**
208 * @param Node\HashNode $node
209 * @param Translator $translator
210 *
211 * @return XPathExpr 182 * @return XPathExpr
212 */ 183 */
213 public function translateHash(Node\HashNode $node, Translator $translator) 184 public function translateHash(Node\HashNode $node, Translator $translator)
214 { 185 {
215 $xpath = $translator->nodeToXPath($node->getSelector()); 186 $xpath = $translator->nodeToXPath($node->getSelector());
216 187
217 return $translator->addAttributeMatching($xpath, '=', '@id', $node->getId()); 188 return $translator->addAttributeMatching($xpath, '=', '@id', $node->getId());
218 } 189 }
219 190
220 /** 191 /**
221 * @param Node\ElementNode $node
222 *
223 * @return XPathExpr 192 * @return XPathExpr
224 */ 193 */
225 public function translateElement(Node\ElementNode $node) 194 public function translateElement(Node\ElementNode $node)
226 { 195 {
227 $element = $node->getElement(); 196 $element = $node->getElement();