W3C home > Mailing lists > Public > www-style@w3.org > July 2009

Re: parsing issue in the editor's draft of css3-image

From: fantasai <fantasai.lists@inkedblade.net>
Date: Thu, 16 Jul 2009 09:27:00 -0700
Message-ID: <4A5F54D4.4090104@inkedblade.net>
To: Yves Lafon <ylafon@w3.org>
CC: www-style@w3.org
Yves Lafon wrote:
> In [1], I found the following example:
> 
> background-image: image(wavy.svg, 'wavy.png' 150dpi, "wavy.gif"  or blue);
> 
> Should it be image( url(wavy.svg), 'wavy.png' 150dpi, "wavy.gif" or 
> blue); ?
> 
> With the CSS21 current parsing rules, function is defined as
> 
>  FUNCTION S* expr ')' S*
> 
> expr
>   : term [ operator? term ]*
> 
> term
>   : unary_operator?
>     [ NUMBER S* | PERCENTAGE S* | LENGTH S* | EMS S* | EXS S* | ANGLE S* |
>       TIME S* | FREQ S* ]
>   | STRING S* | IDENT S* | URI S* | hexcolor | function
>   ;
> 
> So the unquoted wavy.svg is not a string, not a URI (as url(...) is 
> missing) and not an ident because of the '.' and a CSS21 Parser based on 
> the latest CSS21 Candidate Rec is unable to parse this declaration.
> 
> Depending of the intent, it would be good to either add a url() or to 
> require quotes.
> Thanks,

CSS3 modules are not required to conform to the CSS2.1 Appendix G grammar,
only to the core grammar in Chapter 4. Therefore this is not an issue. A
CSS2.1 parser will parse the functional notation as invalid, which is
expected.

~fantasai
Received on Thursday, 16 July 2009 17:27:34 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:19 GMT