Re: CSS/XHTML Validators weirdness

* salo wrote:
>i was just checking my page with your validators but it seems to have
>insufficient PUBLIC type database. at validator.w3.org it is successfuly
>recognized and verified but at jigsaw.w3.org i got this error:
>
>  CSS Validator Error
>  Target: http://xtrmntr.org/salo/SILC/?page=cvs
>  org.xml.sax.SAXException: Please, fix your system identifier (URI) in the 
>  DOCTYPE rule.
>
>my DOCTYPE is:
>
>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
>  "DTD/xhtml1-strict.dtd">

If there is no http://xtrmntr.org/salo/SILC/DTD/xhtml1-strict.dtd the
CSS Validator is right here, if there is, the Validator will issue the
same message, too :-) I have to collect bug reports and pass them to
Phillipe...

>if i change it to:
>
>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
>  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
>
>then it is successfuly recognized and verified by css validator, but not with
>XHTML 1.0 ->
>
>  Fatal error! unrecognized {{DOCTYPE}}; unable to check document
>
>  I couldn't parse this document, because it uses a public identifier
>  that's not in my catalog!

Can't reproduce this.

>so one of your services is wrong..

From XML 1.0:

[...]
  [Definition: The SystemLiteral is called the entity's system
  identifier. It is a URI reference (as defined in [IETF RFC 2396],
  updated by [IETF RFC 2732]), meant to be dereferenced to obtain input
  for the XML processor to construct the entity's replacement text.] It
  is an error for a fragment identifier (beginning with a # character)
  to be part of a system identifier. [1]
[...]
  [Definition: In addition to a system identifier, an external
  identifier may include a public identifier.] An XML processor
  attempting to retrieve the entity's content may use the public
  identifier to try to generate an alternative URI reference. If the
  processor is unable to do so, it must use the URI reference specified
  in the system literal. Before a match is attempted, all strings of
  white space in the public identifier must be normalized to single
  space characters (#x20), and leading and trailing white space must be
  removed.
[...]

There is no statement, that an unresolveable SYSTEM identifier renders a
document not-well-formed or invalid. The W3C HTML Validator however
doesn't catch this, because he uses a catalog system to find local DTDs
rather then fetching them from the Net. The CSS Validator fetches them
from the Net (or did so, now he refuses to accept relative URIs) and
therefore catches this this. None of them is wrong in what he does.

[1] I reported this nonsense (defining it as URI reference and dissallow
    the use of a fragment identifier, the only difference between an URI
    and an URI reference) to xml-editor@w3.org but got no feedback till
    today...
-- 
Björn Höhrmann { mailto:bjoern@hoehrmann.de } http://www.bjoernsworld.de
am Badedeich 7 } Telefon: +49(0)4667/981028 { http://bjoern.hoehrmann.de
25899 Dagebüll { PGP Pub. KeyID: 0xA4357E78 } http://www.learn.to/quote/

Received on Sunday, 15 July 2001 19:07:58 UTC