- From: Christian Roth <roth@visualclick.de>
- Date: Sun, 17 Sep 2006 21:34:58 +0200
- To: "www-style Mailing List" <www-style@w3.org>
The "Selectors" module in CSS3 does define a syntax for qualified names: <http://www.w3.org/TR/2005/WD-css3-selectors-20051215/#typenmsp> It happens to be a very similar syntax to the one defined in the "Namespaces" module: <http://www.w3.org/TR/2006/WD-css3-namespace-20060828/#css-qnames> I think it would be advantageous to not define the syntax in both modules in parallel (with the risk of making incompatible modifications some time later in either), but to only define it in one of the two modules. Though it is Section 11 - Namespaces and down-level clients in Selectors that suggests that the syntax was chosen primarily for compatibility with earlier CSS levels' syntax and semantics of selectors, i.e. Selectors was the governing factor in choosing this syntax, my preference is to define it in "Namespaces" for the following reason: It would easily enable Syntax to refer Namespaces and allow properties to be qualified names instead of identifiers. This could offer a viable path (haven't checked all implications so far however, I must confess) to a mechanism that consistently works with regard to vendor properties compared to the fragile -vnd- kludge we want to introduce in CSS 2.1. Changing this in CSS 2.1, i.e. *not* allowing identifiers to start with an unquoted hyphen, is still not too late. The rules for handling parsing errors ensure backwards compatibility when qualified names for properties will some time be introduced in CSS3. Additionally, this property namespacing mechanism guarantees vendors a clash-free way of using custom properties for those cases where they absolutely need them. CSS properties would be in the null namespace, and the null namespace would be reserved by CSS. Regards, Christian.
Received on Sunday, 17 September 2006 19:35:10 UTC