This is the mail archive of the
docbook@lists.oasis-open.org
mailing list for the DocBook project.
Re: Modularity and (g)vim's sgml or xml syntax highlighing.
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
>
----------------------------------------------------------------
To subscribe or unsubscribe from this elist use the subscription
manager: <http://lists.oasis-open.org/ob/adm.pl>