Copy link to clipboard
Copied
Working with DITA 1.3 in FrameMaker 2015. Had added several user variables, but after relaunching FrameMaker and loading the XML files, found that the variables had been renamed to fmv1, fmv2, fmv3, etc.
Is this because I'm working with the DITA structure?
I realized that I had spaces in my variable names, which was causing FrameMaker to perform substitution of fmv#
For example, instead of:
I should have used:
The FrameMaker 2015 documentation doesn't explicitly state that spaces are not allowed in variable names, and the FrameMaker interface permits spaces when typing name in the Add/Edit Variable pod. All the system variables
...Copy link to clipboard
Copied
Looking at an example XML file, one can see where the user variables have been renamed to fmv1, fmv2, fmv3, etc. This occurred when opening the file into FrameMaker, which looks like a bug.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dita PUBLIC "-//OASIS//DTD DITA 1.3 Composite//EN" "technicalContent/dtd/ditabase.dtd" [
<!-- Begin Document Specific Declarations -->
<!ENTITY fmv1 "color">
<!ENTITY fmv2 "colors">
<!ENTITY fmv3 "Color">
<!ENTITY fmv4 "Colors">
<!-- End Document Specific Declarations -->
]>
<dita><topic id = "id157GA0K0FD6"><title>Variable Definitions</title>
<body><p>&fmv1;</p>
<p>&fmv2;</p>
<p>&fmv3;</p>
<p>&fmv4;</p></body></topic></dita>
Copy link to clipboard
Copied
Without doing a bit of work, I don't think you'll get variables to work well in DITA files using the default support in FM. Also, it's typically best to avoid document-defined entities (which is how FM deals with variables in XML) if you plan to use XSLT. This is working "as designed".
However, if you use DITA-FMx, it does support FM variables with DITA. Might want to take a look ..
http://leximation.com/dita-fmx/
Cheers,
Scott Prentice
Leximation, Inc.
www.leximation.com
Copy link to clipboard
Copied
I realized that I had spaces in my variable names, which was causing FrameMaker to perform substitution of fmv#
For example, instead of:
I should have used:
The FrameMaker 2015 documentation doesn't explicitly state that spaces are not allowed in variable names, and the FrameMaker interface permits spaces when typing name in the Add/Edit Variable pod. All the system variables have spaces in the name, so I didn't see issue with user variables having spaces. However, I notice that the documentation examples use underscores instead of spaces....