14.12 Converting conditions to DITA attributes
Mif2Go can convert FrameMaker text conditions to attributes in DITA output elements. To use this feature, set FrameMaker Show/Hide to show all the conditions for which you want content present; for migration, that would be Show All. The conditions shown are identified in DITA output. Content that remains hidden in FrameMaker is not included. Multiple conditions result in multiple conditional attribute values.
To map a FrameMaker condition to an element attribute:
; Condition name = attributes for elements
CondName= attrname="attrvalue"
For DITA, the attribute name is usually one of props, platform, product, audience, or otherprops. For example:
If a full element (either paragraph or character, block or inline) is conditional, Mif2Go sets the designated attributes for it. If the condition does not apply to the entire element, Mif2Go encloses the conditional part in a pair of tags, with the same attributes. By default, Mif2Go uses <ph>. However, you can specify another tag to use for this purpose:
; ConditionCharTag = tag to interpolate for conditions that affect
; only part of the enclosing element, default ph for DITA.
When conditions overlap each other, or overlap inline elements, Mif2Go creates a new tag pair for each change, to respect XML no-overlap rules. For example:
<p>This paragraph contains <ph product="A">text for </ph>
<i><ph product="A">ProductA </ph><ph product="A B">as well as</ph>
<ph product="B"> text</ph></i><ph product="B"> for ProductB</ph>,
with overlapping conditions and a character format overlapping both,
resulting in five <ph> elements.</p>
In addition to text, Mif2Go applies conditions to <table>, <image>, <xref>, and <indexentry> elements, based on the conditions in effect in FrameMaker at the point of the table or figure anchor, cross reference, or marker.
Mif2Go supports conditional table rows; row condition attributes are not applied to the paragraphs within cells. Likewise, the attributes of block tags are not applied to inline tags enclosed within the block.
Where multiple blocks make up a larger element, such as when a DITA <title> element plus some <p> elements make up a <section>, Mif2Go does not push the attributes up to the <section> element; they remain on the enclosed block elements.
§12.10 Converting conditions to HTML attributes
> 14 Producing DITA XML > 14.12 Converting conditions to DITA attributes
