From: DRMACRO@RALVM13.VNET.IBM.COM ("Dr. "Eliot Kimber" Macro")
Newsgroups: comp.text.sgml
Subject: GML or BookMaster to SGML
Date: 16 Aug 92 16:41:57 GMT


Rick Matzen writes:

> Does anyone know of an available translator for either GML to SGML
> or Bookmaster to SGML:  for (GML/Bookmaster design specs to DTD's) and/or
> GML/Bookmaster documents to SGML documents (instances)?

Part of the IBM SGML Translator product is a GML2SGML converter
designed to convert GML Starter Set documents to SGML Starter
Set documents.  This will also work against BookMaster documents
(it just changes colon/period to angle brackets, for the most part),
but you will still need a DTD that describes BookMaster, which
doesn't exist in any form officially supported by IBM (mostly because
BookMaster as it exists today represents some serious problems when
trying to represent it in SGML, and thus, the BookMaster language
itself needs to be re-defined to be done "right").

Your best bet is to contact your local IBM representative and have
them contact Publishing Marketing in Boulder.  They may be able to
help you.  Because we face it ourselves internally, we recognize
the need for migration aids and assistance for moving from GML Starter
Set and BookMaster to SGML languages.  Publishing Marketing has
available to it tools it can provide "as is" to customers to solve
specific problems like these.  Your IBM rep can find out what's
available at any given time.  In addition, you can have your rep
contact me as I may be able to provide additional assistance.
Unfortunately, I will be on vacation and travelling on business the next
three weeks, but I'll try to check my mail when I can.

If you have existing BookMaster documents that don't use the full
range of BookMaster tags and are pretty well coded (in other words,
you followed the precepts in the BookMaster User's Guide closely
and didn't do anything you shouldn't have), you can probably cobble
together a DTD based on the GDOC DTD that comes with the Translator
that represents your local documents.  The things you typically have
to add that are not in the SGML Starter Set are:

o Labeled boxes (labeled boxes can contain just about anything)
o Parameter lists and glossary lists
o CGRAPHICs and SCREENs
o PV, PK, MV, RK, CIT, HEX, BIN, CHAR phrases
o TDEF, which is RDEF in the Starter Set
o PROLOG and related front matter elements.  The PROLOG content
  model turns out to be a real bear.  Try not to use large & groups.
  I've found it more profitable to impose a required order on "code
  zero or once" elements rather than try to use & connectors.  The
  elements DOCPROF, TITLE, DATE, DOCNUM, PRTLOC fit this requirement.
  All other PROLOG elements are "code zero or more" and can be in
  a large OR group.
o Major document sections (BODY, FRONTM, BACKM, APPENDIX).  Again,
  impose an order even though BookMaster doesn't require one, otherwise
  you get huge AND groups that most DTD compilers will choke on.

If you are constrained to the reference concrete syntax declaration,
as you are with the current release of the SGML Translator, you will
hit the 96-tag limit for some content models if you try to support
all BookMaster tags.  You'll have to make choices.  Note too that
any DTD that supports what most BookMaster documents use will blow
the RCS capacities by a factor of 2 or 3 (GRPCAP upwards of 70K
instead of 35K).  If you can define your own declaration, I recommend
a name length of 8 and a TOTALCAP of 100 or 200K, with a large
GRPCAP.  Because of the large number of different GIs and the
ubiquitousness of those GIs across content models, GRPCAP seems to
be the capacity that gets hit the hardest.

Note that the BookMaster Release 3.0/4.0 language is probably a
worst-case when expressed in SGML.  It is too big and too general,
and probably represents the biggest single DTD anyone will ever
define.  A more rational approach to converting BookMaster to
SGML will involve simplifying the language and modularizing it
to enable to the creation of smaller DTDs from a common base.

Eliot Kimber                      Internet:  drmacro@ralvm13.vnet.ibm.com
Dept E14/B500                     IBMMAIL:   USIB2DK9@IBMMAIL
Network Programs Information Development     Phone: 1-919-543-7091
IBM Corporation
Research Triangle Park, NC 27709
Newsgroups: comp.text.sgml