This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/CssSelector/README.md

45 lines
1.4 KiB
Markdown
Raw Normal View History

CssSelector Component
=====================
2011-12-18 13:18:13 +00:00
CssSelector converts CSS selectors to XPath expressions.
2011-12-18 13:18:13 +00:00
The component only goal is to convert CSS selectors to their XPath
equivalents:
2011-12-18 13:18:13 +00:00
use Symfony\Component\CssSelector\CssSelector;
2011-12-18 13:18:13 +00:00
print CssSelector::toXPath('div.item > h4 > a');
HTML and XML are different
--------------------------
The `CssSelector` component comes with an `HTML` extension which is enabled by
default. If you need to use this component with `XML` documents, you have to
disable this `HTML` extension. That's because, `HTML` tag & attribute names
are always lower-cased, but case-sensitive in `XML`:
// disable `HTML` extension:
CssSelector::disableHtmlExtension();
// re-enable `HTML` extension:
CssSelector::enableHtmlExtension();
When the `HTML` extension is enabled, tag names are lower-cased, attribute
names are lower-cased, the following extra pseudo-classes are supported:
`checked`, `link`, `disabled`, `enabled`, `selected`, `invalid`, `hover`,
`visited`, and the `lang()` function is also added.
Resources
---------
2011-12-18 13:18:13 +00:00
This component is a port of the Python lxml library, which is copyright Infrae
and distributed under the BSD license.
2013-03-23 19:31:06 +00:00
Current code is a port of https://github.com/SimonSapin/cssselect@v0.7.1
You can run the unit tests with the following command:
$ cd path/to/Symfony/Component/CssSelector/
$ composer.phar install
$ phpunit