- From: Simon Sapin <simon.sapin@exyr.org>
- Date: Sat, 20 Jul 2013 18:13:45 +0100
- To: marc@marcomorain.com
- CC: "Tab Atkins Jr." <jackalmage@gmail.com>, www-style list <www-style@w3.org>
Le 20/07/2013 17:46, Marc O'Morain a écrit :
> On Sat, Jul 20, 2013 at 4:15 PM, Marc O'Morain <marc@marcomorain.com> wrote:
>> Hi guys,
>>
>> I have another question – section "5.4.3 Consume a qualified rule"
>> doesn't match the railroad diagram for "Qualified rule" in section
>> 5.1.
>>
>> 5.4.3 says that a qualified rule contains a simple block (incorrect I
>> think?), whereas the railroad diagram says it contains a declaration
>> list (correct I think?).
Good catch, fixed.
We forgot to updated the diagrams when we changed the spec recently so
that qualified rules contain not just declarations but any {} block.
Even though qualified rules that currently exist in CSS (namely: style
rules and keyframe rules inside @keyframes) all contain declarations,
this might not be the case in the future. The idea is that a qualified
rule’s block content can be parsed with "Parse a list of declarations",
or some other algorithm depending on how this particular rule is defined.
> Following on from my own post, I think the railroad diagram for
> "Qualified rule" is incorrect.
>
> The file at https://gist.github.com/marcomorain/6045647 is not valid
> CSS (it has no selector). I have verified this with the tool on
> http://jigsaw.w3.org/css-validator/
>
>> {
>> width: 100%;
>> }
>
> This input would be accepted by the railroad diagrams (stylesheet =>
> qualified rule => declaration list, bypassing the 'component value' in
> the 'qualified rule' diagram). There should not be a route around the
> 'component value' in 'qualified rule'.
Yes this is an invalid style rule, but as far as the Syntax module is
concerned it is a valid qualified rule whose prelude happens to be an
invalid (empty) selector, just like this one:
div:has-magic(42bz) {
width: 100%;
}
We could make such rules invalid at the Syntax level, but either way
works so meh.
We have this distinction between qualified rules and style rules for
separation of concerns: Syntax does not need to know about Selectors or
the various CSS at-rules.
Also, as Zack said, invalid rules still need to be parsed in order to
know where to recover and start parsing subsequent rules.
--
Simon Sapin
Received on Saturday, 20 July 2013 17:14:09 UTC