14.8.2.3 Detecting colons used as text or punctuation
Suppose some FrameMaker index entries include colons as punctuation or as part of the text, instead of as level separators; that is, some colons are escaped thus \: in index markers. You could modify macro [ProcIXtext] as follows, to distinguish between colon-as-text and colon-as-separator:
You need a double backslash \\ on line 5, because that is how an escaped colon in a FrameMaker marker is represented internally by Mif2Go DCL.
Index-entry text that does not include a colon-as-text is output on line 8, and surrounding XML tags are output on line 3 and line 11.
A second macro [ProcIXLitColon] has to be invoked on line 6, because you cannot nest a <$_while> inside another <$_while> in the same macro; see §28.6.4.3 Using loop structures:
Index-entry content at the current level, up to the colon-as-text, and then the text colon itself, are output on line 2 of [ProcIXLitColon].
> 14 Converting to generic XML > 14.8 Converting index entries to generic XML > 14.8.2 Defining macros to process index content > 14.8.2.3 Detecting colons used as text or punctuation