Re: QASG last call comments: Correction to example in 4.2

* Karl Dubost wrote:
>> In 4.2, there is an example that reads "CSS3 module: Syntax
>> [CSS3-SYNTAX] defines an extension mechanism which uses a not valid
>> start character for identifiers in CSS, so it is guaranteed never to
>> be used by any current or future level of CSS. CSS-conforming parsers
>> will skip rules that contain identifiers with such a character.
>> Therefore it is not authorized to redefine the properties defined in
>> the specification." -- this has been changed in CSS2.1. The properties
>> are not valid, but the working group guarentees to never start a
>> standard identifier with a hyphen, which has the same result.
>
>What do you mean? That in CSS 2.1 it's forbidden to have extensions, 
>new properties starting by an hyphen and then that the file will not be 
>valid ?
>Do you know if CSS 3 will be conformant to that?

While I do not really understand your question, what we've changed in
CSS 2.1 is the core syntax--which all present and future versions of
CSS share--such that identifiers may start with a hyphen. The old
core syntax did not allow such identifiers and the specification did
not require specific behavior if such syntax was used (in particular,
it did not require implementations to skip such parts). Note that it
depends on the conext of the identifier which part of the style sheet
is ignored, vendor extensions are processed in the same way as normal
unsupported features, e.g.

  cursor: -björn-cool-cursor, cool-css4-cursur, help;

If the ua supports neither -björn-cool-cursor nor cool-css4-cursur it
will use help, if it supports only cool-css4-cursur it will use that
and if it does not support any of the values it will ignore the de-
claration. The current "parsers will skip rules" could be read as for

  foo { -björn-cool-property: cool-value; color: green }

the entire "rule set" will be skipped, i.e., including the declaration
for color which is not the case.

The CSS Working Group gurantees that it will not use identifiers
starting with a hyphen or underscore in any future version of CSS, so
yes, CSS 3 will conform to that. Use of such extensions, as Ian
pointed out, will render a style sheet necessarily invalid (as defined
in http://www.w3.org/TR/CSS21/conform.html#valid-style-sheet or a
corresponding section). Does that answer your questions? You can find
further details in <http://www.w3.org/TR/CSS21/syndata.html#q4>.
-- 
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ 

Received on Monday, 31 January 2005 17:35:21 UTC