[CSS21] @charset encoding delimiter

Per chapter 4 [1],

@charset must be written literally, i.e., the 10 characters '@charset "' (lowercase, no backslash escapes), followed by the encoding name, followed by '";'.

The grammar, however, allows for @charset<space><singlequote>, as pointed out on this mailing list last year [2].

Issue 3 [3] accepted the change. Issue 4 [4] implies the rule may be stricter than the grammar.

The change appendix [5] says : "Added requirement that @charset rule must be a literal '@charset"...";', not a CSS-syntax equivalent."

Given this and the very specific byte matching table in section 4.4, can we assume the double quote is the only legal charset encoding delimiter ?

S.

[1] http://www.w3.org/TR/2007/CR-CSS21-20070719/syndata.html#x57
[2] http://lists.w3.org/Archives/Public/www-style/2007Jul/0097.html
[3] http://wiki.csswg.org/spec/css2.1#issue-3
[4] http://wiki.csswg.org/spec/css2.1#issue-4
[5] http://www.w3.org/TR/CSS21/changes.html#q26

Received on Thursday, 30 October 2008 17:43:32 UTC