マクロ言語では、どの属性の値も二重引用符で囲む必要があります。 例えば、次の <mouseclick> エレメントでは、row と col 属性の値が二重引用符で囲まれます。
<mouseclick row="4" col="51" />
前述のように、マクロが拡張形式であっても、マクロ・エディター内のすべての入力フィールドで、ストリングが単一引用符 ('') で囲まれるわけではありません (ストリングと特殊文字の表記、演算子文字の取り扱いを参照)。 具体的には、拡張形式は、マクロ・エディターの次のタブ上の入力フィールドのみに影響を与えます。
同様に、マクロ言語では、拡張形式によって影響を受けるこれらの入力フィールドのいずれかに対応する属性に、ストリング値を指定する場合、そのストリングを拡張形式で入力する必要があります。 例えば、<message> エレメントでは、マクロが拡張形式である場合、両方の属性のストリングを単一引用符で囲む必要があります。
<message title="'Instructions'" value="'Check the java console'" />
しかし、属性が、拡張形式によって影響を受ける入力フィールドのいずれかに対応しない場合、マクロが拡張形式であっても、単一引用符で囲まれた値を入力する必要はありません。 例えば、<screen> エレメントの name 属性は単一引用符で囲みません。
<screen name="Screen1" entryscreen="true" exitscreen="true" transient="false" >
...
</screen>
マクロ言語エレメントについてのこの章の説明では、データ型を指定しないことによって、こうした属性 (拡張形式によって影響を受けない属性) を示します。 例えば、<screen> エレメントの name 属性の記述は、「必須のストリング」ではなく、「必須」です。
大部分の属性には、特定のデータ型 (ブール、整数、ストリング、倍精度、またはインポート) が必要です。 これらの属性には、マクロ・エディターと同じ規則が適用されます。
<actions> エレメント、<description> エレメント、および <nextscreens> エレメントは、<screen> エレメント内に存在する 3 つの基本構造エレメントです (マクロ画面の概念視点を参照)。
<actions> エレメントには、マクロの再生時にマクロ・ランタイムが実行する、アクションと呼ばれるエレメント (例えば、キー・ストロークのシミュレート、データの取り込みなど) が含まれます (マクロ・アクションを参照)。
<HAScript> エレメントの promptall 属性は、1 つのマクロ内のすべての <prompt> エレメントに対して同じ機能を実行します (<HAScript> エレメントを参照)。
<actions promptall="true">
...
</actions>
<attrib> エレメントは、行と列の位置、および 3270 または 5250 属性の値を指定するディスクリプターです (属性ディスクリプター (<attrib> エレメント)を参照)。
<attrib value="0x3" row="4" col="14" plane="COLOR_PLANE"
optional="false" invertmatch="false" />
<boxselection> エレメントは、セッション・ウィンドウ上でマーキング長方形をドローして、ユーザーがセッション・ウィンドウをクリックし、左マウス・ボタンを押さえたままマウスをドラッグして、マーキング長方形を作成するアクションをシミュレートします (ボックス選択アクション (<boxselection> エレメント)を参照)。
<boxselection srow="6" scol="16" erow="7" ecol="73" type="SELECT" />
<comment> エレメントは、<screen> エレメント内のサブエレメントとしてテキスト・コメントを挿入します。制限事項は次のとおりです。
コメントを挿入するもっと柔軟な方法は、XML スタイルのコメント大括弧 (<!-- -->) を使用することです。マクロ・スクリプトへのコメントの挿入を参照してください。
なし。
<screen name="Screen2" entryscreen="false" exitscreen="true"
transient="false">
<comment>This comment provides information about this macro screen.
</comment>
...
</screen><commwait> アクションは、セッションの通信状況が、指定されたなんらかの値に変わるのを待機します (通信待機アクション (<commwait> エレメント)を参照)。タイムアウト値を指定する必要があります。
<commwait value="CONNECTION_READY" timeout="10000" /><condition> エレメントは、マクロ・ランタイムが画面認識時に評価する条件式を指定します。式が true に評価される場合、マクロ・ランタイムはこのディスクリプターを true と評価します。式が false に評価される場合、マクロ・ランタイムはこのディスクリプターを false と評価します (条件ディスクリプター (<condition> エレメント)を参照)。
条件式の詳細については、条件演算子と論理演算子および式を参照してください。
<description>
<! Check the value of a variable -->
<condition value="$intPartsComplete$ == 4"
optional="false" invertmatch="false" />
<!-- Check the return value of a Java method -->
<condition value="$htHashTable.size()$ != 0"$
optional="false" invertmatch="false" />
</description><create> エレメントは変数を作成し、初期化します (変数の新規作成を参照)。
<create> エレメントは、<vars> エレメント内に存在する必要があります。
<HAScript ... usevars="true" ... >
<import>
<type class="java.util.Properties" name="Properties" />
</import>
<vars>
<create name="$prp$" type="Properties" value="$new Properties()$" />
<create name="$strAccountName$" type="string" value="" />
<create name="$intAmount$" type="integer" value="0" />
<create name="$dblDistance$" type="double" value="0.0" />
<create name="$boolSignedUp$" type="boolean" value="false" />
<create name="$fldFunction$" type="field" />
</vars>
...
</HAScript>
<cursor> エレメントは、セッション・ウィンドウ上のテキスト・カーソルの行と列の位置を指定するディスクリプターです (カーソル・ディスクリプター (<cursor> エレメント)を参照)。
<cursor row="4" col="14" optional="false" invertmatch="false" /><custom> エレメントを使用すると、マクロ画面の <actions> エレメント内から、カスタム Java プログラムを起動することができます。ただし、別個の Host Access Toolkit 製品を使用する必要があります。
プロセスの概要は次のとおりです。
<custom id="'MyProgram1'" args="'arg1 arg2 arg3'" /><custom id="'MyProgram1'" args="'arg1 arg2 arg3'" />
<custom id="'MyProgram2'" args="'arg1 arg2'" />この <customreco> エレメントを使用すると、カスタム記述コードにコールアウトすることができます。<customreco> エレメントを使用するには、別個の Host Access Toolkit 製品が必要です。
カスタム・ディスクリプターを作成する手順は、次のとおりです。
マクロ・ランタイムは、他のすべてのディスクリプターを実行した後、<customreco> エレメントを実行します。
<customreco id="'MyCustomDescriptor01'" optional="false" invertmatch="false" /><actions> エレメント、<description> エレメント、および <nextscreens> エレメントは、<screen> エレメント内に存在する 3 つの基本構造エレメントです (マクロ画面の概念視点を参照)。
<description> エレメントには、ディスクリプターと呼ばれるエレメントが含まれます。各ディスクリプターは、アプリケーション画面の識別特性を指定します (画面記述と画面認識を参照)。 マクロ・ランタイムは、ディスクリプターを使用して、マクロ画面をアプリケーション画面と一致させます。
<description uselogic="true">
...
</actions>
<else> エレメントは、一連のマクロ・アクションを含み、<if> エレメントの直後に存在しなければなりません。 マクロ・ランタイムは、<if> エレメント内の条件式を評価します。 次に、
マクロ・オブジェクトは、<if> エレメント、および必要に応じて <else> エレメントを使用して、条件アクションを保管します (条件アクション (<if> エレメントおよび <else> エレメント)を参照)。
なし。
<if condition="($var_int$ > 10)">
...
</if>
<else>
...
</else>この <extract> アクションは、セッション・ウィンドウからデータを取り込みます (抽出アクション (<extract> エレメント)を参照)。
下記のすべての属性の使用については、抽出アクション (<extract> エレメント)を参照してください。
<extract name="'Get Data'" srow="1" scol="1" erow="11" ecol="11"
assignto="$strText$" /><fileupload> エレメントはホスト・データベース内のテーブルの作成、置換、データの追加、または更新を行います (FileUpload アクション (<fileupload> エレメント)を参照)。
<fileupload url="'jdbc:as400://elcrtp06'"
driver="'com.ibm.as400.access.AS400JDBCDriver'"
userid="'myuser'"
password="Ex0bRtrf73mPrwGrWMT+/g=="
filename="e:¥¥tm¥¥db02.txt"
filetype="4"
table="'hod.hodtest01'"
uploadtype="append" /> <filexfer> アクションは、ワークステーションからホストへ、またはホストからワークステーションへ、ファイルを転送します (抽出アクション (<extract> エレメント)を参照)。
<filexfer direction="send" pcfile="'c:¥¥myfile.txt'"
hostfile="'myfile text A0'"
clear="true" timeout="10000" pccodepage="437" /> <HAScript> エレメントは、マクロ・スクリプトのマスター・エレメントです。 その他のエレメントを含み、マクロについてのグローバル情報を指定します (マクロ・スクリプトの概念視点を参照)。
True: <HAScript> の pausetime 属性と <screen> の pause 属性の両方が無視されます。入力/プロンプト・アクションの後、または画面間 で、一時停止は発生しません。これはデフォルト値です。
False <HAScript> の pausetime 属性、および <screen> の pause 属性は無視されません。
ignorepausetimeforenhancedtn は、非コンテンション解消環境で実行されている 場合は、影響がないことに注意してください。 つまり、ignorepausetimeforenhancedtn が true でも、非コンテンション解消環境 で実行されている場合は、<HAScript> の pausetime 属性、および <screen> の pause 属性は無視されません。
コンテンション解消環境でのマクロの実行方法に影響を 与える、ignorepauseforenhancedtn、delayifnotenhancedtn、およびその他 2 つの 属性について詳しくは、「マクロ・プログラミング・ガイド」を参照してください。 ignorepausetimeforenhancedtn の値を表示または変更するには、マクロ・エディター のコード・エディターを使用してください。
<HAScript name="ispf_ex2" description="ISPF Sample2" timeout="60000"
pausetime="300" promptall="true" author="Owner"
creationdate="Sun Jun 08 12:04:26 PDT 2003"
supressclearevents="false" usevars="true"
ignorepauseforenhancedtn="false"
delayifnotenhancedtn="0">
...
</HAScript><if> エレメントには、条件式と一連のマクロ・アクションが含まれています。 マクロ・ランタイムは、<if> エレメント内の条件式を評価します。 次に、
マクロ・オブジェクトは、<if> エレメント、および必要に応じて <else> エレメントを使用して、条件アクションを保管します (条件アクション (<if> エレメントおよび <else> エレメント)を参照)。
<vars>
<create name="$condition1$" type="string"/>
<create name="$condition2$" type="boolean" value="false"/>
<create name="$condition3$" type="integer"/>
</vars>
<screen>
<description>
...
</description>
<actions promptall="true">
<extract name="Get condition 1" srow="2" scol="1" erow="2"
ecol="80" assigntovar="$condition1$"/>
<extract name="Get condition 2" srow="3" scol="1" erow="3"
ecol="80" assigntovar="$condition2$"/>
<extract name="Get condition 3" srow="4" scol="1" erow="4"
ecol="80" assigntovar="$condition3$"/>
<if condition=
"(($condition1$ !='')&&
($condition2$)||($condition3$ < 100))">
...
</if>
<else>
...
</else>
</actions>
</screen><import> エレメント、<vars> エレメント、および <screen> エレメントは、<HAScript> エレメント内に存在する 3 つの基本構造エレメントです (マクロ・スクリプトの概念視点を参照)。
<import> エレメントはオプションです。 これには <type> エレメントが含まれ、それぞれが、Java クラスに基づいて インポート型を宣言します (Java クラスのインポート型の作成を参照)。
<import> エレメントは、<HAScript> 開始タグの後、かつ <vars> エレメントの前に存在しなければなりません。
なし。
<HAScript .... >
<import>
<type class="java.util.Properties" name="Properties" />
</import>
<vars>
<create name="$prp$" type="Properties" value="$new Properties()$" />
</vars>
...
</HAScript><input> エレメントは、キー・ストロークのシーケンスをセッション・ウィンドウに送信します。 このシーケンスには、文字 (例えば、a、b、c、#、& など) を表示するキー、およびアクション・キー (例えば、[enterreset]、[copy]、[paste] など) を含むことができます (入力アクション (<input> エレメント)を参照)。
<input value="'3[enter]'" row="4" column="14" movecursor="true"
xlatehostkeys="true" encrypted="false"/>
<message> エレメントは、表題、メッセージ、および「OK」ボタンを含む、ポップアップ・ウィンドウを表示します。 マクロ・ランタイムは、ユーザーが OK をクリックするまで待ってから、次のアクションに進みます (メッセージ・アクション (<message> エレメント)を参照)。
<message title="'Ready'" value="'Ready to process. Click OK to proceed.'" /><mouseclick> エレメントは、ユーザーによるセッション・ウィンドウ上のマウス・クリックをシミュレートします。 実際のマウス・クリックと同じように、テキスト・カーソルは、クリックが行われたときにマウス・アイコンがポイントしていた行と列の位置にジャンプします (マウス・クリック・アクション (<mouseclick> エレメント)を参照)。
<mouseclick row="20" col="16" />
<nextscreen> エレメントは、マクロ・ランタイムが、特に次に処理するマクロ画面の候補と見なす <screen> エレメント (マクロ画面) の名前を指定します (有効な次画面を参照)。
<nextscreen> エレメントは、<nextscreens> エレメント内に存在する必要があります。
<!--
The effect of the following <nextscreens> element and its contents
is that when the macro runtime finishes performing the actions in
the current screen, it adds ScreenS and ScreenG to the runtime list of
valid next screens.
-->
<nextscreens>
<nextscreen name="ScreenS">
<nextscreen name="ScreenG">
</nextscreens>
<actions> エレメント、<description> エレメント、および <nextscreens> エレメントは、<screen> エレメント内に存在する 3 つの基本構造エレメントです (マクロ画面の概念視点を参照)。
<nextscreens> エレメントには、複数の <nextscreen> エレメントが含まれ、各エレメントは、現行のマクロ画面の後に表示されるマクロ画面の名前を指定します (画面認識、パート 2を参照)。
<!--
The effect of the following <nextscreens> element and its contents
is that when the macro runtime finishes performing the actions in
the current screen, it will attempt to recognize ScreenS and ScreenG.
-->
<nextscreens>
<nextscreen name="ScreenS">
<nextscreen name="ScreenG">
</nextscreens>
<numfields> エレメントは、セッション・ウィンドウ内に存在する、すべての型の 3270 または 5250 フィールドの数を指定するディスクリプターです (「フィールド数 (Number of Fields)」ディスクリプター (<numfields> エレメント)を参照)。
<numfields number="10" optional="false" invertmatch="false" /><numinputfields> エレメントは、セッション・ウィンドウ内に存在する 3270 または 5250 入力フィールドの数を指定するディスクリプターです (「Number of Input Fields」ディスクリプター (<numinputfields> エレメント)を参照)。
<numinputfields number="10" optional="false" invertmatch="false" />
<oia> エレメントは、セッション・ウィンドウ内の入力禁止標識の状態を記述するディスクリプターです (「OIA が禁止解除になるのを待つ (Wait for OIA to Become Uninhibited)」ディスクリプター (<oia> エレメント)を参照)。
マクロ・ランタイムは、入力禁止標識がクリアされているときはこのディスクリプターを true として評価し、入力禁止標識が設定されている場合は false として評価します。
マクロ・ランタイムは、常にこのディスクリプターを true として評価します。
マクロ・ランタイムは、この式を評価してから、その結果に応じて、通常通りにディスクリプターを評価します。
<oia status="NOTINHIBITED" optional="false" invertmatch="false" /><pause> エレメントは、指定されたミリ秒数の間、待機します (休止アクション (<pause> エレメント)を参照)。
<pause timeout="5000"> <perform> エレメントは、インポートした Java クラスに属するメソッドを呼び出します (Java クラスのインポート型の作成を参照)。
<perform> エレメント以外の多くのコンテキストでも、メソッドを呼び出すことができます。 しかし、値を戻さないメソッドを呼び出したい場合は、<perform> エレメントが便利です (実行アクション (<perform> エレメント)を参照)。
<!-- Call the update() method associated with the class to which
importedVar belongs (such as mypackage.MyClass).
-->
<perform value="$importedVar.update( 5, 'Application', $str$)$" /><playmacro> エレメントは、現行のマクロを終了し、別のマクロを起動します (PlayMacro アクション (<playmacro> エレメント)を参照)。 このプロセスは、マクロのチェーニングと呼ばれます。
<playmacro> エレメントを <actions> エレメント内に配置する場所には、制限があります (PlayMacro アクションの追加を参照)。
Host Access Toolkit を使用する場合は、次のアクションを実行する必要があります。
<playmacro name="ispf_ex1.mac" startscreen="ScreenA"
transfervars="Transfer" /><print> エレメントは、印刷機能を提供します。 3 つの基本印刷アクション (開始、抽出、および終了) は、action 属性を使用して指定されます (印刷アクション (<print> エレメント)を参照)。
マクロ・ランタイムは、ユーザーが指定する「プリンター・セットアップ (Printer Setup)」オプションと「ページ・セットアップ (Page Setup)」オプションを使用して、現行のマクロに対して印刷 Bean オブジェクトのインスタンスを生成します (印刷開始を参照)。
多数のプリンター・セットアップ・オプションとページ・セットアップ・オプションがあるので、また、1 つのオプションを変更するにはその他の複数のオプションを調整する必要があるので、プリンター・セットアップ・オプションとページ・セットアップ・オプションの指定には、マクロ言語を使用しないでください。 代わりに、マクロ・エディターを使用して、印刷開始アクションを作成し、プリンター・セットアップ・ウィンドウとページ・セットアップ・ウィンドウを使用して、これらのオプションを指定してください (プリンター・セットアップとページ・セットアップを参照)。
マクロ・ランタイムは、ユーザーが指定するセッション・ウィンドウの長方形域からテキストをコピーし、そのテキストを現行の印刷 bean に送信します (印刷抽出を参照)。
マクロ・ランタイムは、印刷 bean が存在する場合、その bean を終了します (印刷終了を参照)。
<print action="start" assigntovar="$intReturnCode$" />
<print action="extract" srow="1" scol="1" erow="-1" ecol="-1" />
<print action="end" /><prompt> エレメントは、ユーザーに入力を求めるポップアップ・ウィンドウを表示し、ユーザーが OK をクリックするのを待ってから、その入力をセッション・ウィンドウに送信します (プロンプト・アクション (<prompt> エレメント)を参照)。
<prompt name="'ID'" row="1" col="1" len="8" description="'ID for Logon'"
default="'guest'" clearfield="true" encrypted="true"
assigntovar="$userID$" varupdateonly="true" required="true"/> <recolimit> エレメントは、<description>、<actions>、および <nextscreens> エレメントと同じレベルで、<screen> エレメント内に存在するオプションのエレメントです (認識限度 (「画面 (Screens)」タブの「一般 (General)」タブ)を参照)。
<recolimit> エレメントを使用すると、指定された回数より多くこのエレメントが表示されるマクロ画面をマクロ・ランタイムが処理する場合、処置を取ることができます。
<recolimit value="1" goto="RecoveryScreen1" /><runprogram> エレメントは、ネイティブ・アプリケーションを起動し、オプションとして、そのアプリケーションの終了を待機します。 このアプリケーションの入力パラメーターを指定し、戻りコードを変数に保管することができます (プログラム実行アクション (<runprogram> エレメント)を参照)。
<runprogram exe=
"’%ProgramFiles%¥Windows NT¥Accessories¥wordpad.exe’"
param="’c:¥¥tm¥¥new_file.doc’" wait="true"
assignexitvalue="$intReturn$" />
<message title="" value="’Return value is ’+
$intReturn$" /><screen> エレメント、<import> エレメント、および <vars> エレメントは、<HAScript> エレメント内に存在する 3 つの基本構造エレメントです (マクロ・スクリプトの概念視点を参照)。
マクロ内には、複数の screen エレメントが存在できます。 1 つの <screen> エレメントには、1 つのマクロ画面のすべての情報が入っています (マクロ画面とそのサブコンポーネントを参照)。
<screen> エレメントには、3 つの基本構造エレメント (<actions> エレメント、<description> エレメント、および <nextscreens> エレメント) が含まれます (マクロ画面の概念視点を参照)。
<screen name="ScreenB" entryscreen="false" exitscreen="false"
transient="false">
<description>
...
</description>
<actions>
...
</actions>
<nextscreens>
...
</nextscreens>
</screen>
<sqlquery> エレメントはデータベースに SQL ステートメントを送信し、SQL ステートメントから作成されたデータがあればこれを検索して、グローバル変数に格納したり、ファイルに書き込んだり、データを表示します (SQLQuery アクション (<sqlquery> エレメント)を参照)。
mlprops="key1@@value1
@@key2@@value2@@key3@@value3"ここで、key1、key2、key3 などは HTML または XML 設定の名前です。value1、value2、value3 などは HTML または XML 設定の値です。
コード・エディターを使用してこの属性を手動で設定できますが、これらの設定を変更する場合は、
SQL Wizard の対応する設定を変更し、値をマクロ・エディターに保管することを推奨します (SQL ウィザードの使用を参照)。
<sqlquery url="'jdbc:as400://elcrtp06'"
driver="'com.ibm.as400.access.AS400JDBCDriver'"
userid="'myuser'"
password="Ex0bRtrf73mPrwGrWMT+/g=="
statement="'SELECT * FROM HODTEST WHERE ((HODTEST.DESCRIPT is not null))'"
outputtype="1"
outfilename="'MyFile'"
outfiletype="4"
overwrite="true"
inbrowser="false" /> <string> エレメントは、文字のシーケンス、およびそのシーケンスがあるセッション・ウィンドウの長方形域を指定するディスクリプターです (ストリング・ディスクリプター (<string> エレメント)を参照)。
文字のシーケンスは、長方形ブロック内の任意の場所に存在することができます。
<!-- The string must occur in one specific area of a single row -->
<string value="'Utility Selection Panel'" row="3" col="28"
erow="3" ecol="51" casesense="false" wrap="false"
optional="false" invertmatch="false" />
<!-- The string can occur in any single row of the session area -->
<string value="'Utility Selection Panel'" row="1" col="1"
erow="-1" ecol="-1" casesense="false" wrap="false"
optional="false" invertmatch="false" />
<trace> エレメントは、ユーザーが指定するトレース宛先 (例えば、Java コンソール) に、トレース・メッセージを送信します (トレース・アクション (<trace> エレメント)を参照)。
<trace type="SYSOUT" value="’The value is ’+$strData$" /><type> エレメントは、Java クラス (例えば、java.util.Properties) を表す インポート型 (例えば、Properties) を宣言します。 型を宣言した後、その型に基づいて変数を作成し、Java クラスのインスタンスを作成し、そのインスタンスでメソッドを呼び出すことができます (Java クラスのインポート型の作成を参照)。
また、型は、静的メソッドを直接呼び出すのにも使用できます (インスタンスを生成する必要がありません)。
<type> エレメントは、<import> エレメント内に存在する必要があります。
<import>
<type class="java.util.Date" name="Date"/>
<type class="java.io.FileInputStream"/>
<type class="com.ibm.eNetwork.beans.HOD.HODBean" name="HODBean"/>
<type class="myPackage.MyClass" name="MyClass"/>
</import>
<vars> エレメント、<import> エレメント、および <screen> エレメントは、<HAScript> エレメント内に存在する 3 つの基本構造エレメントです (マクロ・スクリプトの概念視点を参照)。
<vars> エレメントはオプションです。 このエレメントには、複数の <create> エレメントが含まれ、各エレメントは、変数を宣言し、初期化します (変数の新規作成を参照)。 <vars> エレメントは、<import> エレメントの後、かつ最初の <screen> エレメントの前に存在しなければなりません。
変数を使用するには、<HAScript> 内の usevars エレメントを true に設定する必要があります。
なし。
<HAScript ... usevars="true" .... >
<import>
<type class="java.util.Properties" name="Properties" />
</import>
<vars>
<create name="$prp$" type="Properties" value="$new Properties()$" />
<create name="$strAccountName$" type="string" value="" />
<create name="$intAmount$" type="integer" value="0" />
<create name="$dblDistance$" type="double" value="0.0" />
<create name="$boolSignedUp$" type="boolean" value="false" />
<create name="$fldFunction$" type="field" />
</vars>
...
</HAScript><varupdate> エレメントにより、マクロ・ランタイムは、指定された値を指定された変数に保管します。 この値は、即時値、変数、Java メソッドの呼び出し、またはこれらの値のいずれかを含むことができる演算式にすることができます。 値が式である場合、マクロの再生時に、マクロ・ランタイムはその式を評価し、指定された変数に結果の値を保管します (変数更新アクション (<varupdate> エレメント)を参照)。
また、<description> エレメント内の <varupdate> アクションを使用することもできます (変数更新アクション (<varupdate> エレメント)を参照)。
変数の詳細については、変数とインポートした Java クラスを参照してください。
<type>
<type class="mypackage.MyClass" name="MyClass" />
<type class="java.util.Hashtable" name="Hashtable" />
<type class="java.lang.Object" name="Object" />
</type>
<vars>
...
</vars>
<screen>
<description>
...
</description>
<actions>
<varupdate name="$var_boolean1$" value="false" />
<varupdate name="$var_int1$" value="5" />
<varupdate name="$var_double1$" value="5" />
<varupdate name="$var_string1$" value="'oak tree'" />
<varupdate name="$var_field1$" value="4,5" />
<!-- null keyword -->
<varupdate name="$var_importedMC1$" value="null" />
<!-- Equivalent to null keyword for an imported type -->
<varupdate name="$var_importedMC2$" value="" />
<varupdate name="$var_importedMC4$"
value="$new MyClass( 'myparam1', 'myparam2' )$" />
<varupdate name="$var_importedMC5$"
value="$var_importedMC4$" />
<varupdate name="$var_importedMC6$"
value="$MyClass.createInstance( 'mystringparam1' )$" />
<varupdate name="$var_boolean2$"
value="$var_importedMC4.isEmpty()$" />
<varupdate name="$var_int2$"
value="$($var_importedMC4.getHashtable()$).size()$" />
<varupdate name="$var_double2$"
value="$var_importedMC4.getMeters()$" />
<varupdate name="$var_string2$"
value="$var_importedMC4.toString()" />
</actions>
</screen>