Re: CSS/XHTML Validators weirdness

From: Bjoern Hoehrmann (derhoermi@gmx.net)
Date: Sun, Jul 15 2001

  • Next message: Bjoern Hoehrmann: "Re: HTML ID case question"

    From: Bjoern Hoehrmann <derhoermi@gmx.net>
    To: salo <salo@Xtrmntr.org>
    Cc: www-validator-css@w3.org, www-validator@w3.org
    Date: Mon, 16 Jul 2001 01:07:14 +0200
    Message-ID: <gp74lto78i7la03cp12pifmtga92a46c9f@4ax.com>
    Subject: 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/