variable-decl blocks can be marked to allow them to be prompted for separately, based on user input.
DTD changes:
-----------
* <!ENTITY % CompareMode "equals | not-equals">
<!--******************************************************** -->
<!--The variable-decl element contains definitions of variables -->
<!-- whose values can be prompted for and referred to throughout -->
<!-- the pre-configured driver file. -->
<!-- *********************************************************** -->
<!ELEMENT variable-decl(
node-var*,
text-var*)>
* <!ATTLIST variable-decl
* <!-- The following are used in the support of flexible -->
* <!-- prompting. -->
* use-when-var CDATA #IMPLIED
* use-when-value CDATA #IMPLIED
* use-when-mode (%CompareMode) "equals"
>
* Added for flexible prompting.
All variable-decl blocks with no use-when-var attribute are added to the prompt set.
All variable-decl blocks with a use-when-var attribute where the variable is defined and the variable value meets the condition are added to the prompt set.
Variable analysis includes built-ins and variables carried forward from any previous import.
The user is prompted.
The prompt set is emptied and Steps 2 and 3 are repeated until there are no more prompts to process or all variable-decl blocks have been processed.
The import proceeds as before.
NOTE:The comparisons for use-when-var variables are case insensitive.
<variable-decl use-when-var="varCheck" use-when-value="Fu" use-when-mode="equals">
<text-var prompt="When Fu?" var-name="fuVar"/>
</variable-decl>
<variable-decl use-when-var="varCheck" use-when-value="Fu" use-when-mode="not-equals">
<text-var prompt="When not Fu?" var-name="fuVar"/>
</variable-decl>
<variable-decl>
<text-var prompt="Which other <variable-decl>?" var-name="varCheck">
<dropdown>
<value>Fu</value>
<value>Bar</value>
</dropdown>
</text-var>
</variable-decl>
In this example, the user would be prompted with a drop-down list. The description of the drop-down list is “Which other <variable-decl>?” The options in the list are Fu and Bar.
If the user select Fu from the drop-down and clicks , he or she is prompted again with a box. The description of the box is “When Fu?”
If the user selects anything else from the drop-down list and clicks , he or she is prompted with another box. The description of the box is “When not Fu?”
<variable-decl use-when-var="varCheck" use-when-value="Fu">
<text-var prompt="When Fu?" var-name="fuBarVar"/>
</variable-decl>
<variable-decl use-when-var="varCheck" use-when-value="Bar">
<text-var prompt="When when Bar?" var-name="fuBarVar"/>
</variable-decl>
<variable-decl>
<text-var prompt="Which other <variable-decl>?" var-name="varCheck"/>
</variable-decl>
In this example, the user is presented with a box. The description of the box is “Which other <variable-decl>?” If the user specifies “Fu” in the box and clicks , he or she is presented with another box. The description on the second box is “When Fu?”
If the user specifies “Bar” in the box and clicks , he or she is presented with a box. The description is “When Bar?” If he or she specifies anything else, there are no further prompts and the variable fuBarVar is not defined.