From: Bjoern H. <der...@gm...> - 2003-08-20 05:18:23
|
Hi, The attached file is an extension for CSS::SAC to convert selectors to XPath predicates. For example, span[title="a"] would be converted to local-name() = 'span' and @*[local-name() = 'title' and namespace-uri() = ''][. = 'a'] The XPath expression is not meant to be readable, e.g. in order to help people to map one syntax to another but rather to implement css3-selectors on top of an XPath implementations. It implements all structural selectors but :nth-last-... pseudo-classes as they are broken by CSS::SAC (see my earlier bug report). It has some limitations: * classes are considered equivalent to [class~=...] * no support for *:...-of-type, e.g. :nth-of-type(2n+1) as I think there is no equivalent for this functionality in XPath * ' is not allowed within arguments as the character is used to delimit strings * there might be issues with the an+b syntax, e.g., :nth-child(n-2) is considered invalid There is a workaround for the :not argument bug reported earlier, it assumes that the CSS::SAC namespace bugs are fixed (as currently in CVS). The code requires the GetElement extension (see previous message). Could we maintain this in CVS? Where? regards. |