- From: Christian Roth <roth@visualclick.de>
- Date: Tue, 8 Feb 2005 17:36:25 +0100
- To: "www-style Mailing List" <www-style@w3.org>
In the core syntax [1] (so this holds true for both CSS21 and CSS3), the selector part of a ruleset is optional: ruleset : selector? '{' S* declaration? [ ';' S* declaration? ]* '}' S*; However, none of the different specific grammars for selectors (i.e. neither the one for CSS21 [2] nor for CSS3 [3]) actually allow a selector to be empty. My question is whether the selector being optional is a deliberate decision to sometime allow rulesets like like { color: red; } { width: 20cm; } (with reasonable semantics to be defined) or the core grammar should better be changed to ruleset : selector '{' S* declaration? [ ';' S* declaration? ]* '}' S*; , i.e. require a selector. This would then be much more in line with the textual description in CSS21, 4.1.7 [4]: "A rule set (also called "rule") consists of a selector followed by a declaration block." and "A selector always goes together with a {}-block." What is the WG's rationale behind making it optional? [1] <http://www.w3.org/TR/CSS21/syndata.html#tokenization> [2] <http://www.w3.org/TR/CSS21/grammar.html> [3] <http://www.w3.org/TR/2003/WD-css3-syntax-20030813/#grammar0> [4] <http://www.w3.org/TR/CSS21/syndata.html#q10> Regards, Christian.
Received on Tuesday, 8 February 2005 16:37:27 UTC