42.2.6 Assigning a macro or variable to a configuration variable

When you assign a value to a configuration variable, and the value includes the name of a macro or a macro variable, whether or not that name should be enclosed in quotes depends on the context:

For example:

HTMConfig: [ParaStyleCodeAfter]=<$macafter>

HTML Macro: <$$[ParaStyleCodeAfter]="<$macafter>">

Angle brackets get processed in a macro

When you assign a value to a configuration variable in a macro, and the value contains any < or > characters (angle brackets), absent enclosing quotes DITA2Go processes each angle bracket as the start or end of a macro, instead of assigning the entire value as a string. That is, DITA2Go would try to figure out if maybe the string is something else first. When the value includes a > character that it is not in quotes, the macro ends prematurely. In this example:

<$$[ParaStyleCodeAfter]=<hr>>

DITA2Go would assign only <hr to the configuration variable, because the > after <hr would be taken as the end of the macro; and then DITA2Go would drop the real ending > into the current text.

Unquoted variables are evaluated in a macro

When you assign a macro variable to a configuration variable in a macro:

Previous Topic:  42.2.5 Adding a new configuration setting on the fly

Next Topic:  42.2.7 Understanding fixed-key vs. variable-key settings

Parent Topic:  42.2 Overriding settings with PI markers or macros

Sibling Topics:

42.2.1 Determining the extent of a configuration override

42.2.2 Overriding settings with configuration PI markers

42.2.3 Overriding settings with macros

42.2.4 Assigning values to configuration variables

42.2.5 Adding a new configuration setting on the fly

42.2.7 Understanding fixed-key vs. variable-key settings

42.2.8 Overriding fixed-key configuration settings

42.2.9 Overriding variable-key configuration settings

42.2.10 Assigning HTML table and graphic groups with overrides

Table of ContentsIndex