独自のウィザードを作成する最初の手順は、インタフェースと出力パラメータを定義する VTML ファイルの作成です。この節では、プロセスのこの部分で使用される VTML タグについて説明し、定義ファイルの例を示します。
次は、ウィザード定義ファイル用のタグ セットの階層です。
WIZARD -- ファイル全体の包囲タグ。名前、キャプション、および既定のイメージを持つ新しいウィザードを定義します。
PARAM -- WIZARD タグのサブタグとして使われると、ウィザードが出力の生成に使うパラメータを定義します。これらのパラメータはウィザード出力テンプレートとともに使うことができます。
TEMPLATE -- 出力テンプレートを定義し、テキスト出力に使われるファイルを識別します。
PAGE -- どのページ クラスをロードするかを決めるウィザード ページを定義します。
PARAM -- PAGE タグのサブタグとして使われると、ページ クラスの動作を設定します。複数のウィザードで再利用することを目的とした標準的なページの場合に役立ちます。
INPUT -- ウィザード ページ上の入力コントロールを定義します。INPUT コントロールの NAME 属性が、ウィザード ページ上のコントロールの名前だけでなく、WIZARD タグ内に定義されている PARAM の名前にも一致すると、INPUT コントロールは、コードを明示的に書かなくても、他のコントロールのパラメータに自動的にバインドされます。
NEXTPAGE -- NEXTPAGE タグを使うと、条件式の値に基づいてページ間の複雑な経路を指定することができます。
PAGELAYOUT -- コンテナとコントロールに使う VTML 構文と同じです。
次の表では、ウィザード定義ファイル作成用のすべての VTML 構文を示します。
属性 | 説明 |
---|---|
NAME | オプション。特定のウィザードに属するページの名前を解明するときに使います。構文 WizardName.PageName を使って登録することができます。
|
CAPTION | オプション。ウィザードのタイトル バーに表示するキャプション。 |
IMAGE | オプション。ウィザード内のページに使う既定のビットマップ イメージ。 |
属性 | 説明 |
---|---|
NAME | パラメータの名前。 |
VALUE | パラメータの初期値。 |
REQUIRED | オプション。ウィザード マネージャでは、必要なすべてのパラメータを入力するまで、[終了] ボタンが有効になりません。 |
属性 | 説明 |
---|---|
NAME | ウィザード (.wml) 出力テンプレートのファイル名。 |
OUTPUTFILE | テンプレートを処理した結果をベースにして、出力が書き込まれるファイルの名前。 |
OUTPUTPATH | オプション。ファイルの出力ディレクトリ。既定では変数 LOCATION の値になります。ユーザがこの値を指定できるウィザード ページを作成しなければならないので注意してください。 |
DESCRIPTION | オプション。出力要約ページ内で使われる、ウィザード ページの目的の説明。 |
属性 | 説明 |
---|---|
TYPE | ダイナミック ウィザードの場合は必須。"Dynamic" - VTML レイアウト |
NAME | ページの名前。 |
CAPTION | ページ上部に表示されるキャプション。 |
IMAGE | オプション。ウィザードの既定のビットマップを書き換えるイメージ。 |
CONDITION | オプション。ページを表示するかどうかを決める条件式。 |
NEXTPAGE | オプション。現在のページの次に移動するページの名前。既定のページは、コンフィギュレーション ファイル内で定義された次のページです。 |
属性 | 説明 |
---|---|
VTML の EDITORLAYOUT に類似 | |
なし |
属性 | 説明 |
---|---|
NAME | パラメータの名前。 |
VALUE | パラメータの値。 |
REQUIRED | True/False または YES/NO (ダイナミック式の結果を使うこともできます)。パラメータの値が必須であるかどうかを決定します。ウィザード マネージャでは、すべての必須パラメータが入力されるまで、[終了] ボタンが有効になりません。 |
属性 | 説明 |
---|---|
NAME | INPUT がバインドされるフォーム コントロールの名前。 |
PARAM | オプション。INPUT がバインドされるパラメータの名前。既定値は、NAME 属性です。 |
DEFAULT | オプション。入力の既定値。 |
REQUIRED | オプション。入力が必要かどうかを指定します。 |
VALIDATIONMSG | オプション。入力が必要なのに値が入力されていない場合に表示されるメッセージ。 |
LISTCONTENTS | オプション。TCustomListBox または TCustomComboBox をベースにした入力が必要な場合は、コンマで区切られたリストを使って値をリストに加えます。 |
属性 | 説明 |
---|---|
NAME | 次に開くページの名前。 |
CONDITION | ページに移動するかどうかを決める条件式。複数の NEXTPAGE タグを指定した場合は、CONDITION に一致する最初のページが次のページになります。 |
タグ属性には、スタティックな固定テキストと、パラメータや入力コントロールを参照する組込型ダイナミック式を組み合わせることができます。テキスト文字列に式を組み込むには次の構文を使います。
$${ expression }
たとえば、別の値が設定されているかどうかを基にパラメータの REQUIRED 属性を設定するには次の構文を使います。
<PARAM NAME="RowsPerPage" VALUE="10"
REQUIRED="$${ ParameterExists('Customize') }">
あるいは、ユーザによって入力された名前の属性を使って TEMPLATE タグの OUTPUTFILE 属性をカスタマイズするには次の構文を使います。
OUTPUTFILE="$${Name}Admin.cfm">
ウィザード コンフィギュレーション ファイル内でサポートされている式構文は、ウィザード出力テンプレート内でサポートされる構文と同じです (詳細は、リファレンスの節を参照してください)。
ウィザード ページの最も強力な機能の 1 つが Bound コントロールです。Bound コントロールを使うと、ウィザード ページにコントロールを配置し、それらのコントロールの値を自動的にウィザード パラメータにバインドすることができます。この操作を行うには、バインドする各コントロールの PAGE タグに INPUT サブタグを追加するだけです。この場合は、INPUT タグの NAME 属性がコントロールの NAME プロパティに一致していることを確認してください。レイアウト内で指定されたすべてのコントロールをバインドすることができます。
次のサンプル コードは HTML テンプレートを作成します。
<WIZARD NAME="DefaultTemplate" CAPTION="既定の HTML テンプレート">
<!--- ウィザード パラメータ --->
<PARAM NAME="sDocType" VALUE="HTML 4.0" REQUIRED="true">
<PARAM NAME="sTitle" VALUE="">
<PARAM NAME="bMetaDescr" VALUE="false">
<PARAM NAME="sMetaDescr" VALUE="">
<PARAM NAME="bMetaKeywords" VALUE="false">
<PARAM NAME="sMetaKeywords" VALUE="">
<!--- ウィザード パラメータ --->
<!--- 属性のページ --->
<PAGE NAME="DocAttribs" TYPE="DYNAMIC"
CAPTION="HTML ドキュメントの属性"
IMAGE="..\\images\\main.bmp">
<PAGELAYOUT>
<CONTROL NAME="lblDocType" TYPE="label"
DOWN="10" RIGHT="10"
WIDTH="90"
CAPTION="ドキュメントのタイプ :"
/>
<CONTROL NAME="ddDocType" TYPE="DropDown"
EDITABLE="no"
ANCHOR="lblDocType" corner="NE" WIDTH="MAXIMUM" down="-5">
<ITEM CAPTION="HTML 2.0" VALUE="HTML 2.0"/>
<ITEM CAPTION="HTML 3.2" VALUE="HTML 3.2"/>
<ITEM CAPTION="HTML 4.0" VALUE="HTML 4.0"/>
</CONTROL>
<CONTROL NAME="lblTitle" TYPE="label"
ANCHOR="lblDocType" CORNER="SW" down="20"
WIDTH="90"
CAPTION="タイトル :"
/>
<CONTROL NAME="tbTitle" TYPE="TextBox"
ANCHOR="lblTitle" CORNER="NE" WIDTH="MAXIMUM" down="-5"
/>
<CONTAINER NAME="pnlMetaDescription" TYPE="Panel"
CAPTION="メタ記述"
ANCHOR="lblTitle" CORNER="SW" DOWN="20"
WIDTH="MAXIMUM" MAXWIDTHPADDING="10" HEIGHT="80"
LFHEIGHT="90">
<CONTROL NAME="chkMetaDescr" TYPE="CheckBox"
CAPTION="メタ記述を追加 :"
DOWN="20" RIGHT="15"
WIDTH="MAXIMUM"/>
<CONTROL NAME="tbMetaDescr" TYPE="TextBox"
ANCHOR="chkMetaDescr" CORNER="SW" DOWN="8"
WIDTH="MAXIMUM"/>
</CONTAINER>
</PAGELAYOUT>
<INPUT NAME="ddDocType" PARAM="sDocType">
<INPUT NAME="tbTitle" PARAM="sTitle" REQUIRED="yes" VALIDATIONMSG=
「ドキュメントのタイトルを入力してください」または同等のメッセージ>
<INPUT NAME="chkMetaDescr" PARAM="bMetaDescr">
<INPUT NAME="tbMetaDescr" PARAM="sMetaDescr">
</PAGE>
<!--- 属性のページ --->
<PAGE NAME="MetaKeywords" TYPE="DYNAMIC"
CAPTION="メタ キーワード"
IMAGE="..\\images\\main.bmp">
<PAGELAYOUT>
<CONTROL NAME="chkMetaKeywords" TYPE="CheckBox"
CAPTION="メタ キーワードを追加 : "
DOWN="15" RIGHT="10"
WIDTH="MAXIMUM"/>
<CONTROL NAME="taMetaKeywords" TYPE="TextArea"
ANCHOR="chkMetaKeywords" CORNER="SW" down="10"
HEIGHT="MAXIMUM" width="MAXIMUM"/>
</PAGELAYOUT>
<INPUT NAME="chkMetaKeywords" PARAM="bMetaKeywords">
<INPUT NAME="taMetaKeywords" PARAM="sMetaKeywords">
</PAGE>
<!--- 出力テンプレート --->
<TEMPLATE
NAME="Custom.wml"
OUTPUTFILE="MyFile.cfm"
DESCRIPTION="新規 HTML ファイル">
</WIZARD>