Re: [CSS21] Escaping U, R or L in url() tokens (Was: Re: [css3-syntax] Escaping U, R or L in url() tokens)

(13/01/15 3:33), Anton Prowse wrote:
> Here's my attempt at a proposal for CSS21.
> 
> In G.2 (Lexical scanner), replace:
> 
>   # baduri1    url\({w}([!#$%&*-\[\]-~]|{nonascii}|{escape})*{w}
>   # baduri2    url\({w}{string}{w}
>   # baduri3    url\({w}{badstring}
> 
> with:
> 
>   | baduri1    {U}{R}{L}\({w}([!#$%&*-\[\]-~]|{nonascii}|{escape})*{w}
>   | baduri2    {U}{R}{L}\({w}{string}{w}
>   | baduri3    {U}{R}{L}\({w}{badstring}
> 
> [snip]

I think overall this looks fine, but I wonder if we should have
normative statements *in prose* saying that something like

  "counter("

and

  "coun\ter("

are equivalent. It is good in css3-syntax because the above two return
the same token, but I failed to find a similar statement in CSS2.

We might want to consult ECMAScript 6, which has a statement like this[1]:

  # The ReservedWord definitions are specified as literal sequences of
  # Unicode characters. However, any Unicode character in a
  # ReservedWord can also be expressed by a \ UnicodeEscapeSequence
  # that expresses that same Unicode character’s code point. Use of
  # such escape sequences does not change the meaning of the
  # ReservedWord.

and here "url" is our ReservedWord (somewhat).


[1] http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.6.1

Cheers,

Kenny
-- 
Web Specialist, Oupeng Browser, Beijing
Try Oupeng: http://www.oupeng.com/

Received on Friday, 18 January 2013 03:20:53 UTC