Re: [css3-syntax] More changes from CSS 2.1 Core Grammar

On Mon, Jan 28, 2013 at 9:28 AM, Simon Sapin <simon.sapin@kozea.fr> wrote:
> If I’m reading the CSS 2.1 Core Grammar correctly, the ED has a few changes
> from it that are not noted in section 3.6.
>
> Overall, tehy are all boring details. I’m only writing them up for
> completeness.
>
> * [] blocks, () blocks and functions can now contain {} blocks, at-keywords
> or semicolons
> * Property values, functions and all blocks can now contain cdo and cdc
> * Selectors can now contain semicolons
> * Selectors and at-rule predules can now contain cdo, cdc and at-keywords
> * Anything can contain an unmatched } ] or )
> * Selectors are no longer optional in rulesets a.k.a. style rules. (Although
> an empty selector is invalid per css3-selectors, it does not make ruleset
> invalid per the core grammar.)
>
> (Note: this is with the "preserved token" definition in the current ED.)
>
>
> I think that the core grammar is more restrictive than it needs to be
> (especially the 'any' production). I don’t know if lifting those
> restrictions was intentional.

Thanks!  I previously swept all but the last of them under the first
"difference", but I've gone ahead and copied your list of differences
into the spec for clarity.

The last item, I'm not sure about.  It would be trivial to support
style rules with empty selectors, actually - I'd just have to change
top-level mode and rule-block mode to recognize it, instead of
treating it like a syntax error as they currently do.  I think I
didn't realize it was allowed by 2.1's Core Grammar.

~TJ

Received on Wednesday, 30 January 2013 04:59:19 UTC