28.3.5 Treating FrameMaker user variables as macro variables
You can employ a FrameMaker variable as a Mif2Go macro variable in configuration settings, provided the name of the variable is compatible with Mif2Go macro variable naming rules; that is, the name starts with a letter and contains no spaces or punctuation except underscores. If necessary, you can modify the name of a FrameMaker variable to fit the rules, as follows:
1. Remove all punctuation from the FrameMaker variable name except underscores.
2. Replace spaces in the name with underscores.
3. If the first character is a digit, prefix the name with “x”.
For example, if a FrameMaker user variable in your document is named 2nd-Best Choice, you must specify it in configuration settings as x2ndBest_Choice for Mif2Go to recognize it as referring to that particular FrameMaker variable; and you would use the variable in Mif2Go macros as <$$x2ndBest_Choice>.
When Mif2Go encounters in your configuration file a macro variable name that occurs in none of the following places:
• as the first term in an assignment
• in [UserVars] (see §34.5.1 Assigning an initial value to a user variable)
Mif2Go looks in your document for a FrameMaker variable that fits that name, possibly modified according to rules 1 through 3 above. If Mif2Go finds such a variable, Mif2Go creates a macro variable of the same name (prefixed with $$) and with the same value, just as though you listed the variable and a starting value for it in [MacroVariables] or in [UserVars]. However, any formatting in the FrameMaker definition is lost.
For example, suppose you define a macro such as the following:
<p>Programmer’s Guide, Version <$$Vnum></p>
If your FrameMaker document contains a user variable named Vnum, and you do not explicitly create a macro variable named $$Vnum in the configuration file, Mif2Go uses the value of FrameMaker user variable Vnum for Mif2Go macro variable $$Vnum.
§28.3.6 Using some FrameMaker system variables as macro variables
§5.4 Applying FrameMaker conditions and variables
> 28 Working with macros > 28.3 Using macro variables > 28.3.5 Treating FrameMaker user variables as macro variables