top | previous | next

Step 2: Make your own SGML declaration

Unlike XML, SGML is configurable. I.e. you can have different sorts of DTD grammars (and the default does NOT work with XML) . So when you configure your SGML application (see Create an SGML application), you tell the SGML parser to be as XML compatible as you can figure;) Here is what I did:

(1) Copy the DocBook or the StepbyStep declaration

e.g. cp /unige/frame_6.0/fminit/usenglish/sgml/docbook/app/sgmldcl StepbyStep-sgmldcl

Edit this file according to the next step. Or better , just use file "Stepbystep-sgmldcl" that comes with this tutorial (made by J. Hartog and not myself). Later you will have to reference this file from an SGML declaration, but for now move on.

(2) Make sure that OMITTAG and NAMECASE GENERAL are NO

This will allow you to read an XML DTD, else you will have to come up with a "standard" SGML DTD instead (sorry don't know what and if there is a default/standard way for defining DTDs in SGML, but I call it that way). Make sure that you have at least:

       MINIMIZE                  DATATAG  NO                  OMITTAG  NO                  RANK     NO                  SHORTTAG YES
       NAMECASE                   GENERAL NO                  ENTITY  NO

Your really must do this. E.g. if you don't make sure that "NAMECASE GENERAL NO", FrameMaker will Capitalize elements when it builds an EDD file from a DTD, and of course when later you export a DTD or an XML file you are stuck with Capitalized elements and your original XML DTD won't fit anymore.