atom feed5 messages in org.oasis-open.lists.docbookRe: DOCBOOK: Modularity and (g)vim's ...
FromSent OnAttachments
Massimiliano MirraAug 28, 2001 2:21 pm 
Nik ClaytonAug 28, 2001 5:22 pm 
Jonathan MarksAug 28, 2001 10:11 pm 
Nik ClaytonAug 29, 2001 5:23 am 
benSep 6, 2001 11:13 am 
Subject:Re: DOCBOOK: Modularity and (g)vim's sgml or xml syntax highlighing.
From:Jonathan Marks (jm@cmex.org)
Date:Aug 28, 2001 10:11:35 pm
List:org.oasis-open.lists.docbook

Hi Nik, All

This is interesting, Thanks. Is there a way one could achieve this functionality in gvim?

Nik Clayton wrote:

On Tue, Aug 28, 2001 at 08:04:25PM +0200, Massimiliano Mirra wrote:

I am adopting the common layout which uses system entities to split the work in more manageable files, like:

<!doctype book public "-//OASIS//DTD DocBook V3.1//EN" [ <!entity chapter1 system "chap1.sgml"> <!entity chapter2 system "chap2.sgml"> ]>

<book> &chapter1 &chapter2 </book>

This means that I cannot begin chap1.sgml and chap2.sgml with:

<!doctype chapter public "-//OASIS//DTD DocBook V3.1//EN" []>

Because, of course, the file will be included and it cannot present such a line in the middle of the document.

However, this also means that I cannot edit chap1.sgml and chap2.sgml taking advantage of Emacs psgml mode, because it won't find any identifier/catalog.

Is there any way to overcome this?

Put something like this at the bottom of chap*.sgml.

<!-- Local Variables: mode: sgml sgml-declaration: "chapter.decl" sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t sgml-parent-document: ("book.sgml" "part" "chapter") End: -->

Where "../chapter.decl" contains this line.

<!doctype chapter public "-//OASIS//DTD DocBook V3.1//EN">

If your chapters are direct children of the <book> element, without any intervening <part> elements, change the last line to

sgml-parent-document: ("book.sgml" "book" "chapter")

replace "book.sgml" with whatever the name of your master document is.

The FreeBSD project uses this technique extensively. Take a look at

http://www.freebsd.org/cgi/cvsweb.cgi/doc/en_US.ISO8859-1/books/handbook/

for more examples.

N