- From: Yves Lafon <ylafon@w3.org>
- Date: Thu, 16 Jul 2009 13:45:06 -0400 (EDT)
- To: fantasai <fantasai.lists@inkedblade.net>
- cc: www-style@w3.org
On Thu, 16 Jul 2009, fantasai wrote:
> 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.
So it means that a CSS3 parser should be different than a CSS21 one. And
the second point... Where is the consolidated grammar for CSS3 ? (as last
time I asked about the status of the CSS3 Grammar spec, the answer was
"abandonned:).
Thanks,
--
Baroula que barouleras, au tiéu toujou t'entourneras.
~~Yves
Received on Thursday, 16 July 2009 17:45:15 UTC