W3C home > Mailing lists > Public > www-style@w3.org > February 2009

Issue in CSS21 grammar?

From: Yves Lafon <ylafon@w3.org>
Date: Mon, 9 Feb 2009 05:39:27 -0500 (EST)
To: www-style@w3.org
Message-ID: <Pine.LNX.4.64.0902090534150.19206@ubzre.j3.bet>

Hi,
Currently, the grammar allows the following:

#-2bar { color: red }

#-2bar is recognized as a HASH usable as a selector

<<
simple_selector
   : element_name [ HASH | class | attrib | pseudo ]*
   | [ HASH | class | attrib | pseudo ]+
   ;

"#"{name}               {return HASH;}
name            {nmchar}+
nmchar          [_a-z0-9-]|{nonascii}|{escape}
>>

But the text says:
<<
In CSS, identifiers  (including element names, classes, and IDs in
selectors) can contain only the characters [a-z0-9] and ISO 10646 
characters
U+00A1 and higher, plus the hyphen (-) and the underscore (_); they cannot
start with a digit, or a hyphen followed by a digit. Identifiers can also
contain escaped characters and any ISO 10646 character as a numeric code
(see next item). For instance, the identifier "B&W?" may be written as
"B\&W\?" or "B\26 W\3F".
>>

So the text and the grammar are not synchronized.

Shouldn't selector use a production capturing those requirements, 
(something along the line of HASHIDENT = '#' IDENT) instead of HASH?
Cheers,

-- 
Baroula que barouleras, au tiéu toujou t'entourneras.

         ~~Yves
Received on Monday, 9 February 2009 10:39:35 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:16 GMT