Omni Systems, Inc.

  

Mif2Go User's Guide, Version 55

  

Valid HTML 4.01!

 

Made with Mif2Go

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


28.3.7.3 Understanding why TextStore and CodeStore work differently

Mif2Go DCL “write” filters, such as dwhtm.dll, operate in two phases:

[spacer]

Scan phase:

The results of converting MIF to DCL (see §1.5 How Mif2Go works) are stored in linked lists in memory.

Write phase:

The linked lists in memory are traversed, additional information is collected, and output files are written.

TextStore

TextStore information is set during scan phase, and is available during write phase.

CodeStore

CodeStore information is set during write phase, and is available only after the point in the FrameMaker file where the CodeStore paragraph occurs.

Scan phase

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.

Write phase

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