Re: [CSS21] The grammar of url() token

On Thursday 21 February 2008 14:07, Andrei Polushin wrote:
> In [CSS21, 4.3.4 URLs and URIs][1]:
> > Some characters appearing in an unquoted URI, such as
> > parentheses, commas, whitespace characters, single quotes (')
> > and double quotes ("), must be escaped with a backslash so that
> > the resulting URI value is a URI token: '\(', '\)', '\,'.
>
> ### Issue 1 ###
>
> The prose should provide some reasons for escaping ',' with a
> backslash. An implementor needs to know the rationale and the intent
> for that.

The specification would become very long if every rule needed to have 
its history written in the spec..

But to answer the question about the comma: We wanted to preserve the 
possibility of adding arguments to the url(), e.g., 
url(http://example.com/,cookie=hfdh455f).

It is unlikely we'll ever change the url syntax, but at least we still 
can (somewhat...) if we want.

>
> ### Issue 2 ###
>
> Backslash character itself should be also escaped with an another
> backslash, and that fact should be mentioned explicitly.

Isn't that obvious?

>
> As a result of the above,
>
> ### Issue 3 ###
>
> In [CSS21, G.2 Lexical scanner][2]:
> >  url ([!#$%&*-~]|{nonascii}|{escape})*
>
> This production does not exclude comma or backslash from the range of
>
> characters allowed in unquoted URI. Probably, it should look like:
> >  url ([!#$%&*+\--\[\]-~]|{nonascii}|{escape})*

Yes, that's indeed better. I'll put it on the issues list.

>
> (not sure, I'm not familiar with Flex).
>
>
> [1]: http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#uri
> [2]: http://www.w3.org/TR/2007/CR-CSS21-20070719/grammar.html#scanner



Bert
-- 
  Bert Bos                                ( W 3 C ) http://www.w3.org/
  http://www.w3.org/people/bos                               W3C/ERCIM
  bert@w3.org                             2004 Rt des Lucioles / BP 93
  +33 (0)4 92 38 76 92            06902 Sophia Antipolis Cedex, France

Received on Tuesday, 26 February 2008 19:33:57 UTC