- From: Jan Roland Eriksson <jrexon@newsguy.com>
- Date: Sat, 01 Sep 2001 18:43:51 +0200
- To: Ian Hickson <ianh@hixie.ch>
- Cc: Manos Batsis <m.batsis@bsnet.gr>, Bjoern Hoehrmann <derhoermi@gmx.net>, www-style@w3.org
On Wed, 29 Aug 2001 21:44:27 +0000 (GMT), you wrote: >On Mon, 20 Aug 2001, Jan Roland Eriksson wrote: [...] >> CSS3 stinks, am I the only one to think in those terms? >Do you have any explicltly constructive criticism? I have already commented in general, you can have at least one specific too. >For example, look at the CSS3 Selectors last call document; >do you have any specific complaints that haven't been raised? It's too late to comment on it "officially" now, so you may look at this as just a comment if you like; but I do find it distressing not to be able to unambiguously understand what you mean with the words "document tree". They are used all over the LCD instance but there is no explicit explanation, or link to such an explanation, for what "document tree" is supposed to mean. My take on it, for the rest of this post, is that "document tree" is used to describe the generated output from a parser after it has parsed a document instance (possibly including a declaration subset, since you in sect. 6.3.4. actually refers to a concept of a DTD) To me (and in this context), a stream of data that contains markup, is a linear representation of a document structure. The parsers job is to recreate the original data structure by generating output in the form of a parse tree. Such a parse tree can with a bit of good will also be called a "document tree". A CSS based rendering engine "decorates" this resulting parse tree (and _only_ that tree) by using selectors to select branches on the tree and go on to apply values to properties of those branches. So for some more specifics on 6.3.4. Strike it all together, it is redundant info at best. Reasons? 1) If you have a parser that does not make use of a declaration subset at all, you _must_ explicitly include, in your markup, all attribute/value pairs that you want to make available for CSS selection since the parser will never know that there was a "default" value available for some attribute in the first place. 2) If you have a parser that is "DTD aware" and makes use of a declaration subset, such a parser is seriously broken if it does not automatically include the suggested "default" value for some attribute in its output parse tree, if no other value was explicitly given in the original markup. So out of 6.3.4. it is _only_ the selectors... EXAMPLE[notation=decimal] and EXAMPLE[notation=octal] ...that are usable if you want to select some specific subset of 'EXAMPLE' elements. Saying that 'EXAMPLE' alone as a selector shall default to select as if it was 'EXAMPLE[notation=decimal]' is wrong. The 'EXAMPLE[notation=decimal]' branch will always be there in the parse tree one way or another, if direct author input or the declaration subset has any influence at all on the parsing process. And how would you go about to select _all_ 'EXAMPLE' elements, regardless of what attribute values they happen to carry along? >We (the working group) can work with specific comments. I suggest a move to strike 6.3.4. in full, how's that for a minimal simplification of a future CSS3? -- Rex
Received on Saturday, 1 September 2001 12:58:54 UTC