- From: Yves Lafon <ylafon@w3.org>
- Date: Fri, 3 Apr 2009 08:17:20 -0400 (EDT)
- To: www-style@w3.org
After finding an example in css3-background that looks quite strange << the (10em) in [1]: p { background: url("chess.png") (10em) gray 40% round fixed border border} >> I checked the CSS3 syntax to see if it was a valid construct, and found the following issues: In CSS3 Syntax [2], ident is defined like this ident [-]?{nmstart}{nmchar}* nmstart [a-z]|{nonascii}|{escape} nmchar [a-z0-9-]|{nonascii}|{escape} While in CSS21 [3], is is defined as follow: ident -?{nmstart}{nmchar}* nmstart [_a-z]|{nonascii}|{escape} nmchar [_a-z0-9-]|{nonascii}|{escape} The "_" is allowed in CSS21 and not in CSS3. Is that intentional? Also the definition of IMPORT_SYM, PAGE_SYM etc... are not in sync IMPORTANT_SYM allows a comment between ! and "important" in CSS21 and not in CSS3. So what is the right syntax, the one in CSS21, augmented by the various CSS3 specs (like namespaces, that renders the grammar LR(2) instead of LR(0)), will CSS3-syntax be modified soon? (my goal was to generate a crude parser to verify the examples and syntax definition of all the others CSS3-* specs) Cheers, [1] http://www.w3.org/TR/css3-background/#the-background [2] http://www.w3.org/TR/css3-syntax/#lexical [3] http://www.w3.org/TR/CSS21/grammar.html#scanner -- Baroula que barouleras, au tiéu toujou t'entourneras. ~~Yves
Received on Friday, 3 April 2009 12:17:30 UTC