C.2 ドライバ設定ファイルの柔軟なプロンプト

variable-declブロックは、ユーザの入力に基づき、個別にプロンプトされるようにマークできます。

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.

セマンティック

  1. use-when-var属性が設定されていないすべてのvariable-declブロックは、プロンプトセットに追加されます。

  2. 変数が定義され、変数値が条件を満たしている、use-when-var属性が設定されているすべてのvariable-declブロックは、プロンプトセットに追加されます。

    変数の分析には、以前のインポートから渡された組み込み変数と変数が含まれます。

  3. ユーザはプロンプトされます。

  4. プロンプトセットが空になり、処理するプロンプトがなくなるまで、またはすべてのvariable-declブロックが処理されるまでステップ2と3が繰り返されます。

  5. インポートはこれまでどおり進められます。

    メモ:use-when-var変数の比較では、大文字と小文字が区別されます。

例1

     <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>

この例では、ユーザにはドロップダウンリスト付きのプロンプトが表示されます。ドロップダウンのdescriptionは、“Which other <variable-decl>?”です。リスト内にあるオプションは、[Fu]と[Bar]です。

ドロップダウンから[Fu]を選択して、[次へ]をクリックすると、ボックス付きのプロンプトが再度表示されます。そのボックスのdescriptionは、“When Fu?”です。

ドロップダウンリストから何か他のオプションを選択し、[次へ]をクリックすると、別のボックス付きのプロンプトが表示されます。そのボックスのdescriptionは、“When not Fu?”です。

例2

<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>

この例では、ユーザにボックスが表示されます。そのボックスのdescriptionは、“Which other <variable-decl>?”です。ボックス内で"Fu"を指定し、[次へ]をクリックすると、別のボックスが表示されます。2番目のボックスのdescriptionは、“When Fu?"です。

ボックス内で"Bar"を指定し、[次へ]をクリックすると、別のボックスが表示されます。descriptionは、“When Bar?”です。この2つ以外のものを指定すると、プロンプトは表示されず、変数fuBarVarは定義されません。