- From: Zachary Weinberg <zweinberg@mozilla.com>
- Date: Wed, 14 May 2008 10:11:30 -0700 (PDT)
- To: Bjoern Hoehrmann <derhoermi@gmx.net>
- Cc: www-style <www-style@w3.org>
----- "Bjoern Hoehrmann" <derhoermi@gmx.net> wrote: > * Zachary Weinberg wrote: > >1) "User agents must close all constructs (nonexhaustive list) at > >the end of the style sheet." Because URI is a single token rather > >than a grammar production, it is not clear whether it counts as a > > "construct" for this rule. > > No, a token cannot be open in this sense[...]. So you parse it like > other tokens, in your example > > > <style>#foo { background-image: url("picture.png</style> > > close the string, close the ), and have an unknown functional > notation. 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? 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. > >Tangential question 2: Is there any |value|, either in CSS2.1 or any > >proposed CSS3 module, whose syntax contains square brackets? > > Square bracket blocks are part of "any" in CSS 2.1, which is part of > "value". Yes, but to use that in a test case, I need a construct where square bracket blocks are *meaningful* in a value, not just allowed in the generic syntax. Sorry for being unclear. zw
Received on Wednesday, 14 May 2008 17:12:32 UTC