[css3-selectors] Re-definition of syntax for qualified names

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