OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: DOCBOOK-APPS: Re: Docbook Structuring Problems


[ Please do not post multipart/alternative MIME messages
  containing the full text of your email in both plain text and
  HTML to this list! ]

/ Bob Stayton <bobs@sco.com> was heard to say:
| If you include DOCTYPEs in your modular files, you need
| a program to assemble modules and strip them out.
| If you leave out the DOCTYPE declarations in your modular
| files, you have to temporarily insert it to validate the
| module.

Both nsgmls and jade will concatenate files. Why not use a file that
contains only the dtd and then concatenate it either on the command line
or in a makefile? For example, to process chapters, create the file
"chdtd.sgml"

<!DOCTYPE Book PUBLIC "-//Davenport//DTD DocBook V3.0//EN">
<book id=book>
<bookinfo>
  <title>Book Title</title>
  </bookinfo>

and another file, "chend.sgml"

</book>

All chapters would be validated with, e.g.

nsgmls -s chdtd.sgml mychapter.sgml chend.sgml

or processed with, e.g.

jade ... chdtd.sgml mychapter.sgml chend.sgml

You can include any entity declarations in chdtd.sgml. The purist will
complain that chdtd and chend are not valid sgml. If you like, you can
name them chdtd.lmgs and chend.lmgs or anything else, for that matter.
If you use makefiles to process your documents, it should be easy to
insert one pair of files when you make book and another when you make
chapter. You could even include code in your makefile that builds, e.g.,
chdtd from bkdtd, so any changes in a book's dtd trickles down for
processing lower-level elements.

The only application where this won't work, AFAIK, is psgml. For that,
include a comment at the top of each document:
<!--
;;; Local Variables:                                        ***
;;; sgml-parent-document: ("../main.sgml" "book" "chapter") ***
;;; sgml-indent-data: t                                     ***
;;; sgml-validate-command: "make valid"                     ***
;;; End:                                                    ***
-->

This will be ignored by nsgml and jade, but used by psgml for editing.

--
Kevin M. Dunn
kevinmd@hsc.edu
Department of Chemistry
Hampden-Sydney College
HSC, VA 23943
(804) 223-6181
(804) 223-6374 (Fax)


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC