Re: 4.0 to 4.01 Transition Issues

On 14.02.00 at 18:11, Christian Smith <csmith@barebones.com> wrote:

>Problem: The W3 Validator validates a 4.0 Transitional document against
>the 4.0 Transitional DTD but then provides a reference pointing to the
>4.01 DTD.

Ouch! Looks like Gerald got a bit carried away in the last update. All the
HTML 4 mappings now point to the current HTML 4.01 Reccomendation.


>This is not so much a W3 Validator problem as a W3 problem [...]

Well, it's a W3C HTML Validation Service problem in that we are linking to
the wrong version of the Reccomendation.


>apparently W3 has decided to [...] replace the [HTML 4.0 DTDs] with the
>new 4.01 DTDs. This is bad.

Agreed! This along with certain Redirect tricks makes the situation messy.


>There are now tools out there that generate HTML 4.0 Transitional
>documents with a DOCTYPE of
>
><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
>            "http://www.w3.org/TR/REC-html40/loose.dtd">
>            
>But now we have a 4.0 Transitional document with a DOCTYPE that points to
>a DTD that is for 4.01 Transitional.

Well, the FPI is correct. It's the System Identifier that has suddenly
become invalid. OTOH, if you rely on the SI you should be refering to
specific version of the DTD anyway. FWIW, the Validator will use the
correct DTD when validating the document (it has a local copy of the DTD
and chooses it based on the FPI) even if it does point to the wrong version
of the Recommendation.


>Who can address/fix this problem?

Well, the problems with the Validator is Geralds gig, but I'll whip up a
patch for it when I can find the time. The W3 problems are probably Dave
Ragget <dsr@w3.org> or Steven Pemberton's <Steven.Pemberton@cwi.nl>
headache.


>The 4.0 DTDs need to be maintained at the old links.
>The 4.01 DTDs need to be maintained at the new links.
>
>What am I missing?

Well, it's mainly the W3C's fault IMO, for making a confusing mess out of
the situation, but you are missing the fact that the FPI ("-//W3C//DTD HTML
4.0//EN") identifies the document type while the System Identifier
("http://www.w3.org/TR/REC-html40/loose.dtd") provides a system specific
way to get at the DTD in question. Now, the W3C is treating HTML 4.01 not
as a new version of HTML 4, but as a new version of the HTML 4.0
Reccomendation document. While arguably correct (as far as that goes), it
is not an optimal solution and one which is guaranteed to create confusion.

Until the W3C changes it's tune, I suggest refering to a specific version
of the DTD in the System Identifier. e.g. for HTML 4.0 you make the System
Identifier "http://www.w3.org/TR/REC-html40-19980424/strict.dtd".

Of course, we need to fix the validator too; it's specifically refering to
the 1999-12-24 version of the HTML 4.01 Recommendation when presented with
a HTML 4.0 FPI.



BTW, does this mean BBSW will finally replace their internal syntax checker
with a full SGML Parser/Validator in the next version of BBEdit? :-)

Received on Monday, 14 February 2000 19:46:00 UTC