Re: Proposed text CSS 2.1 issue 71

Bert Bos wrote:
> Here is some proposed text to solve issue 71 
> (http://wiki.csswg.org/spec/css2.1#issue-71), which says:
> 
>     Resolution
>         @rules inside declaration blocks are ignored if between
>         declarations (i.e. at the beginning of a declaration before the
>         property), invalid if within declarations.
> 
> (I think it would really be much cleaner to leave 2.1 alone and put the 
> margin boxes *outside* the @page rule in css3-page... See the thread at 
> http://lists.w3.org/Archives/Public/www-style/2008Jul/0070.html for 
> some context for this issue.)

It's too late. We have multiple implementations already.

> Add the following at the end of 4.1.6 
> (http://www.w3.org/Style/Group/css2-src/syndata.html#block)
> 
> ------------------------------------------------------------------------
> Three special kinds of blocks are defined and they have additional 
> parsing rules: "declaration block" (defined in 4.1.7 below), "block of 
> statements" and "block of declarations and at-rules." (Future versions 
> of CSS may define additional kinds.)
> ...

This is not consistent with the resolution. It special-cases @page
and makes a distinction between blocks that can only contain
declarations and blocks that can contain declarations and @rules.
The resolution is that the generic grammar allows @rules between
declarations inside declaration blocks, and that CSS2.1 specifies
that all such @rules must be parsed and ignored per the rules for
handling parsing errors.

~fantasai

Received on Tuesday, 13 January 2009 22:11:41 UTC