This is the mail archive of the
docbook@lists.oasis-open.org
mailing list for the DocBook project.
Re: Documenting the DTD
- To: Gregory Leblanc <gleblanc at cu-portland dot edu>, docbook at lists dot oasis-open dot org
- Subject: Re: DOCBOOK: Documenting the DTD
- From: "M. Wroth" <mark at astrid dot upland dot ca dot us>
- Date: Mon, 05 Feb 2001 20:54:15 -0800
I think the reference was to architectural processing that allowed a
separate DTD to be processed by an appropriate DSSSL processor (such as
JADE) as a DSSSL script, or as a separate document describing the code.
Norm actually set up the DTD to do this, and it is in the DocBook DSSSL
script distribution, as dbdsssl.dtd. It took me some fooling around to get
it to work (it doesn't seem to have been updated for DocBook 4.1), but I
did succeed.
The gist of this approach is to write the DSSSL script as a document
intended for a human reader, which can be incidentally read by the
computer. This contrasts with the usual approach, which treats it the
script -- or code in general -- as a document primarily intended for the
computer, which is incidentally read by humans. This approach is sometimes
called "literate programming", and there is a fair amount of literature on
the subject. There are also a variety of tools that can be used to
facilitate this basic approach that do not depend on DocBook or DSSSL.
I would guess that dbdsssl.dtd, as a DocBook application, is relevant to
this list. If you'd like to discuss the subject more generally, email me
privately.
Mark
At 10:09 AM 2/5/01 -0800, Gregory Leblanc wrote:
>I'm sorry that this is stretching off topic for the DocBook list, but I
>know that I've seen possible answers and suggestions here. I remember
>Norm saying something about making the DocBook DTD "self documenting".
>I'm assuming this is done by putting things into the DTD that can be
>extracted using some too, generating something akin to the reference
>section of DocBook: The Definitive Guide. Does anybody have some more
>details on this? Thanks,
>
> Greg