Omni Systems, Inc. |  | Mif2Go User's Guide, Version 55 |  |  |  |  |

> 15 Converting to DITA XML > 15.11 Exporting FrameMaker variables to DITA XML > 15.11.3 Treating FrameMaker variables as conrefs

### 15.11.3 Treating FrameMaker variables as conrefs

You can make the content of FrameMaker user variables (and some FrameMaker system variables) available as DITA conrefs; see §15.11.2 Specifying how to treat FrameMaker variables.

To specify that FrameMaker variables should be treated as DITA conrefs:

[DITAOptions]

VariableType = Conref

When VariableType=Conref, the following settings are effective:

[DITAOptions]

; VariableFile = file for referencing variables

VariableFile = ditavars.dita

; VariableTopicID = topic ID for the single topic in the VariableFile

VariableTopicID = varset

; VariableElement = wrapper element for variables,

; valid in a dd element.

VariableElement = ph

; WriteVariableFile = No (default) or Yes (write a file containing all

; variables defined in the Frame file after processing that file).

WriteVariableFile = Yes

The VariableFile library file for referencing variables contains a single topic, with a single definition list in the <body>:

<dlentry>

<dt>varname</dt>

<dd><ph id="varname">variable content</ph></dd>

</dlentry>

Each definition term is the name of a variable with spaces and punctuation removed. The corresponding description has an ID identical to the name, and content identical to the FrameMaker variable definition, except in plain text only.

Re-importing to FrameMaker, you would see (for example):

<ph conref="varfile.dita#varsetid/varname"></ph>

If the file name and topic ID match your setting, you can be sure that varname is a FrameMaker variable, and you can retrieve its definition.

When WriteVariableFile=Yes, Mif2Go generates a VariableFile library file for each FrameMaker file.

Retaining variables for an entire book

If you are producing DITA output from a FrameMaker book, the VariableFile library file will be overwritten for each FrameMaker chapter file until the last. Your variables-turned-conrefs will appear correctly in DITA output after conversion, but only the variables in the last FrameMaker file processed will remain in the VariableFile library file. This is because a FrameMaker variable does not have a single book-wide definition; the same variable can be defined differently in every FrameMaker file, or might not be defined at all in some files.

To preserve all the variables in a book, you can do one of the following, depending on whether variables are always defined the same wherever they occur in your FrameMaker book:

Defined the same wherever

Defined differently in some chapters.

Defined the same wherever

To produce one variables library file for the entire book, create a dummy FrameMaker file that defines all the variables, and put it last in the book. Then the last variables file written will be complete, and all the other files will reference it.

Defined differently in some chapters

To produce a variables library file for a single FrameMaker chapter file, specify a different value of [DITAOptions]VariableFile in a separate configuration file named for each FrameMaker file. See §30.4 Including chapter-specific configuration files. If only a few chapters have variant definitions, you can provide chapter-specific configuration files only for those chapters, and include at the end of the book a dummy FrameMaker file with all the standard definitions.

Note: You might have an issue with the DITA version of that last dummy file appearing as a chapter in the bookmap.

> 15 Converting to DITA XML > 15.11 Exporting FrameMaker variables to DITA XML > 15.11.3 Treating FrameMaker variables as conrefs

| Mif2Go User's Guide: 15.11.2 Specifying how to treat FrameMaker variables |  | Mif2Go User's Guide: 15.11.4 Retaining format properties of user variables in DITA |