How the HCL ZIETrans macro processing engine uses these timing elements and attributes

For non-exit screens (the exitscreen attribute is set to “false”), a delay of pausetimevalue is executed once after a screen's actions have all been executed, but before the registration or recognition of the next screen begins. If the pause attribute is defined for the screen, then the value of pause is used instead of the value of pausetime for the post-actions delay.

For macro screens defined as exit screens (the exitscreen attribute set to “true”), the pausetime attribute (and any pause attribute defined for that exit screen) is essentially ignored and there is no additional delay automatically executed after all of the screen's actions are completed. This keeps the macro engine from adding extra delays once it has navigated to the final screen of the macro.

In addition, for all macro screens, the macro sleeps for pausetimevalue /2 after each <prompt> or <insert> that is not the last action on the screen.

For example, if pausetime="1000" and no pause attribute is defined for the screen, as shown in Example 1 for pausetimevalue, the macro will sleep for 500 ms after the first action (a prompt), 500 ms after 4th action and (if the current screen is not an exit screen) 1000 ms after all the actions are played, for a total of 2000 ms.
Figure 1. Example 1 for pausetimevalue
<actions>
       <prompt...
       <extract...
       <extract...
       <prompt...
       <insert...
</actions>

In a macro, <pause> elements are executed inline wherever they are placed, and are not overridden by the pausetime attribute or pause attribute settings, but might be overridden by the ignorepauseforenhancedtn attribute of the <HAScript> element if it is set to "true".

To expand upon the above example, if pausetime="1000" and no pause attribute is defined for the screen, shown in Example 2 for pausetimevalue, the macro will sleep for 500 ms after the first action (a prompt), 500 ms after 4th action (a prompt), 500 ms after 5th action (an insert), 150 ms after the 6th action (the <pause> element), and (if the current screen is not an exit screen) 1000 ms after all the actions are played, for a total of 2650 ms.
Figure 2. Example 2 for pausetimevalue
<actions>
       <prompt...
       <extract...
       <extract...
       <prompt...
       <insert...
       <pause value="150"/>
</actions>
Note that if this were an exit screen, the total sleep time would be 1650 ms. Also note that the ignorepauseforenhancedtn attribute of the <HAScript> element, and the ignorepauseoverrideforenhancedtn attribute of the <pause> element, if set, will effect whether the explicit <pause> element in this example is executed or ignored.