- From: Philippe Le Hegaret <plh@w3.org>
- Date: 20 May 2002 14:09:29 -0400
- To: "Lyders, Richard" <Richard.Lyders@Airliquide.com>
- Cc: "'www-validator-css@w3.org'" <www-validator-css@w3.org>
On Wed, 2002-04-17 at 13:22, Lyders, Richard wrote: > According to http://www.w3.org/TR/REC-html40/types.html#type-name > <http://www.w3.org/TR/REC-html40/types.html>: > ID and NAME tokens must begin with a letter ([A-Za-z]) and may be > followed by any number of letters, digits ([0-9]), hyphens ("-"), > underscores ("_"), colons (":"), and periods ("."). > Thus, I read this to mean that I should be able use the underscore to create > a valid ID such as: > ID="HEADER_MENU". > Thus if it is a valid ID, then I should be able to use it in a style > definition as below: > table.Y#HEADER_MENU { > background: yellow; > } > As expected, everything seems to work properly when I use the above ID in > the style definition, but when I test it in your CSS Validator I get the > following parse error: > Errors > URI : file://localhost/S:\BVD\4002\scr9259\misc\testHeaderMenu.css > <file://localhost/S:/BVD/4002/scr9259/misc/testHeaderMenu.css> > * Line: 3 Context : table.Y#HEADER > Parse Error - #HEADER_MENU { background: yellow; } > If I replace the underscore "_" with a dash "-", then the validator gives no > errors. > If there really something wrong with my use of the underscore in HEADER_MENU > ID in the style definition or is this just a bug in the validator? It is true that _ are perfectly valid for HTML or XML documents. However, the CSS 2 grammar [1] defines them using the HASH token, which is defined as follow: nonascii [\200-\377] unicode \\{h}{1,6}[ \t\r\n\f]? escape {unicode}|\\[ -~\200-\377] nmchar [a-z0-9-]|{nonascii}|{escape} name {nmchar}+ "#"{name} {return HASH;} Therefore, '_' is not valid as an identifier for CSS2. Philippe [1] http://www.w3.org/TR/CSS2/grammar.html
Received on Monday, 20 May 2002 14:09:35 UTC