DITA-FMx User Guide


Describes the DITA map and topic authoring commands as well as the enhanced DITA publishing features.

DITA-FMx is a plugin and set of structure applications that let you create and edit DITA XML files in FrameMaker. DITA-FMx 1.1 supports DITA 1.1 and is available for FrameMaker versions 7.2, 8, 9, and 10. DITA-FMx is provided by a collaboration of efforts from Leximation and Silicon Publishing.

For a complete list of changes between versions of DITA-FMx, see Revision History. The following describes the general features provided by DITA-FMx.

DITA Map and Bookmap Support

A Map structure application is provided that allows for creation and editing of both DITA map and bookmap files. When saved to disk, the resulting DITA map file is completely DITA-compliant, although within the FrameMaker authoring environment some additional elements are added to provide a more efficient authoring experience. This Map application also provides complete support for relationship tables.

The Build Map from Outline command creates a DITA map and optionally DITA topic stub files from a simple FrameMaker file.

The Build WorkBook from Map command creates a FrameMaker book file that contains all of the files referenced in the current DITA map and all submaps. This “work book” is not intended to be used for publishing, but facilitates the use of FrameMaker’s built-in book processing commands such as spell checking and searching at the book level. In order to use these book processing commands on the work book you must first open all of the files in the book. This can be done with the Open All XML Files in Book command which provides the option to resolve references in each file, or open the files without resolving references.

Ditaval Support

Conditional filtering based on ditaval files can be applied to FrameMaker-based content (in books or files) using the Apply Ditaval as Conditions command. Ditaval files can also be specified for output generated through the Open Toolkit (using the Generate Output command). The Ditaval Manager provides an easy to use interface for creating and managing ditaval files. A ditaval file can also be specified when generating a FrameMaker book using the Generate Book from Map command.

Conref Support

Content references can be placed to reuse elements from the same file or other files on the same file system. If enabled (through the Options command) on the opening of a file, the content of any conrefed elements is resolved and displayed as a locked text range (similar to a text inset). The Flatten Conref command is available to “unlock” conrefs when saved as FM binary files.

Xref and Link Support

On the opening of a file, all xref and link elements are resolved and displayed as a locked text range. The auto-loading functionality may be enabled/disabled with the Options command.

When an xref or link element is inserted (from the element catalog), the Reference Manager dialog displays allowing you to select the target element for that element. Unless you enter text in the Alternate Xref Text field, the xref or link text will match that of the target element. The External Xref button lets you create an xref or link to an external file.

The Xref to Hyperlink command converts DITA-based xrefs and links into live hyperlinks in generated FM files.

DITA-FMx handles both DITA-based and FM-based cross-refs as both xref and link elements, for more information see Setting Up to Use Cross-References .

Attribute Management

The Set Attributes command provides quick and easy access to setting attributes on elements. This command makes use of the FrameMaker “Strings” attribute type and allows you to select one or more default values that are applied to the attribute. This is particularly useful with the DITA filtering attributes. This command also makes use of attributes defined as the “String” type and allows you to predefine a list of available values that are displayed as a scrolling list.

Support for Automated Publishing via FMx-Auto

As of version 1.1.14, DITA-FMx supports the FMx-Auto “addon” from Leximation to unlock the extended API features in DITA-FMx. This API can be used for automated publishing as well as other types of scripted or automated processing.

FM Book-based Output Support

The Generate Book from Map command builds a FrameMaker book from a DITA map or bookmap. It creates aggregated FM files from the top-level topic references and their child topicrefs (appropriate FM files are created from “part” files as well as frontmatter and backmatter files). Also offers the ability to include FM binary files in the generated book so you can mix DITA and unstructured FM files as needed. This allows you to generate a PDF book of an entire map. You can also pass this book to RoboHelp or Webworks ePublisher as one option for creating online Help.

Numerous options are available to automate portions of the book build, including the following:

  • Add related-links from reltables as link or fm-link elements
  • Reload variables (if previously “prepared”)
  • Convert xrefs/links into Hyperlinks
  • Move indexterms in prolog to the topic title
  • Apply ditaval as conditions to perform ditaval-based filtering
  • Move fig/title elements to the end of a fig element
  • Enable table title elements so they are used for tables that span multiple pages
  • Flatten conrefs
  • Assign numbering to the book component files based on their map element type
  • In a bookmap, replace the “list” files with generated FM lists
  • Apply templates to the book component files based on their map element type
  • Run one or more custom FDK client, ExtendScript, or FrameScript automations
  • Update the generated book and files
DITA Open Toolkit Integration

The Generate Output command provides the ability to run a specific target in an Ant script to generate output through the DITA Open Toolkit. One option lets you use a provided Ant script to generate output based on the current file (a topic or map), or another option lets you select a target in an Ant script that you provide. Using the Current File option, you can specify a ditaval file for filtering. For more information see, Generate Output.

As of version 1.1.14, DITA-FMx includes support for the SuiteHelp DITA-OT plugin (from Suite Solutions at www.suite-sol.com). This plugin offers a nice option for an easily customizable and fully features webhelp output.

DITA2Go Integration

As of version 1.1.14, DITA-FMx includes integration with DITA2Go (from Omni Systems at www.dita2go.com) as an alternative to the DITA-OT for creation of various types of online Help. If DITA2Go is installed, the “DITA2Go Project Manager” menu item will be available on the DITA-FMx menu.

Locating Content in Files

The Search in Files command lets you search for content in files within a folder (and sub-folders) or in files referenced by a DITA map. The search criteria can be a mix of textual content, element or attribute names, or attribute value.

The Where Used command generates a report listing all files that reference the selected element or current topic.

File Management

The Reference Report command generates a report of all referenced files in a DITA map or topic file (as well as all references in all referenced files). This report can list unresolved and/or resolved references, as well as specific reference types (topicref, xref/link, conref, and image).

The Create Archive command generates a ZIP archive of the current file and all referenced files.

Support for FrameMaker Variables

The Prepare Variables and Rebuild Variables commands make it possible to use variables in DITA files and have those variables available in the generated FrameMaker book files.

The “book-build” process provides the ability to import metadata (attributes and content values) from the map into the generated FM files as variables. This lets you update variables in the headers and footers as well as variables in binary FM files (like those used for the title page and other frontmatter).

Support for Graphic Overlay Objects in Anchored Frames

Textual callouts and graphic objects within an anchored frame will now round-trip from FrameMaker to DITA and back. The data to define these objects is stored in the DITA data element.


An Options command provides the ability to specify the structure applications for DITA map and topic file authoring, the structure application used for the book processing, as well as control of various DITA-FMx options.

Context-Sensitive Help on DITA Elements

You can get context-sensitive help for DITA authoring by pressing Alt+F1. The DITA Reference displays the topic that relates to the element currently selected. If you have added elements through specialization, you can add information about your elements to the CHM file (the source is provided in the DITA Open Toolkit).


DITA-FMx should fully support specialization (or at least not hinder it). If you have a specialized data model, you will need to make the parallel changes to your DITA EDD and r/w rules. The only effect of specialized elements is with regard to element names, and the only place DITA-FMx operates solely on element names is with the processing of tables (and in this case, additional table elements can be defined in the ditafmx.ini file). In all other cases, DITA-FMx processes elements based on their class name, so it should properly handle specialized elements. Since the conref feature only operates at the attribute level, it shouldn’t care if an element has been specialized or not. The processing of xref and topicref elements is done based on the class value, so those should be fine.

Table Support

DITA-FMx fully supports all DITA table types including simpletable-based tables. Users who create specialized tables can ensure that they are properly rendered by including them in the Element Mapping dialog via the Options dialog. DITA-FMx also supports the round-tripping of rotated table cells.

Indexterm Support

On file open, DITA-FMx converts indexterm elements to a FrameMaker-compatible syntax within Index markers. DITA specifies that index subentries are defined by nested indexterm elements. This feature collapses nested indexterm elements into a single semicolon-delimited string within the top-level indexterm element which can be properly interpreted by FrameMaker and converted into an Index marker. This functionality keys off of the value of the class attribute, allowing it to work for specialized instances of the indexterm element. On file save, the Index markers are converted back to valid nested indexterm elements. DITA-FMx also supports the additional indexing elements introduced with DITA 1.1. If necessary, in order to support more complex element structures within indexterm elements, you can disable the conversion to markers.

Reference Support

All textual references (topic references, conrefs, xrefs, and links) are represented in FrameMaker as locked text ranges similar to text insets. These text ranges are not linked to text flows but are used as a means to lock a region of text and allow the user to click on the object. In order to maintain valid DITA files, DITA-FMx converts these text ranges to the appropriate XML structure on file save.

Localization Support

DITA-FMx provides a mechanism to apply language-specific templates based on the topic/@xml:lang attribute value. This attribute value can also be used to specify language-specific book-build options. For more information see the “UseLanguageTemplate” parameter in INI-Only Settings.

CMS Support

DITA-FMx seamlessly integrates with two content management systems: Bluestream XDocs and SDL Trisoft. DITA-FMx can also be used successfully with other systems. To learn more about this support and options visit www.leximation.com/dita-fmx/cms-support.php.