Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tag: v0.2
Fetching contributors…

Cannot retrieve contributors at this time

77 lines (53 sloc) 2.453 kB
Changelog
=========
Planned changes
---------------
* Implement ``:target``, ``:hover``, ``:focus`` and ``:active``
as never matching
* Make a new HTML-specific ``Translator`` subclass. There, implement
``:enabled``, ``:disabled``, ``:link`` and ``:visited``
(with all links "not visited"). Move ``:checked`` to this new
``HTMLTranslator``
* Make all of these never match for "generic" XML. (Unless otherwise specified,
there is no link, checkbox, etc.)
* Add some support for pseudo-elements by separating them from the
rest of the selector.
* Add specificity calculation.
Discussion is open if anyone is interested in implementing eg. ``:target``
or ``:visited`` differently, but they can always do it in a ``Translator``
subclass.
Version 0.2
-----------
Not released yet.
* Remove the ``CSSSelector`` class. (The ``css_to_xpath()`` function is now
the main API.)
* Remove support for the ``:contains()`` pseudo-class.
These changes allow cssselect to be used without lxml. (Hey, this was
the whole point of this project.) The tests still require lxml, though.
The removed parts are expected to stay in lxml for backward-compatibility.
``:contains()`` only existed in an `early draft
<http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#content-selectors>`_
of the Selectors specification, and was removed before Level 3 stabilized.
Internally, it used a custom XPath extension function which can be
difficult to express outside of lxml.
* Separate the XPath translation from the parsed objects into a new
``Translator`` class.
Subclasses of ``Translator`` can be made to change the way that some selector
(eg. a pseudo-class) is implemented.
Version 0.1
-----------
Released on 2012-04-13.
Extract lxml.cssselect from the rest of lxml and make it a stand-alone project.
Commit ``ea53ceaf7e44ba4fbb5c818ae31370932f47774e`` was taken on 2012-04-11
from the 'master' branch of lxml’s git repository. This is somewhere
between versions 2.3.4 and 2.4.
The commit history has been rewritten to:
* Remove lxml files unrelated to cssselect
* Import the early history from the 'html' branch in the old SVN repository
* Fix author names in commits from SVN
This project has its own import name, tests and documentation. But the
code itself is unchanged and still depends on lxml.
Earlier history
---------------
Search for *cssselect* in `lxml’s changelog
<https://github.com/lxml/lxml/blob/master/CHANGES.txt>`_
Jump to Line
Something went wrong with that request. Please try again.