- From: Bjoern Hoehrmann <derhoermi@gmx.net>
- Date: Mon, 31 Jan 2005 18:34:45 +0100
- To: Karl Dubost <karl@w3.org>
- Cc: Ian Hickson <ian@hixie.ch>, www-qa@w3.org
* 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