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.