W3C home > Mailing lists > Public > www-validator@w3.org > February 2006

Re: [VE][163] Error Message Feedback

From: Jukka K. Korpela <jkorpela@cs.tut.fi>
Date: Thu, 16 Feb 2006 12:01:31 +0200 (EET)
To: Ted Miller <tmiller@hcjbeng.org>
cc: www-validator@w3.org
Message-ID: <Pine.GSO.4.63.0602161151400.6839@korppi.cs.tut.fi>

On Wed, 15 Feb 2006, Ted Miller wrote:

> Validating Error [163]: "invalid formal public identifier X: invalid public 
> text class"
>
> This is an "Error without explanation".

It is an exact error message.

> One explanation is that this text 
> must be in all upper case in order to be valid.

Well, the formal public identifier must indeed be written in upper case 
(the SGML standard explicitly says this, in clause 10.2.2.1), so it would 
be nice if the validator could pinpoint this specific error. But...

> I received this error for 
> using this text:
>
> -//w3c//dtd html 4.0 transitional//en

In practical terms, the problem is that you (or some software that spits 
out DOCTYPE declarations as cargo cult service) have not stuck to the 
_exact_ spelling of a DOCTYPE declaration as required by the HTML 
specifications. But from a formal point of view, which is how a validator 
is supposed to play, this error appears as several independent errors.
Explaining all of them would be rather confusing to most people.

> The text is in lower case (not allowed)

The formal public identifier "DTD" must be in upper case, but
"HTML 4.0 Transitional" (if you wish to use that old version)
must be written that way, using mixed case, because that's the way
it has been named.

> and it was also missing the URL for 
> the controlling document.

That's a different issue. It violates the HTML specs, and may trigger 
Quicks mode in browsers, but that's external to validation.

-- 
Jukka "Yucca" Korpela, http://www.cs.tut.fi/~jkorpela/
Received on Thursday, 16 February 2006 10:29:47 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 25 April 2012 12:14:20 GMT