W3C home > Mailing lists > Public > www-style@w3.org > December 2002

Re: CSS parser recovery

From: Ian Hickson <ian@hixie.ch>
Date: Sat, 14 Dec 2002 07:17:35 +0000 (GMT)
To: Tantek Çelik <tantek@cs.stanford.edu>
Cc: "www-style@w3.org" <www-style@w3.org>
Message-ID: <Pine.LNX.4.21.0212140704380.21095-100000@dhalsim.dreamhost.com>

On Fri, 13 Dec 2002, Tantek Çelik wrote:
> 
> It is a misconception that you must match random braces everywhere when
> parsing CSS.  See CSS1 section 7.1 for precise specifics on when "blocks"
> (as defined in 7.1, {...} ) may appear.

CSS1 7.1 (emphasis mine):

# A block starts with a left curly brace ({) and ends with the
# matching right curly brace (}). In between there may be any
# characters, except that parentheses (()), brackets ([]) and braces
# ({}) always occur in matching pairs and may be nested. Single (')
# and double quotes (") also occur in matching pairs, and characters
# between them are parsed as a string (see the tokenizer in appendix B
# for a definition of string).
#
# ...
#
# A declaration-block starts with a left curly brace ({) and ends with
# the MATCHING right curly brace (}).

The spec doesn't explicitly give an example with a block before a
colon, but I see no justification in the spec for ignoring the rules
given above on the left hand side of a declaration.

-- 
Ian Hickson                                      )\._.,--....,'``.    fL
"meow"                                          /,   _.. \   _\  ;`._ ,.
http://index.hixie.ch/                         `._.-(,_..'--(,_..'`-.;.'
Received on Saturday, 14 December 2002 02:17:36 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:17 GMT