Omni Systems, Inc. Mif2Go User's Guide, Version 55
> 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
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.