Re: Whence the HTML DTD [was] Re: More syntax details in HTML 2.0?

David Morris (
Fri, 16 Jun 95 13:55:48 EDT

On Fri, 16 Jun 1995 wrote:

> We use the SGML Open format for a mapping between an SGML
> public identifier and a corresponding system identifier.
> (it's a file called `catalog')
> [2] when Panorama receives an SGML document, it first checks to see if the
> PUBLIC identifier is in the local CATALOG. If so, it uses the local DTD.
> If not, it looks for a remote `catalog' file in the same directory as the
> SGML file. If it finds one, the DTD and associated external entities can
> be downloaded automatically, entirely without human intervention.
> Why does this not `cut the mustard'? It certainly solves the problem,
> and it uses published, vendor-neitral standards to do so.

The problem occurs in that this approach (as described) requires either
a pre-existing local copy or a catalog file in the directory where the
SGML file was found. This has several problems for HTML:

1. Where does the authoritative HTML DTD reside
2. How does the local catalog get udpated with the authoritative
DTD copy (I can't accept use of a DTD found with the document
for any document outside of those in the same directory)
3. For HTML (and similar future standards in terms of breadth of
deployment) it is not practical to require every publisher of
an HTML document maintain a correct local copy of the DTD
in every directory from which HTML documents are served.
Hence, the search order described is incomplete.
4. An obvious addition to the search order is a server provided
by the user agent publisher.

But for the HTML 2.0 standard, I don't think we need to resolve all
the issues of DTD management (perhaps a good sub topic for consideration
with style sheets since I would think an unknown DTD without
style/processing information would not be too useful). What I believe
we need to have defined and specify in the standard is a way for
a user agent to retrieve a DTD which exactly matchs a particular
public identifier ... or be told the DTD doesn't exist. The
repository referenced must be acceptable to the IESG for 'normative'
(did I get the right word) reference by a standards track RFC.

It doesn't matter if no user agent every makes an automatic reference,
it will then be available to every Dick and Jane (spot too) developer
for reference.

Dave Morris