fm-link and fm-linkref

The fm-link element is used to create a FrameMaker-style cross-reference as a related-links item. On file save, this converts to a standard DITA link element and on file open, it converts back into an fm-link element. The way an fm-link is identified as such is the type attribute value which is given the format of “fm:<format name>”. Where <format name> is the cross-reference format name as defined in the FrameMaker template. When an fm-link element is inserted, the standard FrameMaker Cross-Ref dialog displays, select the target element and the cross-ref is inserted as a fm-linkref element (child of fm-link). You can optionally add a standard desc element as a sibling of the fm-linkref.

To use the fm-link feature requires the creation of fm-link and fm-linkref elements.

  1. Create an fm-link element definition (in the EDD):
    1. Make a copy of the default link element definition.
    2. Change the name to “fm-link”
    3. Change the general rule to “fm-linkref, desc?”
    4. Change the default value for the class attribute to “- topic/fm-link”
    5. Add an automatic insertion of a child “fm-linkref” element.
  2. Create an fm-linkref element definition (in the EDD):
    1. Make a copy of the default link element definition.
    2. Change the name to “fm-linkref”
    3. Change the element type from Container to CrossReference
    4. Delete the general rule
    5. Make all of the attributes into the type “String” that is “Optional” with a Special Attribute Control of “Hidden”. Remove all default values.
  3. Add fm-link to the appropriate general rules (everywhere that a link element is valid, the fm-link element should also be).

The fm-link and fm-linkref elements should be added to both the Topic and Book applications.