[CSS2.1] Comments on CSS2.1 Last Call draft, Chapter 4

-- Section 4.1.1
<http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#tokenization>

Is it intended that '_' be a valid "ident" production?  At the moment it is.  So is
'-_', for that matter.  Perhaps the "ident" production should be defined as:

ident    [-_]?{nmstart}{nmchar}

and the "nmstart" definition retained as it was in CSS2
([a-zA-Z]|{nonascii}|{escape}) ?  No strong feelings either way here, it's just
that the current proposal seems a bit odd.

-- Section 4.1.1
<http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#tokenization>

Definition of the "unicode" production does not match Appendix G.

-- Section 4.1.1
<http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#tokenization>

Is there a reason that CDO and CDC are allowed at all places in the stylesheet
between rules?  This seems to complicate parsing unnecessarily.  Is it desired
that CDO/CDC be allowed in linked stylesheets?  They would seem very out of
place there....  Perhaps I am misunderstanding what this is actually saying; if
so, perhaps an informative note is in order to clarify the situation?

-- Section 4.3.4
<http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#uri>

The text:

   Parentheses, commas, whitespace characters, single quotes (') and
   double quotes (") appearing in a URI must be escaped with a
   backslash: '\(', '\)', '\,'.

is misleading, since they in fact do not have to be escaped if the URI string
is in quotes.  Also, it is not immediately clear to me why commas are included
in the list.  Is there a reason.

-- Section 4.3.4
<http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#uri>

What happens if the URI string is not a syntactically valid URI?  For example:

  url(http:/www.example.com/)

or something along those lines?  Does this affect the parsing or style
computation phase, or is this handled only when the resource actually needs to
be loaded, thus falling under the "User agents may vary" clause at the end of
the section?

-- Section 4.3.7
<http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#strings>

The language

  Double quotes cannot occur inside double quotes, unless escaped (as '\"' or
  as '\22').

is somewhat misleading, since there are other ways that a quote could be
escaped (eg using \000022).  Perhaps an "e.g.," at the beginning of the
parenthetical remark is in order?  Same for single quotes.

-- Section 4.4
<http://www.w3.org/TR/2003/WD-CSS21-20030915/syndata.html#q23>

What about stylesheets that have a BOM but no @charset rule?  Should the
presence of a BOM imply that the sheet is encoded as, eg UTF-8 or UTF-16LE (if
the appropriate BOM is present), as it does for XML?

Another point is that it's trivial to have a stylesheet for which steps 1, 2, 3
will give no useful charset value.  In fact, the vast majority of stylesheets
currently on the web fall into this category.  Is the behavior UA-dependent in
that case?  If so, this should be explicitly stated, I think.  Personally, I
think it would be worthwhile to specify behavior in that eventuality.

Boris
-- 
    "What the hell are you getting so upset about?  I
thought you didn't believe in God."
    "I don't," she sobbed, bursting violently into
tears, "but the God I don't believe in is a good God, a
just God, a merciful God.  He's not the mean and stupid
God you make Him out to be."

                     --Joseph Heller, "Catch-22"

Received on Sunday, 28 September 2003 15:22:18 UTC