[CssSelector] remove ConverterInterface
This commit is contained in:
parent
b630972379
commit
fd3fefbfcb
@ -4,7 +4,7 @@ CHANGELOG
|
|||||||
2.8.0
|
2.8.0
|
||||||
-----
|
-----
|
||||||
|
|
||||||
* Added the ConverterInterface and the Converter implementation as a non-static API for the component.
|
* Added the `CssSelectorConverter` class as a non-static API for the component.
|
||||||
* Deprecated the `CssSelector` static API of the component.
|
* Deprecated the `CssSelector` static API of the component.
|
||||||
|
|
||||||
2.1.0
|
2.1.0
|
||||||
|
@ -1,71 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of the Symfony package.
|
|
||||||
*
|
|
||||||
* (c) Fabien Potencier <fabien@symfony.com>
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Symfony\Component\CssSelector;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ConverterInterface is the main entry point of the component and can convert CSS
|
|
||||||
* selectors to XPath expressions.
|
|
||||||
*
|
|
||||||
* This component is a port of the Python cssselect library,
|
|
||||||
* which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
|
|
||||||
*
|
|
||||||
* Copyright (c) 2007-2012 Ian Bicking and contributors. See AUTHORS
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are
|
|
||||||
* met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in
|
|
||||||
* the documentation and/or other materials provided with the
|
|
||||||
* distribution.
|
|
||||||
*
|
|
||||||
* 3. Neither the name of Ian Bicking nor the names of its contributors may
|
|
||||||
* be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IAN BICKING OR
|
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*
|
|
||||||
* @author Christophe Coevoet <stof@notk.org>
|
|
||||||
*/
|
|
||||||
interface ConverterInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Translates a CSS expression to its XPath equivalent.
|
|
||||||
*
|
|
||||||
* Optionally, a prefix can be added to the resulting XPath
|
|
||||||
* expression with the $prefix parameter.
|
|
||||||
*
|
|
||||||
* @param string $cssExpr The CSS expression.
|
|
||||||
* @param string $prefix An optional prefix for the XPath expression.
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function toXPath($cssExpr, $prefix = 'descendant-or-self::');
|
|
||||||
|
|
||||||
}
|
|
@ -19,9 +19,12 @@ use Symfony\Component\CssSelector\XPath\Extension\HtmlExtension;
|
|||||||
use Symfony\Component\CssSelector\XPath\Translator;
|
use Symfony\Component\CssSelector\XPath\Translator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* CssSelectorConverter is the main entry point of the component and can convert CSS
|
||||||
|
* selectors to XPath expressions.
|
||||||
|
*
|
||||||
* @author Christophe Coevoet <stof@notk.org>
|
* @author Christophe Coevoet <stof@notk.org>
|
||||||
*/
|
*/
|
||||||
class Converter implements ConverterInterface
|
class CssSelectorConverter
|
||||||
{
|
{
|
||||||
private $translator;
|
private $translator;
|
||||||
|
|
||||||
@ -45,7 +48,15 @@ class Converter implements ConverterInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* Translates a CSS expression to its XPath equivalent.
|
||||||
|
*
|
||||||
|
* Optionally, a prefix can be added to the resulting XPath
|
||||||
|
* expression with the $prefix parameter.
|
||||||
|
*
|
||||||
|
* @param string $cssExpr The CSS expression.
|
||||||
|
* @param string $prefix An optional prefix for the XPath expression.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function toXPath($cssExpr, $prefix = 'descendant-or-self::')
|
public function toXPath($cssExpr, $prefix = 'descendant-or-self::')
|
||||||
{
|
{
|
@ -45,3 +45,42 @@ You can run the unit tests with the following command:
|
|||||||
$ cd path/to/Symfony/Component/CssSelector/
|
$ cd path/to/Symfony/Component/CssSelector/
|
||||||
$ composer install
|
$ composer install
|
||||||
$ phpunit
|
$ phpunit
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
This component is a port of the Python cssselect library,
|
||||||
|
which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
|
||||||
|
|
||||||
|
Copyright (c) 2007-2012 Ian Bicking and contributors. See AUTHORS
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in
|
||||||
|
the documentation and/or other materials provided with the
|
||||||
|
distribution.
|
||||||
|
|
||||||
|
3. Neither the name of Ian Bicking nor the names of its contributors may
|
||||||
|
be used to endorse or promote products derived from this software
|
||||||
|
without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IAN BICKING OR
|
||||||
|
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
Reference in New Issue
Block a user