Re: [CSS2.1] syntax: url() and unexpected end of (line / style sheet)

Bjoern Hoehrmann wrote:
> * Zachary Weinberg wrote:
>> Let me make sure I understand you: there is no URI token here, so
>> the lexer should back up and tokenize this as
>>
>>  FUNCTION[url(] STRING["picture.png"] ')'
>>
>> with the close quote and close paren provided by the "close open
>> constructs" rule.  This token sequence is an invalid argument to
>> background-image:, so the rule is dropped.  Correct?
> 
> Whether it is dropped is an open issue the working group should resolve,
> but yes, that is my interpretation.
> 
>> If so I would argue that this is inconsistent with the treatment of
>> other things that have the form of function application, e.g.
>>
>>  <style>#foo { background-color: rgb(12,34,56</style>
>>
>> and the spec should be changed somehow, so that either both or
>> neither of those are valid.
> 
> The difference, if there is to be any, would be coming from URI being
> a token on its own, unlike other functional notations.

the question remains *why* URI is a token and why the definition for 
FUNCTION is not used instead, it would actually simplify the tokenizer 
as well.
I always explained it to myself that if an URI is cut off it may be 
totally different than the value meant and so better be removed 
altogether (contrived examply: e.g. "url(some.gif.jpg)" could be cut 
e.g. "url(some.gif" and if the completion rule of FUNCTION would be used 
would end up "url(some.gif)"...)

Does anyone knows the actual reasoning for URI being a token on itself?

thanks
Christof

Received on Wednesday, 14 May 2008 18:09:35 UTC