Re: [CSS21] DTD defaults are supposed to be ignored

On Wed, 8 Oct 2003, Paul Grosso wrote:
>
> In Section 5.8.2 "Default attribute values in DTDs" at
> http://www.w3.org/Style/Group/css2-src/diffs-rec/selector.html#q11
> this LC WD says:
>
>   Matching takes place on attribute values in the document tree.
>   Default attribute values may be defined in a DTD or elsewhere,
>   but cannot be selected by attribute selectors.
>
> [...] I object to saying that it is non-compliant to the CSS spec for
> any process--especially one such as an authoring tool or other special
> processor--to base selector action on DTD defaults.  Certainly, there
> are many XML processes that read the DTD when creating the document tree,
> and the current wording makes these tools non-complaint with CSS2.1.

When we discussed this, we (the CSS working group) considered that
interoperability between all implementations was more important than
supporting the use cases you describe in some of the implementations.

Interoperability is _the_ primary goal of CSS2.1. As we cannot require all
XML processors to be validating parsers, we cannot rely on information
within the DTD for selector matching, and in order to have
interoperability, we must therefore require that all UAs _ignore_ such
information. Otherwise stylesheets could result in radically different
(yet equally valid) renderings depending on whether the UA was validating
or non-validating.

The requirement that the processor be able to tell if the attribute was
defaulted or not is already made by DOM, and was therefore not considered
to be a new requirement. [1]

The allowance that processors not have to read DTDs was made by XML, and
is therefore also not new. [2]

Finally, XHTML already requires that content be written in such a way that
the resulting DOM be equivalent whether or not the document is read via a
validating or non-validating parser (namely, the #FIXED attribute on the
root element is required to be in the document despite being #FIXED), and
thus we felt there was precedent for this decision. [3]

All three of the above-referenced specifications are already in REC stage.

[1] http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-862529273
[2] http://www.w3.org/TR/REC-xml.html#proc-types
[3] http://www.w3.org/TR/xhtml1/#strict

-- 
Ian Hickson                                      )\._.,--....,'``.    fL
U+1047E                                         /,   _.. \   _\  ;`._ ,.
http://index.hixie.ch/                         `._.-(,_..'--(,_..'`-.;.'

Received on Thursday, 9 October 2003 13:03:34 UTC