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. DITA-FMx 1.0 supports DITA 1.0 and is available for FrameMaker 7.2 and 8.0. 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 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.
The Build Map from Outline command creates a DITA map and optionally DITA stub files from a simple FrameMaker file.
The Build WorkBook from Map command builds a FrameMaker book file that contains all of the files referenced in the current DITA map and all sub-maps. This “Work Book” is not intended for publishing, but makes it possible to use 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 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. The Ditaval Manager provides an easy to use interface for creating and managing ditaval files.
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 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.
Enhanced Attributes Command
The Set Attributes command provides quick and easy access to setting attributes on elements. In particular, 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.
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.
The Apply Ditaval as Conditions command can be run on the generated book in order to perform ditaval-based filtering on FM files.
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.
Locating Content in Files
A 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.
A Where Used command generates a report listing all files that reference the selected element or current topic.
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 geneated FrameMaker book files.
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.
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.
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, xrefs, and lnks) 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.