Highlighted

User variables being renamed to fmv1, fmv2, fmv3, etc.

Participant ,
Jul 16, 2015

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:

  • Color lowercase
  • Colors lowercase
  • Color uppercase
  • Colors uppercase

I should have used:

  • Color_lowercase
  • Colors_lowercase
  • Color_uppercase
  • Colors_uppercase

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....

TOPICS
Structured

Views

286

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

User variables being renamed to fmv1, fmv2, fmv3, etc.

Participant ,
Jul 16, 2015

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:

  • Color lowercase
  • Colors lowercase
  • Color uppercase
  • Colors uppercase

I should have used:

  • Color_lowercase
  • Colors_lowercase
  • Color_uppercase
  • Colors_uppercase

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....

TOPICS
Structured

Views

287

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Jul 16, 2015 0
Participant ,
Jul 16, 2015

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>


Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 16, 2015 0
Advisor ,
Jul 16, 2015

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

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 16, 2015 0
Participant ,
Jul 23, 2015

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:

  • Color lowercase
  • Colors lowercase
  • Color uppercase
  • Colors uppercase

I should have used:

  • Color_lowercase
  • Colors_lowercase
  • Color_uppercase
  • Colors_uppercase

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....

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 23, 2015 0