Re: HTML Pro (composite DTD)

Earl Hood (
Mon, 07 Oct 1996 08:31:54 -0500

Message-Id: <>
Subject: Re: HTML Pro (composite DTD) 
In-reply-to: Your message of "07 Oct 1996 09:46:51 BST."
Date: Mon, 07 Oct 1996 08:31:54 -0500
From: Earl Hood <>

> > I added this to my HTML validation service [*], but I had to change
> > htmlpro.dtd slightly to get it to work.
> > 
> > With the htmlpro.dtd as shipped, nsgmls would complain:
> > 
> >     `DOCTYPE' declaration not allowed in DTD subset
> Yes, some parsers seem to accept it, others not. I've never found out
> why. I'll remove it in future, as I tripped over it on another system
> this morning...

nsgmls is doing the right thing.  When you refer to an external
subset it is the same as putting the contents of the external subset
at the end of the DOCTYPE declaration.  Hence, since "<!DOCTYPE ..."
has already been read, the "<!DOCTYPE ..." in the external subset
will generate an error.

Some SGML systems require the doctype because of how they are designed.
Depending on the system, you may be able to set up catalogs (ie
entity mappings) so your documents can be processed by multiple
SGML systems without modifying your data.