Re: CSS21 and CSS3 lexical rules question

On Tuesday 2004-09-07 11:48 -0700, Andrew Fedoniouk wrote:
> Analyzing CSS2.1 and CSS3 ([1],[2]) I've found that rules
> for url defintion does not include '/' character.
> 
> So, following given rules:
> 
> url  ([!#$%&*-~]|{nonascii}|{escape})*
> "url("{w}{url}{w}")" {return URI;} ,
> 
>       url(images/background.png)
> 
> cannot be treated as a valid URL. May it is better to define first rule as
> url  ([!#$%&*-~/]|{nonascii}|{escape})*
> ?

'*' is U+002A, '~' is U+007E, and '/' is U+002F, which is in the range
[*-~].  So your assertion that it's not a valid URL is incorrect.  (And
if you're not treating '-' within character sets as a character range
operator, then letters aren't valid either.)

> And what about whitespaces? Following rules above:
> 
>       url(my background.png)
> 
> is also not valid as it contains whitespace in the middle.

True.

> Is this limitation make sence?

If it's implemented interoperably, I don't see a good reason to change
it at this point.  Is it not implemented interoperably?

-David

-- 
L. David Baron                                <URL: http://dbaron.org/ >

Received on Tuesday, 7 September 2004 19:37:04 UTC