### 13.10.1 Understanding how Mif2Go converts conditions

If a full element (either paragraph or character, block or inline) is conditional, Mif2Go sets an attribute for it. If you are using CSS, Mif2Go modifies the existing class by concatenating the condition attribute to the original class name; for example:

class="body linux"

CSS can use such attribute lists.

If the condition does not apply to all of an element, Mif2Go encloses the conditional part in a pair of tags, with the same attributes. By default, Mif2Go uses <span> for HTML. However, you can specify another tag to use for this purpose:

[HTMLOptions]

; ConditionCharTag = tag to interpolate for conditions that affect

; only part of the enclosing element, default span for HTML.

ConditionCharTag = tagname

For example:

<span class="linux">...</span>

When conditions overlap each other, or overlap inline elements, Mif2Go creates a new tag pair for each change, to respect HTML no-overlap rules. For example:

<p>This paragraph contains <span class="linux">text for </span>

<i><span class="linux">Linux </span><span class="linux windows">

as well as</span><span class="windows"> text</span></i>

<span class="windows"> for Windows</span>, with overlapping conditions

and a character format overlapping both, resulting in five

&lt;span&gt; elements.</p>

In addition to text, Mif2Go applies conditions to <table> and <img> elements, and to <a href="..."> 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, Mif2Go does not push the attributes up to the enclosing element; they remain on the enclosed block elements.

| 13.10 Converting conditions to HTML attributes |  | 13.10.2 Mapping FrameMaker conditions to HTML attributes |