This is the mail archive of the
docbook@lists.oasis-open.org
mailing list for the DocBook project.
Re: dbhier.mod vs. dbpool.mod
- From: Bob Stayton <bobs at sco dot com>
- To: Jens Emmerich <Jens dot Emmerich at encorus dot com>
- Cc: docbook at lists dot oasis-open dot org
- Date: Fri, 21 Feb 2003 09:25:01 -0800
- Subject: Re: DOCBOOK: dbhier.mod vs. dbpool.mod
- References: <m3d6llskk0.fsf@jensem.encorus-le.de>
On Fri, Feb 21, 2003 at 04:46:55PM +0100, Jens Emmerich wrote:
> Hello,
>
> is there some documentation/presentation/old discussion (beyond TDG)
> explaining the modularization of the DocBook DTD? For instance, I
> wondered why %refcomponent.mix; is defined in dbhier while
> %component.mix; is in dbpool. Both have the same definition except for
> the %local.*; part and are shared accross several content models.
I made a presentation on this subject at a conference,
and the slides are available at:
http://www.sagehill.net/xml/customdtd/toc.html
The slides are only a summary of the talk, of course,
but slides 10-12 describe the order in which the
modules are assembled. The key rules about PEs are:
- Parameter entities must be declared before they can be used.
- The first declaration of an entity wins. Subsequent
declarations of the same name are ignored.
So the location of a PE declaration is governed by
where it is used as well as what it contains.
Its location is also influenced by the opportunities for
intervention, that is, at what stage an rdb* file
is inserted that can influence it.
In this case, %component.mix; is used in elements
declared in dbpool.mod so it must be available there.
But %refcomponent.mix; is used only in elements
declared in dbhierx.mod, which is loaded later, so
it doesn't need to be declared until dbhierx.mod.
If you want to see where a PE is used in the DTD
(very important for trying to customize it), you
might want to check out the LiveDTD version:
http://www.sagehill.net/livedtd/index.html
Under the Demonstration heading there is a link to
the DocBook XML 4.2 DTD. If you select "% Entities"
in the upper left corner, you get a listing of
all the PEs. If you click on the "+" symbol to
the left a name, you get a list of where that name
is used in the DTD.
--
Bob Stayton 400 Encinal Street
Publications Architect Santa Cruz, CA 95060
Technical Publications voice: (831) 427-7796
The SCO Group fax: (831) 429-1887
email: bobs at sco dot com