- From: Etan Wexler <ewexler@stickdog.com>
- Date: Sun, 10 Oct 2004 02:55:33 -0700
- To: www-style@w3.org
Ian Hickson wrote to <mailto:www-style@w3.org> on 4 September 2004 in
"Re: [css3-syntax] Error handling within known at-rules"
(<mid:Pine.LNX.4.61.0409041120230.9548@dhalsim.dreamhost.com>):
> On Fri, 3 Sep 2004, Christian Roth wrote:
>>
>> Assuming the following stylesheet:
>>
>> @import "include.css" { color: red } print;
>> .red { color: red; }
>>
>> 1) Should it include "include.css"?
>
> No.
Agreed.
>> 2) Should it include "include.css" only for the print media type?
>
> No.
Agreed.
>> 3) Should the @import rule be ignored completely?
>
> Yes.
Agreed.
>> 4) Should elements of class "red" have red text?
>
> No.
Here I would say "yes". I explain a bit later.
> The rule uses invalid syntax and thus must be ignored.
>
> The rule consists of exactly:
>
> @import "include.css" { color: red }
>
> ...no more, no less. That's not valid.
It's not just invalid; it's incomprehensible according to what we know
of @import at-rules. Consider the following example.
@import url("imported") print, not-valid;
That's not valid either, because there is no medium associated with the
keyword 'not-valid'. However, the user agent should not ignore the
whole at-rule. The comma represents logical "or", so the lack of
knowledge of 'not-valid' is irrelevant. The user agent should ignore
the unknown medium specification and proceed as usual, importing the
referenced style sheet for use in print.
> My interpretation is that the sheet consists of:
>
> 1. An invalid @rule: @import "include.css" { color: red }
> 2. An invalid rule: print; .red { color: red; }
>
> Both are dropped.
My interpretation is that the sheet consists of:
1. An invalid and ignorable at-rule: @import "include.css" { color: red
}
2. Ill-formed, invalid, ignorable inter-rule junk: print;
3. A valid rule set: .red { color: red; }
I don't have a strong preference for my interpretation over Ian's.
Beyond Christian's illuminating example lie questions of how to handle
many kinds of syntactic errors in at-rules.
--
Etan Wexler.
Received on Sunday, 10 October 2004 09:58:36 UTC