28.3.7.3 Understanding why TextStore and CodeStore work differently
Mif2Go DCL “write” filters, such as dwhtm.dll, operate in two phases:
The results of converting MIF to DCL (see §1.5 How Mif2Go works) are stored in linked lists in memory. |
|
The linked lists in memory are traversed, additional information is collected, and output files are written. |
TextStore information is set during scan phase, and is available during write phase.
CodeStore information is set during write phase, and is available only after the point in the FrameMaker file where the CodeStore paragraph occurs.
During scan phase, information needed to produce the final output is incomplete. For example, links to other files (including links among split files) are not resolved until the end of the scan phase. TextStore processing is able to save the text content of a paragraph during scan phase, because the text content is known at that time. The TextStore property excludes items that are not known, such as links. This is the same mechanism used to generate Title content.
During write phase, Mif2Go makes numerous cross-list accesses to pick up bits of information needed to build the final output. Links are completed, macros are executed, tables are constructed, graphics names are determined, and coded text is generated. CodeStore processing saves the coded text from a paragraph assigned the CodeStore property; however, at that point previous paragraphs have already been written to final output, and cannot be altered.
> 28 Working with macros > 28.3 Using macro variables > 28.3.7 Creating macro variables from paragraph content > 28.3.7.3 Understanding why TextStore and CodeStore work differently