- From: Bert Bos <bert@w3.org>
- Date: Wed, 24 Dec 2003 21:17:09 +0100
- To: www-style@w3.org
-------- Original Message -------- Subject: [Moderator Action] CSS 2.1, section 5.8.2 Date: Tue, 23 Dec 2003 17:29:34 -0500 (EST) From: C. M. Sperberg-McQueen <cmsmcq@acm.org> To: www-style@w3.org CC: W3C XML Coordination Group <w3c-xml-cg@w3.org> Dear colleagues: The XML Coordination Group congratulates you on the progress of the CSS 2.1 specification. We write you with some concern, however, about one detail of the specification, which may raise an important inter-Activity coordination issue. It has been called to our attention that in section 5.8.2 "Default attribute values in DTDs" [1], the CSS 2.1 specification is subject to two different and contradictory readings. [1] http://www.w3.org/Style/Group/css2-src/diffs-rec/selector.html#q11 The words Default attribute values may be defined in a DTD or elsewhere, but cannot always be selected by attribute selectors. Style sheets should be designed so that they work even if the default values are not included in the document tree. may be taken as meaning either (1) Because not all XML parsers read an external DTD, it will occasionally be the case that a CSS process does not, in practice, have access to defaulted attribute values; it is thus wise to take special steps to ensure that the stylesheet works as desired even if default attribute values are not accessible to the process. or (2) Because not all XML parsers read an external DTD, there will be cases when CSS processes do not have access to defaulted attribute values. For this reason, and in order to ensure that all CSS processors produce identical results even if some use validating XML parsers and others use processors which ignore the external DTD even for non-standalone documents, a CSS process is forbidden to process attributes if the attribute value was supplied by default from a DTD, schema, or other external information. We hope that interpretation (1) is the intended one, and suggest that the wording of section 5.8.2 be modified to make that interpretation more explicit, and to rule out interpretation (2). One possible change might be to modify the first sentence quoted above, while retaining the second unchanged: Default attribute values may be defined in a DTD or elsewhere, but will be available for selection by attribute selectors only if the XML parser in use processed the DTD or other source of information. Style sheets should be designed so that they work even if the default values are not included in the document tree. We believe it would be a mistake to allow interpretation (2) to take hold in the implementor or user communities. There are XML vocabularies which make extensive use of defaulted attributes, and there are implementations that can do useful things with them; it would be regrettable were the use of default attributes to be made, in effect, incompatible with CSS. Equally bad would be the consequence of making DTD- and schema-aware processors unusable as the upstream XML parsers for CSS processing. Most such processors do not distinguish in their output between attributes whose value was supplied explicitly in the input data stream and attributes whose value was supplied by default; interpretation (2) would make it non-conforming for any CSS processor to use such an XML parser. We think that would be a mistake both because it would needlessly restrict the choice of XML parser to be made by implementors of CSS, and because it would work against use of DTDs or schemas in material intended to be rendered using CSS. We hope that you will, on reflection, agree that interpretation (1) is preferable to interpretation (2), and revise the text accordingly. Please let us know whatever you do. Respectfully, C. M. Sperberg-McQueen on behalf of the XML Coordination Group -- Bert Bos ( W 3 C ) http://www.w3.org/ http://www.w3.org/people/bos W3C/ERCIM bert@w3.org 2004 Rt des Lucioles / BP 93 +33 4 93 65 76 92 06902 Sophia Antipolis Cedex, France
Received on Wednesday, 24 December 2003 15:17:29 UTC