3607022891f95d3de665822bffd828af948a34c0
[yaffs-website] / vendor / symfony / css-selector / XPath / Extension / ExtensionInterface.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\CssSelector\XPath\Extension;
13
14 /**
15  * XPath expression translator extension interface.
16  *
17  * This component is a port of the Python cssselect library,
18  * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
19  *
20  * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
21  *
22  * @internal
23  */
24 interface ExtensionInterface
25 {
26     /**
27      * Returns node translators.
28      *
29      * These callables will receive the node as first argument and the translator as second argument.
30      *
31      * @return callable[]
32      */
33     public function getNodeTranslators();
34
35     /**
36      * Returns combination translators.
37      *
38      * @return callable[]
39      */
40     public function getCombinationTranslators();
41
42     /**
43      * Returns function translators.
44      *
45      * @return callable[]
46      */
47     public function getFunctionTranslators();
48
49     /**
50      * Returns pseudo-class translators.
51      *
52      * @return callable[]
53      */
54     public function getPseudoClassTranslators();
55
56     /**
57      * Returns attribute operation translators.
58      *
59      * @return callable[]
60      */
61     public function getAttributeMatchingTranslators();
62
63     /**
64      * Returns extension name.
65      *
66      * @return string
67      */
68     public function getName();
69 }