- From: Bert Bos <bert@w3.org>
- Date: Wed, 26 Nov 2008 14:36:57 +0100
- To: W3C style mailing list <www-style@w3.org>
The WG accepted the proposal[1] to change "declaration" to "statement" in http://www.w3.org/TR/CSS21/syndata.html#parsing-errors # Malformed declarations. User agents must handle unexpected tokens # encountered while parsing a declaration by reading until the end # of the declaration, while observing the rules for matching pairs # of (), [], {}, "", and '', and correctly handling escapes. But after reading the resulting text (below), I think it is not right. # Malformed statements. User agents must handle unexpected tokens # encountered while parsing a statement by reading until the end # of the statement, while observing the rules for matching pairs # of (), [], {}, "", and '', and correctly handling escapes. As the examples in 4.2 right after this paragraph show, user agents do *not* have to read until the end of the statement. E.g.: p { color:red; color:; color:green } has a malformed declaration in the middle and should be interpreted as p { color:red; color:green } There is no reason to read any further than the second ";". I think the original issue was how to deal with parentheses in a malformed selector, such as FOO @BAR({}) {color: red} The above is guaranteed not to be valid in any future level of CSS, so I don't really mind what the error recovery behavior is, but it cannot be the one quoted above. [1] http://lists.w3.org/Archives/Public/www-style/2008May/0252.html Bert -- Bert Bos ( W 3 C ) http://www.w3.org/ http://www.w3.org/people/bos W3C/ERCIM bert@w3.org 2004 Rt des Lucioles / BP 93 +33 (0)4 92 38 76 92 06902 Sophia Antipolis Cedex, France
Received on Wednesday, 26 November 2008 13:37:35 UTC