Re: DTDs and CSS Validator

* Philippe Le Hegaret wrote:
>I noticed that some user agents, at least Mozilla, have different
>behaviors depending of the system identifier used with the official
>public identifier. Looking at the traces of the validator yesterday, a
>_lot_ of errors are due to a mismatch between the system identifier and
>the public identifier. In other words, lots of people are not using the
>one recommanded in the XHTML spec. So I'm starting to wonder if I should
>not change the behavior of the CSS Validator and not bother anymore
>about the system identifier. In fact, as long as the public identifier
>matchs, I can simply ignore the system identifier. Any comments?

Most people actually use the system identifier in the XHTML 1.0
recommendation, but unfortunately the spec used relative system
identifiers, e.g.

  "DTD/xhtml1-strict.dtd"

Since most people do not install a copy of the XHTML 1.0 DTDs on
their server, this is plain wrong and applications depending on
the external subset referenced here (consider xml:space defaults and
named character reference definitions in the external subset) will
fail to process the document correctly.

I think the validator should have a map like

  "-//W3C//DTD XHTML 1.0 Strict//EN" 
    =>
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

check, whether the document actually uses this combination, and if it
does not, check whether there is a DTD behind the system identifier,
and if it fails, report an error to the user, explaining that he must
ensure the system identifier points at an existent DTD (and give him a
hint what to change). The CSS Validator may process the document anyway
in this case, but I believe a warning about broken system identifiers
is helpful.

Received on Friday, 12 July 2002 13:06:00 UTC