I am very new to FrameMaker and just have a general question.
I have a requirements to use Frame with a supplied USAF MILSTD. I am completely aware that this is a significant undertaking since these DTDs are deisgned for use in Arbortext. Going in I knew I was going to have to fix a lot of errors to produce the EDD file necessary. Two of the more significant issues I have seen are:
1) ENTITY declarations not being resolved. Some parse fine and others are useless. Is there any reason that the software has trouble with certain ones?
2) ELEMENT/ATTRIBUTE names are being truncated and ignored. I believe the software has issues with anything over 8 charraters. Is this the case?
My approach has been to open the DTD in Frame - look at the errors - and correct them line by line.
Thanks for any advice!
If you are working with SGML, then you need to supply an SGML declaration to process element, attribute, and entity names that are longer than 8 characters. It must specify a value of the NAMELEN quantity that is greater than 8. You specify the location of the SGML declaration in the SGML application definition, which is most likely in your structapps.fm file. (I usually create a new SGML declaration by making a copy of the one that comes with the DOCBOOK sample application and modifying it as necessary.)
Changing the NAMELEN quantity n
Whoops, my finger slipped and I seem to have sent the previous reply before I finished it. If NAMELEN doesn't solve all the problems with entities, another thing to check is search paths. If the entities that are not processed correctly are external, then you'll have to tell FM where to find the files. Again, you can specify appropriate search paths in the application definition.
In addition to Lynne's good advice, it's worth mentioning that there may be an SGML declaration file supplied with the MIL STD DTD. While that may work, there is a chance that some of FrameMaker's hard-wired SGML quantity limits may be exceeded. So you can't just increase the NAMELEN value to some arbitrary huge number.
The SGML declaration was used to keep the required resources for handling SGML applications within the limits of mid-80s computer systems. Now it just creates an unwanted bottleneck.
You will find more information in the FrameMaker Structure Developer's Guide and Reference manuals here: FrameMaker Developer Center