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

> >
> >   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.
>

Doesn't that mean that a CSS UA won't be able to correctly present XML that 
depends on #FIXED and/or default values? Stylesheets could result in 
radically different renderings depending on if the XML uses #FIXED and/or 
default values or not. If so, doesn't that either limit the applicability of 
CSS, or seriously affect XML-authoring? 

Is the fact that there might be some CSS UA that do not read the DTD, really a 
good justification to forbid everyone else to do it? There are CSS-properties 
that not all UAs understand or interpret correctly, but that is surely not a 
good reason to forbid all other UAs to implement them. If one would like to 
achieve complete interoperability, doesn't one have to forbid everything 
except the lowest common denominator among every existing CSS UA?

Maybe there is and will be many UAs that do not validate against the DTD but 
that is not needed anyway, reading the DTD and applying the default values is 
enough. In my opinion, reading a DTD is a small task compared to implementing 
the full CSS2.1 specification, and those using an ordinary main stream 
XML-processor have it for free. I think the amount of UAs that would be 
affected by a requirement to also read the DTD is small, and it would be a 
pity if they are allowed to cripple CSS as a tool.

// Roger

Received on Monday, 13 October 2003 13:01:06 UTC