Re: issue with url() in CSS 2.1 grammar

* Daniel Glazman wrote:
>According to CSS 2.1 grammar [1], a |URI| token is formed this way:
>   "url("{w}{string}{w}")"   {return URI;}
>   "url("{w}{url}{w}")"      {return URI;}
>where |url| is
>   url         ([!#$%&*-~]|{nonascii}|{escape})*
>Please note the |*| at the end of that line...
>That means the following is a perfectly valid CSS 2.1 rule :
>   @namespace url();
>where the parsing should produce an empty (length 0) url token !

The empty string is a valid resource identifier, if it somehow causes
problems in @namespace, then the css3-namespace specification should
define that the @namespace rule is invalid in the case above. What am
I missing?

>I recommend changing that |*| into a |+|...

This would have to be changed in the core syntax first and then there,
as @namespace is not allowed in CSS 2.1 to begin with. But we are not
really supposed to change the core syntax at all...
Björn Höhrmann · ·
Weinh. Str. 22 · Telefon: +49(0)621/4309674 ·
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · 

Received on Friday, 27 June 2008 12:38:59 UTC