Provides DITA map and topic authoring commands as well as enhanced DITA features.

DITA-FMx is a plugin and set of structure applications that let you create and edit DITA XML files in FrameMaker. The version currently available supports DITA 1.0 and is available for FrameMaker 7.2 and 7.1 (the FrameMaker 7.1 version does not provide the book-processing component). A version that supports FrameMaker 8.0 is under development, soon to be followed by DITA 1.1 support. DITA-FMx is provided by a collaboration of efforts from Leximation and Silicon Publishing.

Documentation last updated: 26 December 2007

Supports plugin versions: import/export v.0.02; authoring support v.0.02

DITA-FMx is made up of three plugin components, one that provides import/export processing (ditafmx_72_app.dll or ditafmx_71_app.dll) one that provides general authoring support (ditafmx_72.dll or ditafmx_71.dll), and one that provides FrameMaker book generation (ditafmx_72_book.dll). (The book-processing component is not available for FrameMaker 7.1.)

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

DITA Map Support
A structure application is provided for DITA map development. This structure application provides support for topic references and relationship tables (topicref and reltable elements). Through the import/export client and read/write rules, the resulting DITA map file is completely DITA-compliant, although within FrameMaker some additional elements have been added to provide proper FrameMaker interaction. These elements have an “fm-” prefix.
On the opening of a DITA map file, all topicref elements are processed to include a new “fm-topicreflabel” element that contains a locked text range. This text range typically displays the title (navtitle attribute), but if the referenced file is not available, the label “FILE NOT FOUND” is added. If there is no navtitle attribute value, the filename (href attribute) of the referenced file is displayed. When you double click the inset, the referenced file opens for editing. These labels are formatted with a character style named “DITA-Topicref,” you can change the color and formatting of topicrefs by modifying the character style definition in the template file.
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).
Xref Support
On the opening of a file, all xref 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 element is inserted (from the element catalog), the Reference Manager dialog displays allowing you to select the target element for the xref. Unless you enter text in the Alternate Xref Text field, the xref text will match that of the target element. The External Xref button lets you create an xref to an external file.
The plugin handles both DITA-based and FM-based cross-refs, for more information see Setting up to use Cross-References.
Output Support
The Generate Book from Map command builds a FrameMaker book from a DITA map. It creates “chapter” FM files from the top-level topicrefs and their child topicrefs. This allows you to generate a PDF of the entire map. (Note that this feature is not available in the FrameMaker 7.1 version.)
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.
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 will display the topic that relates to the element type 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 the plugin 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, the plugin 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.
Import/Export Processing
Table Support. Pre-parses the imported file to count the number of columns in tables that have no column number attribute (required by FrameMaker to display a table). By default this supports reltable and simpletable elements, but can be extended to handle other table elements as specified by the user (in the ditafmx.ini). The column number data is used during the actual import of the file into FrameMaker to properly display those tables. This functionality may be enabled/disabled by the user with the Options command.
Indexterm Support. On import, the plugin converts indexterm elements to a FrameMaker-compatible format. 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 export, the Index markers are converted back to valid nested indexterm elements. This functionality may be enabled/disabled by the user with the Options command.
Special Reltable Support. On import, the plugin converts reltable/topicmeta elements to reltable/fm-reltablemeta elements (to allow for proper mapping to a FrameMaker TableTitle object). These convert back to valid DITA topicmeta elements on export.
Reference Support. All references (topicrefs, conrefs, and xrefs) 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, the plugin converts these text ranges to the appropriate XML structure on export.