[Zope] Problem Using PSGML + Emacs for Editing DTML Documents

Alastair Burt burt@dfki.de
Fri, 24 Sep 1999 14:41:27 +0200 (MEST)


I guess this message would be more suited to a mailing list for Emacs PSGML
mode but I have yet to find such a beast and I gather there are some users
of PSGML mode on this mailing list.

Basically, I am trying to write a DTD for DTML to use with PSGML and I have
one major problem. I am using include exceptions to allow DTML tags to be
scattered anywhere within HTML code:

  <!ENTITY % dtml "DTML-VAR | DTML-IF | DTML-CALL |
		   DTML-WITH | DTML-IN |
		   DTML-UNLESS | DTML-RAISE | DTML-TRY|
		   DTML-COMMENT | DTML-TREE | DTML-SQL-VAR | DTML-SQL-TEST |
		   DTML-SENDMAIL | DTML-MIME">

  <!ELEMENT HTML O O (%html.content;) +(%dtml;) -- document root element -->
  <!ATTLIST HTML
    %i18n;                               -- lang, dir --
    %version;
    >

This seems to work fine if the DTML/HTML code is all in a single file but
does not work so well if the DTML document is split across several
files. This is typically the case when accessing DTML methods and documents
via ftp.  When I edit a file in this way, I set the variable
sgml-parent-document to '("~/lib/sgml/dummy.html" "html" "body" ())), where
~/lib/sgml/dummy.html contains the single line which is my DTML doctype
declaration:

  <!doctype html public "-//DFKI//DTD DTML//EN">

Unfortunately, using sgml-parent-document like this does not lead PSGML to
let me insert DTML tags into the DTML child document. I have, in fact, got
the setup to more or less work by adding the dtml includes as an exception
to the "body" element as well.  But this is an ugly kludge. It hard wires
"body" as the top element of a DTML document.  So the question I have for
PSGML gurus is: is there any voodoo I can insert in the value of
sgml-parent-document that will let my include exceptions for "html" be seen
in the child document?

--- Alastair