The grammar is not quite right (unless the selector ignore rules are
changed (see *)). The old HASH token is reused, but it is not suitable
for the purpose for which it is employed P#100 under the spirit of CSS
should be ignored, but will not be, since it is a valid (CSS) NAME. The
hexcolor production should be defined as
hexcolor
: "#" HEXCOLOR
;
HEXCOLOR is simply {h}{3,6}
ID should be
id:
: "#" ID
;
with ID defined as
{idstart}{idchar}*
with
idstart [a-z]|{escape}
idchar [a-z0-9-]|{escape}
These definitions are better in that, as well as removing the error,
they address the anomalous situation whereby P./* */class is valid, but
P#/* */id is not (P/* */#id is).
* http://lists.w3.org/Archives/Public/www-style/2000Jan/0194.html
-----------------------------------
Please visit http://RichInStyle.com. Featuring:
MySite: customizable styles. AlwaysWork style
Browser bug table covering all CSS2 with links to descriptions.
Lists of > 1000 browser bugs Websafe Colorizer
CSS2, CSS1 and HTML4 tutorials. CSS masterclass
CSS2 test suite: 5000++ tests and 300+ test pages.