Re: issue with url() in CSS 2.1 grammar

Bjoern Hoehrmann wrote:
> * 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?

The issue is not related to namespaces. The following is also perfectly
valid for the same reasons :

   @import url();
   foo { background-image: url(); }

The problem is that a URL is not supposed to be zero-length...

</Daniel>

Received on Friday, 27 June 2008 12:26:20 UTC