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, and 9. 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.
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. 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 clients or FrameScripts
  • Update the generated book and 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
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 pre-parses the DITA file on file open 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 (via the Element Mapping button in the Options dialog). The column number data is used during file open to properly display those tables.
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.
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.