SGML: DTDs for DTDs (hints)

From Wed Jan 22 02:23:03 1997
Date: Tue, 21 Jan 1997 12:27:09 -0500
From: Michael Sperberg-McQueen <U35395@UICVM.UIC.EDU>
Subject: Re: preserving returns in DocBook document, editing with PSGML

On Mon, 20 Jan 1997 19:17:32 -0500 Eve L. Maler said:
>>I think this discussion no longer relates to Docbook.  However, I find
>>it interesting as there is no standard means of associated arbitrary
>>data with a DTD.  It would be nice that descriptive data for a DTD
>>can be utilized by different SGML software packages without changing
>>the data.  For example, if an editor allowed me to define a description
>>for an element (that I can popup at any time), I cannot utilize those
>>descriptions in another editor (that has a similiar feature) since it
>>will use a different format/convention for defining descriptions.
>I know of a DTD that's explicitly meant for documenting DTDs, but it's not
>publicly available.  However, the idea of associating various descriptive
>tidbits with markup models seems to be ripe, as it keeps coming up
>frequently these days.

As far as I can make out, there are several such DTDs.  Most are
either proprietary or not well publicized:  as far as I can tell,
almost every organization that does DTD development for clients has
a standard pattern for documenting the element types and their
attributes, though they may not always have a DTD since many customers
appear to want the documentation in, er, a word processor format.

There is, however, one DTD for DTD documentation that's reasonably well
documented and publicly available:  the TEI 'Tag Set Documentation'
(TSD) DTD, documented in chapter 27 of the TEI Guidelines.

There are also several DTDs for DTDs themselves:  Omnimark apparently
has one, perhaps internal to the product, for handling DTDs as
documents, Wayne Wohler did one for CApH a while back, I did one for a
DTD pre-processor called dpp, and, most publicly, Tim Bray did one as a
proposal for replacing 8879's DTD syntax with document-instance syntax
in XML.


Notes: in the form of links, added by RCC (January 24, 1997, revised June 22, 1997)

  1. TEI 'Tag Set Documentation' (TSD) DTD
  2. Wayne Wohler's CApH design, "To provide a DTD to express the structure and semantics of an SGML DTD to allow SGML processing on SGML DTD information"; see also the mirror copy.
  3. See also: Description of DTD Semantics, by Wayne Wohler
  4. Omnimark's DTD Tool
  5. MGML, by Tim Bray,
  6. dpp, by Michael Sperberg-McQueen; see also mirror copy of the dpp man page, or the tar-gzipped package
  7. DTDParse, by Norman Walsh, ("produces documentation from a DTD, but does not provide any additional framework for maintaining that doc), and the corresponding sample documentation for the DocBook 3.0 DTD
  8. See also the Architectural Forms section as well (use of AFs to document DTD semantics)
[Michael again:]

The biggest problem I know in this connection is that none of the
DTDs of the first group (for documenting markup schemes) connect with
any of the DTDs of the second group (for representing the logical
structure of markup declarations).

If anyone knows of other DTDs in either of these classes, please let
me know as I'm interested in keeping an approximately current list.

But as has already been pointed out, this is probably off topic; my

Michael Sperberg-McQueen