Components of a structured FrameMaker solution
Setting up FrameMaker to support XML publishing is a significant effort. At a minimum, you will need the following components:
- Element definition document (EDD)
- Document type definition (DTD)
- Template file
- Read/write rules files
- Structured application definition (the listing of configuration files)
The basic FrameMaker/XML integration is shown in Figure 5.

Each of these components is discussed in more detail in the sections that follow.
Element definition document (EDD) and document type definition (DTD)
The EDD specifies the permitted (or required) structure of the FrameMaker files and provides formatting information for each element (Figure 6).

The document type definition (DTD) provides the equivalent structure definitions for XML:
<!ELEMENT Code (#PCDATA | Emphasis | Strong | Hypertext
| Link)* >
Both EDDs and DTDs contain element definitions, attribute definitions, and comments. The EDD also contains the following additional components:
- Formatting information—implemented with references to tags in a formatting template, or with information embedded in the EDD itself. Even if you embed information, you will need a formatting template for items such as master page layouts.
- Element type information—maps elements to FrameMaker objects. For example, index markers must be defined as marker object elements.
- Miscellaneous settings—provides some additional information, such as the name of the structured application.
FrameMaker allows you to save an EDD as a DTD and vice versa. You can create a complete EDD, export it as a DTD, and have the files you need. If, however, you create the DTD first, you will need to add FrameMaker-specific information (formatting and element types) after you create the EDD from the DTD.
Template file
When you import an XML document into FrameMaker, you specify that information should flow through a template file. The template file contains structure definitions and formatting information, so putting structured information through the file results in a fully formatted, structured FrameMaker file. The template file must be empty; you cannot put any content in the body pages of the document. The easiest way to create a template file is to import the EDD into the formatting template file and save the result with a new name.
Read/write rules files
The read/write rules file controls conversion settings for XML import and export. There is an entire read/write rules language that lets you make changes to the default processing of structured information. For example, you can use read/write rules to specify output formats for graphics during conversion (Figure 7).

Structured application
A structured application is a specific implementation of structured authoring (or, an “application of structure”). The term application is often used to mean a specific piece of software, but in structured FrameMaker, an application is a collection of configuration files with a name.
You define the structured application in a special configuration file, structapps.fm, which is found in the structure directory inside the FrameMaker installation directory (for example, C:\Program Files\Adobe\FrameMaker7.1\structure). Figure 8 shows an excerpt of a -structapps.fm with a sample application definition.

At a minimum, the structured application must specify the application name, location of the DTD file, the template file (which also contains the structure definitions from the EDD), and the read/write rules file.
FrameMaker ships with a few default structured applications, including an implementation of DocBook, an open standard for technical documentation. A few vendors offer commercial applications, such as the DocFrame implementation from Scriptorium Publishing. If such a solution is a good fit for your content, you may be able to reduce the amount of development time required by building on an existing implementation.
Next page:
Starting points
