- From: Etan Wexler <ewexler@stickdog.com>
- Date: Wed, 27 Oct 2004 06:20:22 -0700
- To: www-style@w3.org
Christian Roth wrote to <mailto:www-style@w3.org> on 11 October 2004 in "Re: [css3-syntax] Error handling within known at-rules" (<mid:20041011104807.31277@mail.visualclick.de>): > Where is defined in the spec what ill-formed, invalid, > ignorable inter-rule junk is? It's not defined, but, as I will demonstrate, neither is any particular error handling routine for this case. > CSS21 4.1.4 [1] states: > > "A CSS style sheet, for any version of CSS, consists of a list of > statements (see the grammar above). There are two kinds of statements: > at-rules and rule sets." > > Stylesheets (note the "any version" clause) consist of two types of > rules: at-rules and rule sets. Fair enough. But what is a Cascading Style Sheet? Section 4.1.1, "Tokenization" of the CSS 2.1 specification (<http://www.w3.org/TR/CSS21/syndata.html#tokenization>): "All levels of CSS — level 1, level 2, and any future levels — use the same core syntax." The core syntax is then defined, and it does not allow a semicolon in selectors. The sequence of characters in question is not, syntactically, a Cascading Style Sheet. So what is a conforming user agent to do? Again, section 4.1.1: "The meaning of input that cannot be tokenized or parsed is undefined in CSS 2.1." Oh. So it will be the job of the syntax module of CSS3 to define the meaning and handling for this case. -- Etan Wexler.
Received on Wednesday, 27 October 2004 13:24:13 UTC